Blog

It's minimal, but I'm posting things.


The issue of finding a tiling manager for KDE Plasma in 2025

A tiling manager boosts productivity. As a developer, it cuts down on low-value keystrokes and mouse movements. Get things done faster.

If you’re using the KDE Plasma desktop environment, you might want a tiling manager that integrates seamlessly. Despite their popularity, finding a reliable one can be surprisingly tough.

I've been using Bismuth for over a year on Ubuntu 20.04.
However, after upgrading to 24.04, Bismuth no longer works.

This article shares my findings on alternatives, but I always circle back to Bismuth. It’s the most complete and enjoyable tiling manager for KDE Plasma.

Bismuth

Bismuth on KDE Plasma 5 and Ubuntu 20.04

I've had no issues installing and using Bismuth with this configuration.

Bismuth on KDE Plasma 5 and Ubuntu 24.04

By default, Bismuth does not work on Ubuntu 24.04.
For me, the issue was identical as this bug "Bismuth fails when using binary installation". The system forces the use of Javascript ES2022 instead of ES2016, which is the one specified by Bismuth's build system.

The solution to this issue has been provided in great part by a kind user.
Github code snippet to build a proper binary using docker.
I fixed some kinks on the gist and made something which worked well for me.

# Here is how you can build locally kwin-bismuth package that in 3.1.4-4build2 comes broken unfortunately for Kubuntu and Ubuntu 24.04

# Execute this from your main system
sudo apt-get install kwin-bismuth
git clone https://github.com/Bismuth-Forge/bismuth.git
cd bismuth
docker run --rm -it --volume `pwd`:/app --workdir /app ubuntu

# Execute this once you are inside the docker container
apt-get update
apt-get install make cmake ninja-build build-essential extra-cmake-modules qtbase5-private-dev qtdeclarative5-dev libqt5svg5-dev libkf5config-dev libkf5declarative-dev libkf5configwidgets-dev libkf5kcmutils-dev libkdecorations2-dev
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
source ~/.profile
nvm install 20

# Fix the typescript command
npm uninstall -g typescript
npm install -D -g typescript

# Add the target language to the Bismuth build command
sed -i 's/neutral"/neutral" "--target=es2016"/g' src/kwinscript/CMakeLists.txt
/bin/rm build -rf || true
make build

# if the build is successful, then you should:
# exit

# Then, from the main system, you can replace the replace the "broken" 'index.mjs' file with the fixed one
sudo sh -c 'cat build/src/kwinscript/bismuth/contents/code/index.mjs > /usr/share/kwin/scripts/bismuth/contents/code/index.mjs'

# Now enable window tiler under the "Window Tiling" section

I have yet to implement code folding in blog views, but here is the index.mjs ES2016 transpiled code, for folk who may not get the above code working:

https://pastebin.com/5GcDguug

Alternative Window Tiling Managers for KDE Plasma

This section is a draft of my findings on alternatives to Bismuth. I'm not sure if I'll maintain it since I'm quite happy with Bismuth. However, it might help someone out there.

KDE Plasma 5

Kronkhite with Ubuntu 20.04.

I had a great experience with Kronkhite on Ubuntu 20.04.
However, it doesn't seem to work anymore on Ubuntu 24.04.
As of today, KDE Plasma 6 is not available on either Ubuntu 20.04 or 24.04.

KDE Plasma 6

Krohnkite fork on KDE Plasma 6

Bismuth is a retired project. It might still work on some KDE Plasma configurations and certain distros. However, it's likely to become increasingly incompatible over time.
It's spiritual successor, Krohnkite, is also a retired project, only compatible with KDE Plasma 5.

One community member has been maintaining a Krohnkite fork for compatibility with KDE Plasma 6.
I haven't thoroughly tested it yet.
Unsurprisingly I have not successfully made it work on Plasma 5 in Ubuntu 24.04.

Plasma 6's built-in tiling manager

KDE Plasma 6 has a built-in tiling manager. Unfortunately, it's not available on Ubuntu yet, so I haven't had the chance to test it.

Polonium

Polonium is a script for KDE Plasma 6 that offers window tiling. I haven't tested it yet. It seems to have fewer features than Bismuth or Kronkrite.


Published on 2025-02-16T20:10:08.117117Z
Last updated on 2025-02-16T20:10:08.117117Z