Plasma 5.8 will be our first long term support release of Plasma 5 and together with Qt 5.6 also being an LTS release this makes for a rock-solid combo. Let’s have a look at some of the tweaks I did on the occasion.
Task manager drag and drop
I recently stumbled upon a feature request about the ability to drop files onto a task manager entry to have the associated application open them. You can pin applications to the task manager after all, so why would those launchers behave differently from other application icons?
Dropping application shortcuts, for instance from Kickoff, will pin them as launchers, instead. Also, hovering a task entry whilst dragging something will still raise the respective window to the front.
Improved right-to-left languages support
One area that had been quite neglected is support for right-to-left languages, such as Hebrew, mostly because none of us Plasma core developers are native to such writing systems.
Over the past weeks I fixed many glitches when plasmashell run in “mirrored” mode, such as:
- System tray, applet popups and config dialog contents not being mirrored
- The panel pushing widgets out the right side of the screen when widgets are locked
- The calendar being messed up
QML fortunately makes it easy to mirror your layout using the LayoutMirroring attached property which flips horizontal anchors (left anchors become right anchors and vice-versa) and the order in which items are laid out in a Row:
LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft LayoutMirroring.childrenInherit: true
“childrenInherit” lets it propagate this to all child elements. Since it operates on a per-scene basis, enabling this on the panel does not propagate to popup windows. You still need to take layout direction into account when positioning items manually with the “x” and “y” properties.
Want to help? Just run plasmashell (or any Qt application for that matter) with the “-reverse” parameter and report bugs and send patches!
Note: If your applications did not automatically mirror, make sure the Qt translations package (e.g. qttranslations5-l10n in *buntu) is installed. QGuiApplication’s layout direction detection (say that five times in a row) decides based on a “translate this as 1 if this is a right-to-left language” string which requires the aforementioned package to work.
Some media controller goodies
One of my favorite features in Plasma is the media controller applet that lets me control my music. This is probably why I constantly tweak and improve it. Here’s some neat tricks that you can do with the media controller:
- Middle click the icon to pause/unpause
- If you have them, use your forward/back mouse buttons on the icon to change tracks (new in Plasma 5.8)
- While the popup is open, you can also use various keyboard shortcuts, such as:
- K or space: play/pause
- P or N: go to previous/next song
- Left/right arrow / J or L: seek back/forward
- S: stop playback
- numbers 0 through 9: seek to 0%, 10%, 20%, etc of the current song
Did you know that you can use your mouse wheel on the particular icon to adjust volume or screen brightness? Middle clicking the volume icon will also mute and unmute.
In the applet’s context menu you can, provided the player supports this, bring its window to the front when minimized. Unfortunately, VLC player does not support that. However, since I’ve always wanted to know what a media player looks like on the inside, I cloned VLC player’s git repository and submitted my first patch there, fixing said feature.