Changing the <Alt>+(LMB-Drag) behaviour of Linux, under the Plasma 5 desktop manager.

One of the realities of many graphics / editing applications is, that the action to drag either an object or one of its handles with a mouse, or with any other pointing-device, needs to be modified in several ways, depending on what, exactly, the user expects the application to do. I have recently encountered a Web-application, which therefore displays in a Web-browser, in which to hold down the Shift-Key while dragging the corner of a rectangle does one thing, holding down the Ctrl-Key while doing so does another, and holding down the Alt-Key performs yet-another action, which in this case was, to draw an ellipse instead of a rectangle. And in this Web-application, the ability to draw circles or ellipses would eventually become important.

The problem with any application that has this as one of the inputs it accepts, is that such applications were never designed with Linux in mind. The reason is the fact that, under Linux desktop-managers, to <Alt>+(LMB-Drag) gets intercepted, and has as effect to drag the entire application window. That Web-application never receives such a combination of inputs.

Fortunately, if the desktop-manager is one of the ‘Plasma 5′ sub-versions, there is a way to change that behaviour. It can be found under:

System Settings -> Application Style -> Widgets Style and Behaviour -> Applications Tab -> (Breeze Theme from Drop-Down) -> (To the right of the theme chosen from the Drop-Down) Configure… -> General Tab -> Windows’ drag mode -> (From the drop-down) ‘…Titlebar Only’.

That last drop-down is not wide enough to show its full text.

The reason this defaults to ‘Anywhere from within the window’, is a fear that might exist, that an application’s window could end up very-incorrectly positioned on the screen, and that a user might not be able to change that position, by the next time he starts the application. I.e., some applications remember their window-position from one session to the next, and it could be screwed up. If this behaviour is changed, <Alt>+(LMB-Drag) will only drag the window, and therefore be intercepted before it reaches the application, if the mouse-pointer can be positioned over the window’s title-bar.

Continue reading Changing the <Alt>+(LMB-Drag) behaviour of Linux, under the Plasma 5 desktop manager.

About the Frame-Rate of Hardware-Accelerated Animations.

One of the subjects which I’ve posted about before, is that in the case of typical hardware-accelerated animations, the frame-rate, which some people just know as ‘the FPS of the animation’, is actually lower than the refresh-rate of the monitor.

Well, if the user is running Plasma 5 as his desktop-manager – which is Linux-based – then he can open ‘System Settings -> Desktop Behaviour -> Desktop Effects’, and he will see a list of available compositing effects, that would all be hardware-accelerated, and under the section of ‘Tools’, there is an effect named ‘Show FPS’. Enabling that effect, and then clicking on ‘Apply’, will cause a piece of OSD information to display, that actually shows the frame-rate. The user will notice that it does not equal the refresh rate of his monitor.

But there is a catch to this. Often, the rendering software will place an upper limit on the frame-rate. Frame-rates actually higher than the refresh rate of the display device accomplish no useful purpose, and there used to be a simple, command-line test which Linux users could run, which was called ‘glxgears’. This would display a very simple animation, of a red, a green and a blue gear, rotating smoothly. In very early versions of this test-program, a frame-rate of something unreasonable, such as 2000 or maybe even 5000 FPS might result, which simply represents a waste of GPU power. The gears would still rotate at the same, correct apparent speed, but each frame-cycle would be fewer than 1 millisecond apart on average. Therefore, more-recent versions of this test-program will cap the frame-rate at the refresh rate of the monitor, and the gears will display as rotating at the same, smooth speed.

Dirk

 

An update on how to use Latte-Dock.

One of the features which I have posted about recently, is the Plasma 5 add-on called ‘Latte-Dock’. Specifically I wrote, How the user can install version 0.6.0 of this add-on, if it isn’t in the package repositories. What I had also written was, that a safe practice in using Latte-Dock would be, to keep the default Plasma 5 application-launcher in his panel, as a back-up, so that he will always have an application-launcher to click on, even if Latte-Dock crashes.

Well since then I have learned that a more avant-garde way exists to use Latte-Dock, which is, to place the default application-launcher onto the dock as well. This can easily be done because the default application launcher is a widget like any other, which can be dragged to this dock. As an additional detail, a method exists to get v0.6.0 of Latte-Dock to open the application launcher, by just pressing the Super Key, assuming that it has been added to the dock. The instructions I’ve just linked to do not count for later versions of Latte-Dock because those versions already have a check-box in their GUI, which does the same thing.

Hence, I’ve decided to be more progressive in my test-setup for Latte-Dock, and have also placed my only application-launcher onto this dock:

Screenshot_20190329_070015

There is one detail which the reader should note however. I have kept one quick-launcher in the upper-left-hand corner of the screen, in the Plasma panel: The launcher that restarts Latte-Dock from the GUI with one click. The reason I have kept this safeguard is the observation that Latte-Dock can still crash from time to time, which means that the user would be without an application launcher, until he or she gets to restart the dock.

But this way, the layout of that desktop is even more different from the Windows-like layout – common to Plasma 5 and KDE 4 – than it only was a few days ago.


 

(Update 3/21/2021, 20h25: )

By now, ‘latte dock’ no longer works on the computer I name ‘Phosphene’. But I also think I know why. What latte-dock now does, when launched, is, to run apparently without error messages, but, not to display on the desktop.

In the meantime, what I have done is, to install two parallel desktop-managers, one of those still being ‘Plasma 5′, and the other being ‘LXDE’, because I have practical use for LXDE. When this is successful under Debian, it leads to a log-in screen, from which a user sitting in front of the computer can decide which Desktop Environment he or she would like to log in with. From there, in principle, it should still be possible to use latte-dock as the launcher, if the user logged-in to a Plasma 5 session.

However, in order to get this to work, I also needed to install more than one display manager, and then to reconfigure my display managers (globally – ‘above all sessions’). Previously, I had ‘sddm’ as my display manager. But presently, Phosphene’s active display manager is ‘lightdm’.

(…)


 

 

(Update 3/26/2021, 0h45: )

After much time and contemplation, I was able to get Latte Dock to work again! :D

Apparently, what had first caused the app to stop working, was the mere need to be recompiled, against updated libraries. However, I had forgotten to heed advice which I had given myself, on my own blog, about how to do so. The short-term result of that was, that parts of Latte Dock were installed to ‘/usr/share’, while other parts of it were installed to ‘/usr/local/share’. Apparently, when a QML script loads a module, it will search in both locations for the folder-names, that identify the module. And then, If, in an inconsistent fashion, the meta-data in one of the folders does not load properly, the QML Script which tried to import that, will itself fail to load…

I now have it sorted out, and Latte Dock, v0.6.0, works again, on my Debian 9 / Stretch computer, which only has Plasma 5.8 and Qt Libraries 5.7.1 .


 

 

(Screen-Shot Added 3/26/2021, 11h10: )

 

Screenshot_20210326_102352

 

Dirk

 

Yet another 3rd-Party, as in KDE-Store, Widget, that can help us Personalize the Linux Experience.

One of the subjects which I’ve been writing about is, that in principle, it’s possible to create a Linux, Plasma 5.8 (+) workspace, that resembles an OS/X computer somewhat, in that at least it has a dock. Well if one sets about to do that seriously, then one is also looking for ways to keep the total number of applets on that dock to a minimum, while giving the fastest possible access to all the features which we have a computer for.

Well one tool which can help users accomplish that, is The Places Widget, from the KDE Store. Don’t worry, the widgets available at this ‘store’ don’t cost any money, and if the reader doesn’t have a Linux computer, which happens to be running ‘KDE 4′ or ‘Plasma 5′ as its desktop manager, then there is no point to read any further, because nothing in the KDE Store could ever be of any interest otherwise.

But this one widget has a surprisingly simple premise: The user can define ‘Places’, a set of URIs or locations, within the Dolphin File Browser, that have always existed unobtrusively within Plasma 5. They include a collection of local and remote Folders, a collection of ‘timeline:/’ URIs which must first be Added to Places, a collection of Searches (…), and the current set of Connected Devices:

Screenshot_20190326_184606

Then, once the user has done that, the widget in question can be added to a Plasma 5.6 (+) Panel, so that when clicked on once, a fly-out opens, that gives access to all the defined ‘Places’ with one more click:

Screenshot_20190326_184726

Why does this interest me? Because, while the developer first intended for this widget to be added to the Panel of a regular Plasma 5 desktop, it can be added just as easily to the ‘Latte-Dock’, that I wrote about in the earlier posting linked to above. In fact, I’ve made it part of my recent test-project, to set up an OS/X -like desktop on the computer I name ‘Phosphene’…

Continue reading Yet another 3rd-Party, as in KDE-Store, Widget, that can help us Personalize the Linux Experience.