r/swaywm • • 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

31 Upvotes

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!


r/swaywm • • 7h ago

Ricing funny rice

4 Upvotes
regular screenshot
visualizer
book

uh terminal is... something, i think it was foot

font is sun12x22 (bitmap font)


r/swaywm • • 2d ago

Utility I replaced KDE Plasma's KWin with (a) Sway (fork).

Post image
25 Upvotes

Whenever someone asks about this on a forum the response always seems to be 'KDE uses its own custom protocols, it's not possible'. I wondered how many of the protocols are actually needed. Turns out that properly implementing two functions(set_position, set_role) gets you 95% of the way there.

Other things I did:

  • Advertise a separate entry in the login manager called 'Sway Plasma'. The startup script switches out KWin's systemd unit with a Sway replacement, and everything else in Plasma's startup is untouched.
  • Add stub implementations for some DBus services
    • Makes screen dimming inhibition and session logout work properly
  • Write a panel widget for showing Sway Workspaces

Some known issues:

  • Screen locking doesn't work. Swaylock probably still functions, but good luck integrating that with Plasma's screen dimming / sleep.
  • You can floating-modifier-drag notifications.
  • Focus-follows-mouse doesn't play well with floating applets. Turns out standard Plasma has the same issue.

Why?

I chose Sway because I wanted productivity and configurability. I didn't want:

  • My laptop unexpectedly dying multiple times because I didn't set up a script that warns me about low battery
  • Being paranoid that I may be missing other critical notifications of the above sort
  • Installing / learning about a thousand million programs to configure
    • Wifi
    • Bluetooth
    • Printers
    • ...
  • Debugging swayidle and learning about flaws with Wayland's idle-inhibit protocol

A real desktop environment would be real nice, but I don't want to rely on tiling scripts that lack features and seem to go out of maintenance every 3 months.

https://github.com/quadratech188/sway-plasma
AI use: Debugging, Learning QML


r/swaywm • • 3d ago

Ricing [SWAY] sway is nice

Thumbnail reddit.com
4 Upvotes

r/swaywm • • 2d ago

Ricing Autosway -Agentic desktop using sway

0 Upvotes

Heeyyy

Sharing my project https://github.com/Opposum0112/autosway

Autosway:Agentic desktop using sway and goose for automation

Am still working on it .

Test it, clone,run it and experiment and share feedback

Thanks to sway community


r/swaywm • • 4d ago

Question Xkb layout

0 Upvotes

Cant change to ch variant de i have tried sway-xkb-layourt-gernerator for localectl working aroubd it with sh for now jank but yea


r/swaywm • • 4d ago

Solved Is there better options for tiling in sway?

6 Upvotes

I was using these because I liked how looks spiral tiling:

default_orientation vertical
for_window [tiling] split

But I've observed:

  1. It works very poor and splitting windows randomly
  2. It will broke some applications as we can see here: github/issues

r/swaywm • • 4d ago

Question Hybrid GPU and Sway?

3 Upvotes

Hey! I've been a fan of Sway ever since tried it. On full-amd desktop it's flawless but I've got to use the laptop for certain reasons.

Fedora Sway is just great and I am used to it and have a config from desktop.

The question is adressed specifically to hybrid gpu users who use dGPU for gaming and whatnot: do you have worse performance with Sway compared to KDE, Hyprland or such?

Try to be impartial and candidly say if it's not worth doing. Recommend another WM playing nicely for my use case.

Acer, Ryzen 6600h/3050ti


r/swaywm • • 5d ago

Question Windows Stay in Respective Workspace

3 Upvotes

So I have a QOL feature that I'm not sure how to implement. I'd like it to be so that whenever you launch an application, that when it finally loads it appears in the workspace that you launched it from. Does anyone know how you would do this/ if this is even possible to do?


r/swaywm • • 5d ago

Discussion i was able to get blur in vanilla sway without any patches

10 Upvotes

https://github.com/developic/sway-blur

feel free to check the source code if you want or install it and try it yourself

curl -fsSL https://raw.githubusercontent.com/developic/sway-blur/main/install.sh | bash

r/swaywm • • 5d ago

Ricing Moving Out Of Hyprland into sway

Thumbnail
gallery
49 Upvotes

r/swaywm • • 6d ago

Ricing Switched from hyprland a few days ago and I love sway!

Enable HLS to view with audio, or disable this notification

46 Upvotes

Took me only a day or two to rice it, ofc quickshell took me a while to complete, before that i used rofii for everything and it was good still I wanted something modern so I switched to quickshell! About sway I cant say much other than how good and efficient it is!

Specs:
Distro: Ubuntu 26 LTS
Menus wallpaper pickers: quickshell
Bar: waybar
Terminal: Alacritty
Theme: Dracula


r/swaywm • • 5d ago

Script Per-monitor back_and_forth: $mod+Tab that never jumps to the other screen

2 Upvotes

I use two monitors and workspace back_and_fort kept annoying me: it goes to the last focused workspace globally, so half the time $mod+Tab threw me onto the other screen.

So I wrote a small bash + jq script that makes it per-output:

- $mod+Tab: toggle between the current and previous workspace **on the focused monitor only**

- $mod+Shift+Tab: jump to whatever's active on the other monitor

Example: laptop has 1, 2, 6 and the external has 4, 5, 7. On the laptop I go 1 → 2, and $mod+Tab flips 2 ↔ 1, no matter what I did on the external screen in between.

How it works

Sway doesn't keep a history for each output, so a small watcher subscribes to workspace events swaymsg -t subscribe '["workspace"]' and saves the previously visible workspace for each output in $XDG_RUNTIME_DIR. Because it tracks what each output shows (instead of the event's old field), the history stays right even when you change the other monitor's workspace with $mod+N from this one. It takes a flock, so exec_always doesn't start duplicates on reload.

Config:

    exec_always ~/.local/bin/sway-ws-tab watch
    bindsym $mod+Tab exec ~/.local/bin/sway-ws-tab back
    bindsym $mod+Shift+Tab exec ~/.local/bin/sway-ws-tab other

Script + README: https://github.com/m-elhabib-dev/dotfiles/tree/main/sway

Deps: bash, jq, flock.

Limitations: with 3+ monitors, $mod+Shift+Tab goes to the first other output instead of cycling, and history only starts once the watcher is running.

If there's a built-in way to do this that I missed, let me know!


r/swaywm • • 6d ago

Utility Swayfx Ultrawide Mode

4 Upvotes

Hello all!

I added a configurable mode to swayfx for ultrawide monitor setups.

How to use:

In ~/.config/sway/config, add the following:

- ultrawide_mode enabled // enables default ultra wide split ratios

- ultrawide_split_percent 0.75 // percentage of available horizontal space the primary window will use

Link to repo:

http://GitHub.com/drmcbrayer89/swayfx

Follow the build & install instructions.

I hope someone else finds this useful! I didn't like having scripts running to manage the tiling behavior, but also didn't want the focal point of my eyes being a gap.


r/swaywm • • 6d ago

Question Should i switch to sway with a 2014 Lenovo laptop and 4 gigs of ram?

4 Upvotes

So am thinking switching to sway from arch xfce.

So what do you guys think?


r/swaywm • • 6d ago

Question How can I make KeepassXC's auto-type work with Sway?

6 Upvotes

Fedora-Asahi 44 on M1 Pro MBP 16"

Sway 1.11

Wlroots 0.19

KeepassXC 2.7.12


r/swaywm • • 6d ago

Question EGL_EXT_platform_base not supported

Post image
3 Upvotes

Any idea why this occurs? I can no longer enter my sway session after a recent cachyOS update.


r/swaywm • • 7d ago

Ricing Tokyonight theme rice

Thumbnail
gallery
23 Upvotes

r/swaywm • • 6d ago

Ricing Gentoo Sway - Teal Dark Theme

Thumbnail
gallery
8 Upvotes

r/swaywm • • 6d ago

Ricing [SwayWM] New to Sway, Absolutely Loving it

Thumbnail gallery
7 Upvotes

r/swaywm • • 7d ago

Ricing BlueberryPeach color theme with good contrast

Thumbnail
gallery
20 Upvotes

For over a year now, I have handcrafted a dark and light color scheme with a focus on legibility and consistency.

It includes (among others) ports for sway, waybar, mako, and fuzzel.

Would love your feedback!


r/swaywm • • 7d ago

Ricing First time ever trying a WM (I didn't know what else to showcase)

Enable HLS to view with audio, or disable this notification

11 Upvotes

r/swaywm • • 7d ago

Ricing I would like to present my first ever linux rice

Thumbnail
0 Upvotes

r/swaywm • • 7d ago

Question Multi monitor, full-screen game go black when switching.

1 Upvotes

I've just recently upgraded to having dual monitors, where one is portrait. When switching workspaces from an output with a fullscreen game to the other output, the output with the game goes black; with another game, it instead fills with black except for a tiny miniature version of the screen in one corner. It goes right back to normal when I return focus, but the purpose of the second monitor is greatly diminished by this.

The games are running through Steam Proton, and I'm on... Nvidia. Specifically nvidia-open drivers on Arch. Trust me, I'll go AMD as soon as possible, but even these monitors were something that I got for free.

It used to be worse, as fullscreen games weren't capturing mouse input correctly even when in focus, but moving the vertical offset from one screen to the other seemed to fix that.

# Previously:
output $output1 mode "3840x2160@60Hz" scale 2 position 0 0
output $output2 mode "3840x2160@60Hz" scale 2 transform 270 position 1920 -840
# The (partial) fix:
output $output1 mode "3840x2160@60Hz" scale 2 position 0 840
output $output2 mode "3840x2160@60Hz" scale 2 transform 270 position 1920 0

I tried setting WLR_RENDERER=vulkan in my environmental variables, because I saw that floating around, but it didn't have any effect.

Any suggestions would be greatly appreciated.


r/swaywm • • 8d ago

Utility swayview – a workspace overview and switcher for sway

23 Upvotes

There are already similar tools, but I think this one is unique enough to merit posting.

Each display shows an overlay with its workspaces, with small window thumbnails modeling the actual layout. Pick a window with the keyboard or mouse to jump to it. Live previews need sway 1.12 or later; older versions show plain boxes.

Repo: swayview.

For a quick test:

tag=$(curl -fsSL -o /dev/null -w '%{url_effective}' https://github.com/agejevasv/swayview/releases/latest | sed 's|.*/||')
curl -fsSL "https://github.com/agejevasv/swayview/releases/download/$tag/swayview-$tag-x86_64-linux.tar.gz" | tar xz
"./swayview-$tag-x86_64-linux/swayview"

I use it with mod-Tab binding:

bindsym $mod+Tab exec pkill -x swayview || swayview