New features in weltschmerz 1.4.0

Wolfgang Müller

After more than a year of hibernation, the last two weeks have seen a greatly increased amount of work dedicated to weltschmerz. The initial impetus to pick up on development came after a whole bunch of contributions and bug reports from a new user, nortti. Thanks a lot for those and for jump-starting further work on the project!

Read on to take a look at noteworthy changes and all the new features, or head on over to the project page to get 1.4.0 right away.

Controlling cursor blinking

The first feature nortti proposed and implemented is the new cursor_blink setting. Modifying cursor blink behaviour was not possible before; weltschmerz simply relied on GTK’s default setting of SYSTEM. This falls back to whatever is set for gtk-cursor-blink which in almost all cases1 will be TRUE.

Now users may enable or disable cursor blinking within weltschmerz. The default value for cursor_blink is SYSTEM which means that there is nothing to do if the current behaviour already works for you.

Open terminal

The 'Open     terminal' feature in weltschmerz 1.4.0
The 'Open terminal' feature in weltschmerz 1.4.0

The second contribution they made is the incredibly handy Open terminal feature. Similar to Open directory, this feature leverages OSC 7 support2 to open a new instance of weltschmerz in the current directory. This is bound to Ctrl+Shift+T for quick and easy access.

URL copying

Up until now, weltschmerz only populated the CLIPBOARD selection when copying URLs to the clipboard via the Copy URL context menu entry. Since all other copy operations set the PRIMARY selection as well, 1.4.0 changes this. Now, Copy URL populates both CLIPBOARD and PRIMARY, making weltschmerz behave like other GTK and QT apps3.

A handful of bugfixes

weltschmerz now has a minimum size of 28 × 3 cells, reports its window geometry correctly at all times, and always draws the scrollbar if the user or distribution turns overlay scrolling off. The latter may seem inconsequential, but the journey to the fix was a very long and arduous one.

I’ve written about these changes extensively in the relevant commit messages here, here, and here. Definitely check those out if you are a fan of weird issues and possibly even weirder workarounds.


Finally, I’m glad to announce that weltschmerz is now translatable! The 1.4.0 release comes with a German and a Finnish translation of the program, excluding the manual (a bigger effort, and I did not want to drag 1.4.0 out even further4).

This introduces gettext as new dependency. In almost all cases it should already be installed since it is the de-facto standard for translations in GNOME and GNU-adjacent projects.

If your language is missing and you want to contribute, have a look at the TRANSLATE file in the project repository.

Closing & Thanks

That’s it for this release. Thanks a lot again to nortti for all their contributions and for providing valuable feedback throughout the entire 1.4.0 development process!

See NEWS for the full set of changes, and 1.3.0..1.4.0 for all relevant commits.

  1. I’d love to hear from you if your distribution disables blinking cursors by default. 

  2. This particular escape is not yet fully specified

  3. See here for freedesktop’s consensus on how clipboards should work in X11. 

  4. The newly released version 1.4.1 now contains a full translation of the manual into German