Tweaking elementary

After following the project ever since its early days, I’ve been using elementaryOS for more than a year now, almost continuously, on my day-to-day working laptop and several other devices. Then and now, I’ve been playing with other desktops in the meantime but if you enjoy well-crafted design and spent some time with elementary, using anything else will become rather difficult: While I still love KDE from a technical point of view, its usabiltity and UX feels random at best, and I could go on writing twice the amount of content posted on this blog on which major and minor issues drive me nuts using KDE on a day-to-day basis. GNOME, on the other side, does a few things right yet still feels like a huge, candy-colored comic strip at times: Huge icons. Huge window titlebars. Too much rounded corners everywhere. Different interface styles in different places for no particular reasons. A whole desktop that possibly makes much more sense on a touch-controlled device than on a laptop with keyboard/mouse interactions. Sure there is still gnome-tweaks that allows to fix some of the issues but others are harder to come by.

Straight away: elementary isn’t ideal either. But it’s rather good in many of these aspects. So, general idea for me, these days: Use elementary as close to its original settings as somewhat possible and just modify aspects that totally don’t work for me. These days, I don’t want to waste much of my time on tweaking desktop settings; I’d rather have an out-of-the-box solution that allows for modifications while generally providing a well-crafted, sensible set of defaults. It’s much of a balance, even after more than a year. There are situations in which elementary is extremely neat and gets out of your way more than any other desktop I’ve ever worked with. And then there still are 10k papercuts I run into every other day.

Current desktop setup

Things I changed

Mail client, still an issue: I like elementary Mail for its simplicity but it’s still unusable with any of my mail accounts except that GMail I just use for some mailing lists. Neither my old corporate local IMAP nor the new O365 account seem to work well in here. I’m using Thunderbird as a default these days, still not very enthusiastic but it works for my accounts and its idea to keep all data isolated in a somewhat portable, easy-to-backup profile still makes it a modestly good choice. This, by the way, includes the calendar – none of my accounts (NextCloud, O365) is usable in a meaningful way with elementary at the moment. Maybe the ongoing rewrite of elementary mail at some point will change this – or mail clients in general will simply go the way of the Dodo and be replaced by purely browser-based environment like Office 365 or other message-centric applications. Maybe the age of desktop operating systems is generally coming to an end, but that’s possibly another thing to think and write about, once in a while…

Speaking about browsers: A difficult thing. Usually, I keep the default browser installed and use it then and now, more or less randomly, having it linked to my Firefox account. Firefox still is my preferred browser even though I’m a bit torn about this for particular reasons. At the moment, I’m mainly using Brave out of pragmatism, being in need to run a browser that supports video and audio calls in Microsoft Teams which doesn’t still work in Firefox as of June 2020. I’m biased about Brave, but by now, privacy-wise, it seems the least “dangerous” Chromium based browser to use, being FLOSS and apparently having most of the Google bits removed. They had and have issues, some real ones as well as some that might have been made bigger than they actually are, usually very loud-mouthed crowd . They still, however, try to solve problems other browsers and web developers rather tend to ignore or just deal with from a privacy and systems security point of view which is way too simplified in my opinion and much about fighting smoke rather than the fire itself. Ad-plastered web sites and “surveillance capitalism” haven’t been here ever since; part of the problem still is our unwillingness to pay for fairly created, “ethical” content and services online that has grown out of a late 1990s understanding of the internet as a “place where everything is ‘free'” and a totally messed-up understanding of “free as in Gratis” vs. “free as in Libre”. But I disgress…

Audio player: After playing with various applications for local playback, I fell back to using lollypop as this, despite its weird name, provides a few features I’d just expect to see in a music player in the 2020s (compared, in example, to playing music in some browser on platforms like bandcamp or soundcloud). The very own elementary music player isn’t all too bad yet very rudimentary and unusable for me as it completely fails to have a meaningful idea of audio files that come without embedded metadata so it will not provide any way to access these files. Side effect however: Not using (and eventually removing) elementary music still will leave parts of it behind – in your audio control menu, with a “Music” icon and navigation keys that don’t do anything anymore. This is a bit weird, also because it doesn’t seem to reliably “not work”; I’ve already seen lollypop in there once or twice but I don’t know how to reproduce this.

Lollypop audio player

While we’re in the system tray: System tray icons. A re-occurring dispute between elementary devs and users. And something I am indifferent about. On one side, I get the idea (pushed forth by both elementary and GNOME folks) to get rid of this early-days artifact, something they have been trying for quite a while now. Backlash, unfortunately: There still is a bunch of legacy(?) applications which, in its usability, are pretty much limited without a system tray icon. My biggest two pain points here are the NextCloud desktop client and the KeepassXC password manager. KeepassXC can be configured to minimize instead of being closed which makes it usable for me without tray icon. For NextCloud, I so far haven’t found a reliable way to do so. Fortunately, enabling system tray icons still works on recent elementary versions but it needs a minor workaround to keep the network-manager control applet from appearing twice.

Terminal emulator: I’m still a heavy command-line user for both working on my machine and handling remote systems. As issue #39 is still open, some applications like mc which I still heavily rely upon especially are still next to unusable in elementarys own terminal implementation. I’m using gogh and “Dimmed Monokai” theme (number 34 as of writing this) to fix this. These color settings are stored in the dconf database in /io/elementary/terminal/settings/palette ; in order to get rid of any gogh-made modifications, use dconf-editor to reset this to defaults. Did cycle through the various themes to find one that works somehow; maybe at some point I’ll try to fix this in a separate gogh setup myself. However, I still like the elementary terminal for its simplicity and some minor neat features (like the integration with elementary notifications if a running command has finished).

Monitor settings: These are still broken in many ways in elementary if using a laptop and an external display. I personally fix that by either calling xrandr from the terminal or by installing lxrandr, the display control utility shipped with the LXDE desktop. Both just work, straightforward and effective especially for more “complicated” setups, like having a large screen “above” a smaller built-in laptop display which I never managed to set right with elementarys own display configuration utility. It’s a bit surprising to see this has remained in such a bad state throughout most of the 5.x lifecycle but then again I also am unsure whether this is mostly elementarys fault or mostly a problem of the underlying 18.04 display subsystem. In most situations, these days (working with an external display) I just use xrandr --output eDP-1 --off on the terminal to power off the laptop display and be done.

While we’re at visual stuff: The elementary Photos app has been mostly replaced by gthumb on my device. Reason for that is similar to changing default audio player: With my current environment, including images from various devices and different metadata quality levels, an application sorting and indexing images only or mainly by metadata doesn’t help much. Plus, which makes things worse as I learnt: Using and managing images by metadata doesn’ help much for most of my use cases either, like creating prints or photo books once in a while (as the applications I use to submit print orders support metadata such as keywords, favorite marks, … poorly or not at all). So my workflow is still very much centered around images in a folder hierarchy as the lowest common denominator working on all devices with all applications (and yes, I’m thoroughly disappointed that this is still state-of-the-art in 2020).

gthumb navigating my background folder

More bits.

Finally, additional repositories added: Generally I try using flatpak rather than external repositories, but in some cases, applications I am using either aren’t available via flatpak or don’t go well with flatpak vs. package repository. For these cases, using additional repos helps.

One thing to note here is: While adding new repositories and installing software from there is rather common on most Linux distributions (even if this software is installed with root permissions), it’s good to see elementary and some others increasingly trying to sensitize people this might not a good idea in some cases and a GnuPG repo key will not protect you from intentionally modified software doing nasty things to your device and data.

Other things.

There’s still a bunch of open odds and ends I didn’t manage to completely fix, that still bug me these days but that are no real “show stoppers” for using the system: I still can’t use PayPal to pay for elementary ISO downloads or apps in the pay-what-you-want app store, which practically voids another fundamental reason for me to use elementary. Can’t state this often enough: We as the “Software Libre” community always were rather strict in claiming that “Libre is more and more important than Gratis”, but at the same time in most cases quietly accept that “Libre” leads to “Gratis” and in FLOSS environments, leaving out a lot of people who are torn between doing Software Libre and having to earn money for a living. The elementary approach could provide a way out of this mess, and this in itself is reason enough to fully support the project. I started supporting the project on patreon a while ago, but still it would be neat being able to use this pay-what-you-want approach the way it’s supposed to.

Another long-running nuissance: The wingpanel transparency setup is sort of a mystery still. I love the idea that this is transparent or semi-transparent with a text in a color (white, black) matching the background image and turning full-dark / white whenever a window is maximized. Yet very often the wingpanel algorithm and my personal tastes disagree on whether or not the panel should be transparent. At the moment, while setting wallpapers, this pretty often involves playing around a bit until I managed to find one reflecting both my current personal taste and wingpanels idea of a wallpaper that enforces a transparent panel.

There surely are more issues than these, some reported to public issue trackers. Then again: elementary is quite a small project. Team and support community seem to do best they can, working on fixing relevant issues, trying to help those asking questions and the same time preparing for elementary 6.0 on top of Ubuntu 20.04 LTS. Still, the fact that they do not just focus on software but also on aspects such as establishing a better funding model for FLOSS or polishing a distribution in many small visual details still makes supporting these folks worthwhile, even if it involves a bit of tweaking here and there.