Zeljko's Blog

TIL: Comfortably managing displays on Sway with Shikane

Created: 2025-09-05
Last Modified: 2023-03-07

Managing multiple displays on Linux with a Wayland based window manager sometimes feels like a challenge. Sometimes I would just like it to work (TM). But this time I got it to work the way I want it.

I am using Sway daily, for work and private. It is a fantastic window manager, but it comes very bare bone. It just manages windows, and it does that one job very well! What sway does not do very well is managing multiple displays, especially when on a laptop for example the outputs can change often.

For that problem I was looking for a good solution. On my way I found some possible approaches, for example:

nwg-displays is more like arandr on X11. Not what I was looking for, except if I want to trigger the display configuration myself. kanshi on the other hand took a configuration file and automatically figures out which display settings from the configuration file it should apply. Awesome! But it had it’s quirks and did not work as I wanted it to. This is where I found shikane.

shikane is the spiritual successor of kanshi which comes with a lot of improvements. One of my favourite features is the oneshot mode. Now I have in my SwayWM config the following line:

exec_always shikane --oneshot

Now, every time, when I reload the config, then shikane will ensure that my display configuration is correct.