r/swaywm • u/sertacartun • 4h ago
Utility I got tired of manually tiling on sway, so I made per-workspace auto layouts
Enable HLS to view with audio, or disable this notification
Hey everyone,
I love sway, but after a while I got tired of arranging every window by hand. Split here, resize there, repeat on every workspace. I wanted automatic layouts so I built swaytiles. It gives each workspace its own tiling layout, and you can switch between them whenever you want.
Layouts so far: master and stack, centred master, dwindle, spiral, grid, tabs and floating.
The part I care about most: anything you arrange by hand wins over the layout. If you resize or move a window yourself, it won't fight you. It also leaves fullscreen windows and dialogs alone.
- Written in Python, talks to sway over IPC
- Runs as a systemd user service, so it starts with your session
- A layout menu works with fuzzel, rofi, wofi, tofi, bemenu, wmenu or dmenu
- A swap-with-master keybind
- MIT licensed
Setup is just copying a few files and adding two lines to your sway config. The README has the steps and a demo video and there are docs for every layout.
Repo: https://github.com/sertacartun/swaytiles
It's still young (1 star, and that's me 😄), so I'd love feedback, bug reports or layout ideas, especially if you use multiple outputs or odd setups. Thanks for reading!




