The employer I’m in the process of leaving was gracious enough to let me purchase my work laptop as long as I take out the ssd and leave it at the office on my last day. I don’t understand what that is supposed to accomplish, but I’ll take the opportunity to upgrade the ssd and make a fresh os installation.
I usually run my Linux workstations with the XMonad window manager which provides for a fairly … spartan experience. Functionality modern users take for granted from their desktop environment, like changing the screen brightness, connecting to wireless networks, plugging in external monitors, and so on, I’ve done either through the command-line or custom keyboard shortcuts in XMonad.1 So why do I do it? Part of the reason is that XMonad handles external monitors exactly as I would expect of a desktop environment. I can’t put my finger on what it is about it specifically, but it just … makes sense. I know not everyone agrees. The reason I use a tiling window manager more generally is that (a) for me it’s a flow-killer to have to rearrange windows manually when my window manager could do it for me, and (b) I find the idea of leaving dead space on the monitor (desktop area not occupied by windows) ridiculous, much like having windows overlap each other. Either I’m using the window in which case I want all of it visible, or I’m not using it in which case it might as well be completely hidden to not distract me.
So I figured, now that I have this somewhat vanilla Fedora, why don’t I try the modern gnome experience? Who knows, it might even be productive.
Here are some annoyances I’ve encountered and worked around so far.
Keyboard layouts have become complicated
I have a custom Swedish variant of the Colemak keyboard layout. This is just an
xkb symbols file, and in my previous XMonad configuration I could enable it when
the desktop loads by automatically running the
setxkbmap swemak command.
In this new installation, I wanted to go through the gnome settings manager for two reasons:
- I’m using a somewhat vanilla gnome specifically for that type of
integration; if a family member borrows my laptop they should not have to
figure out how to type
setxkbmapusing my strange layout in order to set a layout they are more comfortable with.
setxkbmapis an X11 command that doesn’t work under Wayland anyway.
Getting gnome to recognise the symbols file and allow me to pick it in its
input source selector was not painless.2 It was even somewhat strange; at one
intermediary stage it allowed me to add the layout in the settings, but it
didn’t show up in the input source selector after that, so it was still
unusable. In fact, I have found no documentation on how to create custom input
sources, so what I ended up doing was grepping through all of
instances of the N’Ko language3 Why the N’Ko language? Because the input
source for it contains just the keyboard layout with no variations, which is the
closest thing to my xkb symbol file I could find. It’s also an uncommon enough
string that it doesn’t show up in a lot of other places., and then copy-pasting
all those definitions and replacing the relevant parts with references to the
Swedish Colemak xkb symbols. After lots of trial and error I was confused why it
still didn’t work, and tried as a last resort rebooting the computer – that made
Workspace switching is not meant to be
I’m used to having nine workspaces with relatively fixed function4 The first for communications like email and irc, second for web browsing, etc. and this is how I get by using a small laptop monitor. However, that requires me to be able to switch between all nine workspaces quickly. The gnome settings panel only allows configuring keyboard shortcuts for the first four.
Fortunately, it’s relatively easy to find on the web how to set keyboard shortcuts for the rest on the command line:
for i in $(seq 1 9); do gsettings set org.gnome.desktop.wm.keybindings \ "switch-to-workspace-$i" "['<Super>$i']" gsettings set org.gnome.desktop.wm.keybindings \ "move-to-workspace-$i" "['<Super><Shift>$i']" done
However, one thing I still haven’t figured out is how to set a keyboard shortcut to jump to the previously active workspace.5 There are some indications this use case might not even be supported by gnome! I frequently jump back and forth between two workspaces as I alternate between writing and researching, for example. A single keyboard shortcut for this is invaluable.
The lack of this is really getting on my nerves, so much so that I’m tempted to dive into something like PaperWM which people mostly say good things about. But I’ll give it a few more days as I continue to set things up.
Emacs is blazing fast!
I don’t know if this is because I’ve accidentally upgraded Emacs versions along with the new os6 I should be better at keeping up to date with newer Emacs versions, I know … but I’m finding it performs insanely well. Generating the html for these articles used to take 3–5 seconds even when there’s no code to run – enough to break my flow – but it takes less than a second now. This is about the same time as it takes to switch to the web browser and refresh the page, meaning no significant flow breakage.
The ultimate test will be when I get to opening my file full of flashcards and try to do the first session of spaced repetition on this machine. That file really bogged down my previous installation.
… but ox-rss is broken, again
I discovered as I published this article that the rss feed becomes empty when I rebuild it. This is not the first time rss generation has broken with a new installation of Emacs. I’ll have to see what I can do.