2025-12-05 21:12:33 +01:00
2025-12-05 21:12:33 +01:00
2025-12-05 21:12:33 +01:00
2025-08-21 11:19:55 +02:00
2025-12-05 21:12:33 +01:00
2025-12-05 21:12:33 +01:00
2025-12-05 21:12:33 +01:00
2025-08-21 11:19:55 +02:00
2025-12-05 21:12:33 +01:00
2025-12-05 21:12:33 +01:00
2025-12-05 21:12:33 +01:00

status-badge Go Report Card License

sway-descratch

This is a more practical example for swayipc module usage. With sway you can move windows to a "scratchpad", i.e. like iconify it. There may be an official way to get back such windows, but I didn't find a good one. There's the "scratchpad show" command, but it doesn't allow you to select a window, it just shows the next one (and it keeps it in the floating state).

So, this example program lists all windows currently garaged on the scratchpad. When called with a windows id, it gets back the window to the current workspace and gives it focus - thus descratching it.

To add comfort to the process I added a small script which you can use as a ui to it. It uses rofi which makes a handy ui. To use it, compile descratch with "go build", copy the descratch binary to some location within your $PATH and run the script.

Install

Copy the binary and rofi script for your platform to your $PATH. Add something like this to your sway config:

# mv container to scratchpad
bindsym $mod+k move scratchpad

# interactively get container back to current workspace
bindsym $mod+b exec descratcher-rofi.sh

Getting help

Although I'm happy to hear from sway-descratch users in private email, that's the best way for me to forget to do something.

In order to report a bug, unexpected behavior, feature requests or to submit a patch, please open an issue on github: https://codeberg.org/scip/sway-descratch/issues.

See also

This software is licensed under the GNU GENERAL PUBLIC LICENSE version 3.

Authors

T.v.Dein

Project homepage

https://codeberg.org/scip/sway-descratch

Licensed under the GNU GENERAL PUBLIC LICENSE version 3.

Author

T.v.Dein

Description
No description provided
Readme GPL-3.0 66 KiB
Languages
Go 52.6%
Shell 39.1%
Makefile 8.3%