One of the facts about Linux that may not be very popular with some computing enthusiasts is that the mainstream Desktop Managers – ‘KDE’, ‘Plasma’, ‘Unity’, ‘GNOME’, ‘LXDE’, etc., are different from each other, are sometimes similar to a Windows-layout – especially KDE / Plasma – but are not very similar to a MacIntosh, OS/X layout. Yet, efforts have existed to create OS/X -like desktop managers for Linux, and one of the more recent projects is “Latte-Dock“.
What makes Latte-Dock different from otherwise similar projects such as “Cairo-Dock”, is that Latte-Dock assumes that we have Plasma installed, which must be of at least version 5.8, and does not conflict with the fact that we do. And the fact that my Debian / Stretch computer, which I name ‘Phosphene’, is not even a Ubuntu computer, did not prevent me from installing Latte-Dock 0.6.0. Latte-Dock does not start unless the user starts it, and the way I go about testing such software is, that I create additional users on the computer in question, as if I was going to allow a guest to share my computer, so that in the user-space of the additional accounts, personal settings can activate Latte-Dock.
One of the ways in which Debian, Plasma 5 -based computers are strong, is in allowing the user to create more than one graphical log-in, to more than one virtual session, between which we can switch by clicking <Ctrl>+<Alt>+<F8>, or, back to the first virtual session, with <Ctrl>+<Alt>+<F7>… So my auxiliary user-identity is installed with this desktop manager, that’s designed to be similar to OS/X, at least in its appearance.
I think that this is nice software, with two major flaws:
- On ‘Phosphene’, if I select the settings either to
PreviewWindows (of open applications, as the mouse passes over the dock-icons), or to Highlight those windows, these settings cause the Dock to die. This is not tragic, because when running Latte-Dock, we still have at least one Plasma-Panel active, along the top of the screen, from which we can still choose applications to run, or from which we can drag application-icons to the Dock. (:1) This means that when the Dock has in fact crashed, I can simply have a Favourite Application -icon ready, to restart it. But the down-side with this could be, that it makes the application look bad, when in fact the culprit just seems to be, the fact that my graphics card is not strong enough to display these previewed or highlighted windows. And Latte-Dock is extremely GPU-intensive.
- With Plasma 5.8 as the limiting factor, there appears to be no way to get a Global Application Menu working. Such applets do exist as software-projects for higher versions of Plasma than 5.8, but it cannot seem to be achieved for version 5.8 . So the OS/X experience is not 100% complete.
But if I respect these two limitations, that may not even be the fault of the Devs, I find this to be an interesting and stable piece of software.
(Updated 3/27/2019, 21h35 … )
(As of 3/24/2019, 21h40 : )
I have noticed an idiosyncrasy in how the Dolphin file-browser authenticates itself as a Samba Client. On my server named ‘Phoenix’, I have read-only access allowed to Home Shares. At the same time, on the computer I name ‘Phosphene’, I have a user with the same user-name as the user-name on ‘Phoenix’, who is supposed to get read-only access to the share. That userid, my main identity, obtains the access it is supposed to obtain.
But now I have created a secondary userid on ‘Phosphene’, which no longer matches the other userid. However, that userid is configured as well as the GUI allows me to configure it, to use the same userid nevertheless, to authenticate – differently from its user-name on ‘localhost’. What’s supposed to happen is, that that userid should also be able to access the ‘Home Share’ belonging to the first userid, because the Samba Client is able to provide the password needed to authenticate that primary userid.
But what happens instead, due to the details of how the Samba-Client works, is that it first identifies itself with its local userid – but to the remote server. Then, the Client gets to see which shares are potentially available. The Home Share is not on the list. Only after choosing one of the Shares which was shown as potentially available, does the Client on ‘Phosphene’, acting for the secondary userid, use the primary userid to authenticate, obtaining access to the User-Shares on ‘Phoenix’, which the primary userid was supposed to obtain access to, and to the extent with which the primary userid was authorized.
Just because of that, in practice, I’ve needed to create an additional User-Share on ‘Phoenix’.
(Update 3/25/2019, 15h10 : )
I suppose that my reader may want to know how to install this software, if it is not in his package repositories, as it was not for me. And I’d say there’s a two-stage process involved.
First, one may download the source-code from The external blog-posting which I used. Within that posting there is a link, which is labelled ‘github’, but clicking on it actually Downloads a ZIP-File with the source-code for version 0.6.0. Alternatively, one may also want the latest, bleeding-edge version From GitHub itself, using the ‘git clone’ command. My main reason for not doing the latter was, the fear that my Plasma version and libraries might not have been high enough, to permit me to compile the latest, bleeding-edge version.
In fact just today, I tried the latest version, and was greeted with the configuration error-message, stating that Qt library 5.9 was required to build it, but that my Qt version was only 5.7.1 . No attempt was made to install.
From the source-tree, it’s important not to use the usual methodology of first creating a ‘build’ sub-directory, and then running either ‘ccmake’ or ‘cmake-gui’. Instead, as root, one should run the file ‘./install.sh’. And then Latte-Dock is installed.
After installation, the second task which must be accomplished, is that the Plasma 5.8 Desktop must be prepared, to have Latte-Dock run in it. And This Posting explains best, to my taste, how to do that. After repositioning the Plasma Panel to the top of the screen, it’s important to remove the Task-Manager / Task-Switcher applet from the panel, as this applet would just interfere with the OS/X -like experience. As soon as the user has done this, the system tray that was on the right end of the panel will want to move left, to be adjacent to the Quick-Launchers. To remedy that, it’s best to insert a Spacer applet after the quick-launchers, but before the system tray, which will reposition the system tray on the right end of the panel, where it was before.
In order for this spacer to be as wide as it should be, a detail which the user must first take care of, is to slide the system tray back to the opposite end of the panel, before trying to insert the spacer applet, with the (wider) size which has thus been defined.
Simultaneously, I felt that I should reduce the number of virtual, KDE Desktops from 4 to 1, again, to simplify the experience, but AFAIK, the actual Latte-Dock software will still run, if there is more than 1 virtual desktop.
It’s important to keep the Application Launcher that is normally a part of the Plasma Panel because without it we wouldn’t be able to drag any application launchers to the Dock, once Latte-Dock is running. Also, it would become difficult to complete the steps of activating this software because finally, commands need to be given from a terminal window. Further, the Dock can crash, for which reason some method must be made available to restart it easily from within a session. And it’s also trivially possible to keep some quick-launchers at the top of the screen, next to the Plasma 5 application launcher. The only issue with doing this too much, is the fact that this will make the experience less OS/X -like, and more Plasma / Windows -like. (:2)
After that, the following commands are probably best, to make sure that Latte-Dock launches automatically, when the user who would like it next logs in:
$ mkdir -p ~/.config/autostart $ cp /usr/share/applications/latte-dock.desktop ~/.config/autostart
Finally, once the user has started a session with the dock running, I have two quick tips that can make the experience more interesting at first:
- When right-clicking on the dock, one of the commands which can be left-clicked is ‘Latte Settings’. Do explore different settings.
- Not only Application Launchers can be dragged to the dock but also, virtually any Plasma Widgets, as the default setting at this point is not to lock the widgets. By right-clicking on an empty part of the desktop, the user can still obtain a context-menu, in which to left-click on ‘Add Widget’. Only now, instead of being able to drag the widget either to the panel at the top, or to the desktop, from the side-panel which opens, a third option has become available, to drag the widget to the dock. Additionally, a folder can be dragged to the dock, in the form of a folder-view widget, since the default may not be, to have a folder-view widget on the desktop anymore, but instead, just to keep the desktop as equivalent to the ‘~/Desktop’ folder.
I suppose that another potential question which deserves an answer is, Why Latte-Dock is so tough on my GPU. In my personal experience, being able to perform GPU-computing sounds nice, but almost always results in extreme heat-buildup, which the GPU-fan must disperse at an elevated fan-speed. And this is also often true for advanced OpenGL (hardware-accelerated) gaming. But why would it be true, when the hardware-accelerated effects of Latte-Dock are not very complicated in nature?
My best guess to an answer would be the fact that, on the computer I name ‘Phosphene’, I have a 1920×1080 monitor, which is considered a high resolution for hardware-accelerated graphics of any kind, and Latte-Dock may simply set a high frame-rate to render to. The result would already be, that the GPU needs to work quite hard, even if there seems to be almost nothing happening.
(Edit 3/27/2019, 21h35 : )
Another possible reason could be the fact that, by default, ‘Phosphene’ already has many Plasma effects enabled, that are running in addition to Latte-Dock (see below).
(End of Edit, 3/27/2019, 21h35. )
One way potentially to reduce the severity of this problem is, to recognize that the actual dock is a fixed rectangle at the designated position – usually at the bottom screen-edge, but that the actual software uses alpha effects to make the region the dock occupies look more interesting and animated. Therefore, if the graphics hardware is weak, the size of the actual applets can be reduced from 64 to 48 pixels, which also means that the full rectangle occupied at the bottom of the screen will be narrower. This is also the rectangle which gets highlighted, when the user changes the ‘Latte Settings’.
In order for the effect to remain interesting, the amount of zoom during mouse-over can be increased to 50%. But this would also be, how a larger number of applets can be inserted into the dock, the way serious computer-use demands. An actual Apple computer also doesn’t default to a huge dock-size.
Another helpful Latte-Dock setting which can be changed in userland gives choice between ‘None, 1x, 2x, 3x’ Animation, and defaults to ‘2x’. Reducing that to ‘1x’ may be helpful on weaker graphics hardware.
By doing that, I’ve been able to keep my GPU-temperature below 50⁰C – for the first time.
Additionally, it’s possible to go into ‘Application Launcher -> System Settings -> Display And Monitor -> Compositor’, and to reduce the Animation Speed (with the slider), to select a slower speed, effective for the entire 1920×1080 screen area.
(Update 3/25/2019, 18h15 : )
This last adjustment deserves some explanation. Typically, hardware-accelerated graphics run at a different frame-rate – most notably a slower one – from the refresh-rate of the monitor. Typically, explicit measures such as ‘triple-buffering’ are used, to avoid rendering errors that would otherwise be due to this mismatch. The author of an animation essentially has two possible ways, to control the perceived speed of the animation:
- He can use the elapsed number of milliseconds, or,
- He can use the actual, rendered frame-number.
Apparently, the standard Plasma Desktop Compositing effects, use Method 2 above. Therefore, a lower actual frame-rate is why the desktop effects will also appear slower to the user.
Now, I realize that there may exist certain examples of hardware-accelerated rendering – most notably, certain gaming stations – that have a rendered frame-rate equal to the refresh-rate of the monitor used. But this needs to be recognized as ‘a special capability’.
(Update 3/27/2019, 21h35 : )
I have found a way to improve the behaviour. Previously, when clicking on dock applets, their animation was not smooth to a great degree. This extended so far, that the applet would disappear as the application launched, and then reappear. Apparently this is a known problem, and the way to remedy it is to go into “System Settings -> Applications -> Launch Feedback”, and to uncheck “Enable taskbar notification”. After that the applet animations, upon launching an application, are much smoother.
After I did this, I found that I could activate “Preview Windows” On Hovering. But alas, I still cannot activate “Highlight Windows…” without the dock crashing. Yet, this still represents an improvement.
However, the logical approach to answering this question would be, to recognize that the effect works under Ubuntu. What this seems to suggest is, that by default I must have at least one effect already enabled, which would not be enabled under Ubuntu, and which may be conflicting with the Latte-Dock, ‘Highlight Windows’ effect.
(Update 3/27/2019, 13h45 : )
What the reader may think is, that the need to keep the default, Plasma application launcher in the corner of the screen, at one side of the panel, could diminish the quality of this OS/X -like desktop layout. But, without being an expert in how OS/X works, I’d actually just comment that, on a real Mac, the user would merely keep his most-commonly used applications on the dock permanently, and, if the Mac user needs to look for something specific, which is not on his dock by default, he’d use something which a Mac has, which is called ‘Finder’. And, if there are no active application windows, one would find Finder in the top-left screen corner.
Well with this modded Linux desktop, ‘Finder’ has effectively been replaced with the default Plasma application launcher. Only, because the way in which this application launcher looks when it opens, some users who have merely seen demos of ‘Latte-Dock’ may already have eased into accepting this applet as if it was simply ‘Finder’. If a Linux user had ever gotten involved with using Latte-Dock, he’d remember that this applet is the Plasma application launcher, and not Finder.
I suppose that the observation could also be added, that instead of using terminal commands, the Linux-user can launch his dock for the first time, just by clicking on the launcher within the default Plasma application launcher; ‘Latte-Dock’ has an application-icon there, and when first run, also has as its default setting, that it should launch again, after every reboot.
I just find that the ‘Latte-Dock’ application icon should actually belong to the Favourites panel, of the default Plasma application launcher.
If the user doesn’t want ‘Latte-Dock’ to launch again automatically, he can just un-check this setting under ‘Tweaks’.
Another elaboration I could add is the observation, that there are essentially two types of icons that can be added to ‘Latte-Dock’ (by being dragged there):
- Launcher Applets, and
The way I have the dock set up myself is, with its launcher applets on the left, and with 4 widgets individually on the right, and with a spacer in-between. What I can add is, the entire group of launcher applets is actually being held in one widget. This implies that the exact mechanics by which the order of the launchers can be changed, using the mouse, as well as by which individual launchers can be removed again, is different from the sequence with which widgets can be re-ordered or removed.
In order to edit the widgets it’s necessary to open the Latte-Dock settings, which is also referred to elsewhere as putting Latte-Dock ‘in Edit Mode’, while to edit the launchers, this does not need to be done.
In theory, the type of widget that holds launcher applets can also be found by right-clicking on the desktop, left-clicking on ‘Add Widgets’, and then searching in the side-bar which appears, for ‘a Latte-Dock widget’. And in theory, a new instance of such a widget can also be dragged to the dock.
In practice, Latte-Dock has a check-box in the Tweaks tab of its settings, which keeps all the applets of each category separate from the other category. If I were to un-check that, then I might find that the dock automatically creates a new launcher widget, as soon as I try to drag a new launcher to someplace outside their present widget.