It's minimal, but I'm posting things.
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.
I've had no issues installing and using Bismuth with this configuration.
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
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.
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.
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.
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 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.