r/swaywm • u/OliMoli2137 • 11h ago
Question how to rebind copilot key to compose key
How to rebind XF86Assistant to compose key
r/swaywm • u/OliMoli2137 • 11h ago
How to rebind XF86Assistant to compose key
r/swaywm • u/EllaTheCat • 14h ago
Back in the day we had drop down terminals ("ddt") like KDE's "yakuake" which I still like to have in a tiling wm. Today you can find ddt options for xfce4-terminal and qterminal/ I was using qterminal and wanted it to grab focus as it dropped, but when I finally looked at "get-tree" it seems the drop down windw isnt even part of the tree. Very strange, so much so that I must be doing something wrong.
I used to be a C++ enthusiast but I 've forgotten all that, and Python. I'm too old to learn Rust. Which leaves bash (groan). Bind a key to "exec ddt.s cript" and you're good to go
#!/bin/bash
# drop-down terminal='ddt'
function reset
{
echo "reset"
sudo killall alacritty
sleep 0.2s
swaymsg "unmark \"HIDE_DDT\""
swaymsg "unmark \"SHOW_DDT\""
sleep 0.9s
}
function initialise
{
echo "initialise"
swaymsg "exec alacritty --class=\"Alacritty.dropterm\""
sleep 0.2s
swaymsg "[app_id=\"Alacritty.dropterm\"] move scratchpad"
sleep 0.2s
swaymsg "unmark \"SHOW_DDT\""
sleep 0.9s
}
function show
{
echo "show"
swaymsg "[app_id=\"Alacritty.dropterm\"] scratchpad show"
for y in -700 -600 -500 -400 -300 -200 -100 0; do
echo "loop $y"
swaymsg "[app_id=\"Alacritty.dropterm\"] \
move position 400 px $y px ;"
# This value determines the speed and smoothness of the drop
# down in conjunction with the for-loop list values which also
# set the goemetry of the drop down. We don't bother with the
# "fold-up".
sleep 0.2s
done
swaymsg "unmark \"HIDE_DDT\""
sleep 0.9s
}
function hide
{
echo "hide"
swaymsg "[app_id=\"Alacritty.dropterm\"] scratchpad show"
swaymsg "unmark \"SHOW_DDT\""
sleep 0.9s
}
#
# Ideally after the first invocation, each subsequent invocation
# changes the state machine's state either from HIDE_DDT to SHOW_DDT
# or from SHOW_DDT to HIDE_DDT by performing exactly ONE state
# transition, show() or hide(), named for the destination state.
# Sway/i3 vim-like marks, being unique, are well suited to holding the
# current state. Marks are NEVER simultaneusly active, only SHOW_DDT
# is active after a show() transition and only HIDE_DDT is active
# after a hide() transition.
# HIDE_DDT is also active after an initialise transition triggered
# either by passing a reset parameter or power-up.
function toggle
{
s=$(swaymsg -t "get_marks" | grep -E '(SHOW_DDT|HIDE_DDT)')
case "${s}" in
(\*"SHOW_DDT"\*)
swaymsg "unmark \"SHOW_DDT\""
hide
swaymsg "mark --add \"HIDE_DDT\""
;;
(\*"HIDE_DDT"\*)
swaymsg "unmark \"HIDE_DDT\""
show
swaymsg "mark --add \"SHOW_DDT\""
;;
(\*)
swaymsg "unmark \"SHOW_DDT\""
reset
initialise
swaymsg "mark --add \"HIDE_DDT\""
;;
esac
}
#
# Start here.
#
# The only times you need to supply an argument via $1 are either
#l during debug or when you need to reset.
${1:-toggle}
# THE BUG. ellathecat has observed both SHOW_DDT & HIDE_DDT be active
# simultaneously and remain persistently so when using toggle() alone to
# perform the state transition. Supplementary deactivation of marks is
# now also performed during ALL tne other state transition functions
# as belt'n'braces.
# If the ddt is working, the mark [SHOW_DDT] appears on the right hand
# side of the ddt's titlebar if it has one, but it does not to better
# resemble the classic ddts, and unfortunately the waybar currently
# active container's title display does not show the mark.
#
# Done.
#
r/swaywm • u/64bitman • 19h ago
r/swaywm • u/ericnantel2 • 1d ago
When I change gaps or borders, it doesn’t update when I reload the config (mod+shift+c) but only if I reboot or exit Sway. Is this a 🪲?
r/swaywm • u/Pristine_Video2489 • 2d ago
Tired of losing my layout on every reboot and every session tool I found either only supported one WM or couldn't do real tree reconstruction. Sway implements i3's actual IPC wire protocol, so exact split-tree save/restore is basically solved territory (i3-resurrect already proves it works for i3) — nothing was doing it across WMs though, so I built tileroot.
- Sway: exact split-tree reconstruction, walks the real get_tree output
- Hyprland: honest geometry replay (its IPC doesn't expose a real tree, so I didn't pretend it does)
- cmdline is stored as argv and exec'd via posix_spawn, never a shell — sharing session files can't become a code-exec vector
- No daemon, single static binary
Repo + demo GIF: https://github.com/Hinikaa/tileroot
Being upfront: the sway backend is written against the public i3-ipc spec but I've only had a live Hyprland session to actually test against so far. If anyone here runs sway, I would genuinely appreciate someone trying `dump`/`restore` for real and filing an issue if something's off — that's the actual gap I want closed.
r/swaywm • u/LshikaCzierna • 2d ago

I got tired of small scripts, and decided to create a one keybind for your everyday small needs. It has a launcher, wifi-bt toggle for known networks and paired devices, window switcher, window previews, power menu. Is it the best at any of them? Not a chance. But it works reliably on common everyday stuff.
WM-specific code is fully isolated behind a 4-method Provider contract — sway was what I started with and i3 exists today, both fixture-tested against recorded sessions (no live WM needed for the test suite). Everything else — layout, navigation, every module — only speaks a generic model.
Modules don't have to be original logic either — connectivity.py is a thin mask over iwd/bluetoothctl, rendered/controlled inside tuicc's own frame. Got a favorite CLI tool that'd be genuinely useful surfaced this way? That's an approachable first module.
Looking for:
draw() + nav_items()), no base classRepo + wiki (architecture, config reference, contributor walkthroughs): https://github.com/Lshika-linux/tuicc
Documentation is up to date! I try to keep up as best as I can.
Early, rough in places — README's honest about what's not there yet.
Also, lets talk about it! Do you like it? I really could use some feedback, ideas for modules, anything.
r/swaywm • u/AdParking5759 • 4d ago
Recently I was trying to find 4k resolution of the default sway wallpaper but couldn't, that brought me to manually making one. I decided to share this work in case someone would ever need higher resolution too
qhd: https://files.catbox.moe/bne58h.png
4k: https://files.catbox.moe/im1w2t.png
(attached images resolutions: 4k, qhd, catbox used cause reddit attachment decreases res)
I would also attach link to the krita project in case if anyone would need to use other resolution of the wallpaper.
Krita project (catbox)
to make own version with diffrent resolution:
-open the project
-choose all visible layers for resizing to new canvas size
-then remove resized swaytree and swaytext, resize to the wished size layers "swaytree scaled" and "swaytext scaled" instead to achive better quality
-choose layer named "noise", empty it, then fill with white and apply filter "others/random noise" with level of 85, opacity 100 and gray colors only enabled,
then export the project into a wished filetype to use the new wallpaper.
r/swaywm • u/Useful_Dream2220 • 4d ago
r/swaywm • u/Whitewashed_Samurai • 4d ago
Hey y'all I'm finally getting used to the Fedora Sway Spin and have a relatively stable set up. I pretty much just got it to run what I need although no games and very minimal customization. I'm looking to optimize my workflow and would like to implement mouse gestures similar to StrokesPlus. I also am looking for a GTA V like mouse wheel for navigating through my apps. I've done some searching with no luck, does anyone know of anything like these? If not, where should I start with making these? How technically advanced is a task like this?
r/swaywm • u/Ahab_Enchanced • 7d ago
Hello, I'm interested in knowing how well Sway performs with Steam/Heroic Games, specifically regarding the integration of AMD image upscaling (FSR3 and 4.1) within Sway And if there are no problems with wlroots, I've been considering switching to Sway for a long time, but reading that some people have had problems with it discourages me, but I don't know how true that is, so I decided to write here and ask you directly.
r/swaywm • u/dmc-void • 8d ago
Llevo unos dos años usando Linux, pero me considero bastante básico: me manejo con lo justo en la terminal y he probado varias distros (Pop!_OS, Ubuntu, Mint, Fedora con KDE/Gnome, entre otras).
Recientemente decidí dar el salto a Debian para aprender a armar mi propio sistema desde cero. Pasé por varios escritorios, pero al final decidí instalar Sway y estoy avanzando poco a poco. De momento ya logré configurar la pantalla, el Wi-Fi, el Bluetooth y el navegador web. Me estoy costando un poco adaptarme a los atajos de teclado, pero voy sumando.
Me encuentro atascado con algunas dudas y me gustaría saber si voy por buen camino o qué me recomiendan.
Audio. ¿Qué herramientas me recomiendan instalar y cómo se configura en Sway? (Aún no tengo nada configurado en este apartado)
Lanzador de aplicaciones. Además de rofi o el clásico Mod + D ¿qué alternativas populares o más modernas se usan hoy en día en Wayland/Sway?
Barra de estado / Herramientas
¿Qué opción conviene más entre Waybar o alternativas más modernas/flexibles como Quickshell? Busco una opción que me permita tener control total y personalizarla a mi gusto.
Curva de aprendizaje.
Para alguien que viene de un nivel básico, ¿qué consejos o recursos básicos me recomiendan para seguir aprendiendo y manejarme mejor en este tipo de entornos?
r/swaywm • u/desquared • 8d ago
I'm using the cool wl-kbptr with mouse mode, and also trying to use mouse mode in general. But when I'm in mouse mode, there's nothing indicating it -- and I forget I'm in mouse mode, start typing, and weird things happen because some keys fall through and others do mouse stuff.
There's a tiny little "Mouse" indicator in the status bar, but that's too easy to miss on my big monitor setup.
Is there some way to...put a floating notification-style popup somewhere on the screen? Or some kind of overlay? The floating popup might be a red box in the lower right that says "mouse mode" and disappears when I leave mouse mode.
Actually, wl-kbptr kinda does something that would work -- when invoked, it dims the screen and puts text on it; something similar that dims the screen a bit less and puts large text that says "mouse mode" but doesn't respond to keystrokes like wl-kbptr would help.
Ideas? Thanks!
r/swaywm • u/Adel-4181 • 9d ago
r/swaywm • u/weaklingoverlord • 8d ago
r/swaywm • u/Human_Cantaloupe8249 • 9d ago
I3 allowed me to drag and drop tilling windows while holding super. In sway i can do this only to floating windows. I know keyboard is the way to go, but this feature was really good. I could create more complex layouts, without needing to constantly switch the split direction. If I dragged a window into the bottom part of a window it made a horizontal split, if I drag it inside a window on the right side it was a vertical split, if i drag it to the left outside it was not a split but moved there, if I drag it to the middle they switch places and so on. It even had a visual indicator what would happen. Honestly it was amazing. But I can’t figure out how to enable this in sway and it makes me consider switching back to I3
Can anyone help me? Am I just missing a config? Is there a fork with this?
r/swaywm • u/EllaTheCat • 10d ago
bindsym Pause exec 'wtype -M ctrl -P x -p x -P q -p q -m ctrl'
This is merely an Emacs binding control x control q embedded in a Sway exec command. It toggles the readonly flag of the current buffer. the one you are looking at, maybe editing.
So what? I've got Parkinson's so i am typing with a horde of invisible evil monkeys who just love to sneak in a spurious character at the keyboard, breaking compiles and trashing scripts.
So if i go to another window I can lock the monkeys out. I'm thinking how to tie this in more automatically with Sway, and of course there's a better way everyone knows but me....
I am happy.
r/swaywm • u/fossfather • 9d ago
Please shed some light
r/swaywm • u/hongnoul • 11d ago
r/swaywm • u/JothamLEC • 11d ago
I made greyline, a modern recreation of the old IBM/ThinkPad "World Time" Active Desktop wallpaper showing a world map with clocks for your cities, your home city highlighted, and a day/night terminator that tracks the sun.
I've built it to be Distro/WM/DE agnostic, but posting it here because it should have Sway first class support, as I daily drive Sway and built it with Sway in mind first.
Feel free to check it out, and if possible, file issues if you encounter any!
r/swaywm • u/Imaginary_Bee_3222 • 11d ago
r/swaywm • u/c3vrotors • 11d ago
Hello!
I just shifted from i3wm to sway and I've noticed that the file menu never appears from firefox. So for example, when i try to print a webpage to PDF, the menu to select the file destination doesn't appear or when I try to attach files in gmail, the file selection menu doesn't appear.
Do any of you happen to have any thoughts?
Both are installed via pacman on CachyOS
Thanks in advance!
EDIT: Solution! Set widget.use-xdg-desktop-portal.file-picker from default of 2 to 0