A Python script to help list and switch sway windows easily through Fuzzel.

Requirements#
- Sway
- A dmenu launcher, including fuzzel and rofi
- Python3
- jq
- Grep
Also a nerd font is required if icons not show correctly. You can change fonts in your launcher settings.
Usage#
Get
sway-window-switcher.pyto somewhere you can execute.Run
sway-window-switcher.py --helpto get help.> sway-window-switcher.py -h usage: sway-window-switcher.py [-h] [-t {all,floating,scratch,regular}] [--plain-output] [-l {fuzzel,rofi}] List and select windows using swaymsg and dmenu launchers like fuzzel and rofi. options: -h, --help show this help message and exit -t {all,floating,scratch,regular}, --type {all,floating,scratch,regular} Type of window to list. Defaults to "all". --plain-output Print a plain, unbeautified list to dmenu. -l {fuzzel,rofi}, --launcher {fuzzel,rofi} Specific a dmenu launcher to use. Will use first exist launcher if not define.Bind the script to sway keybind to use it easily.
For example, to list all the windows in scratchpad and switch to it you can have this in sway config:
bindsym $mod+x exec sway-window-switcher -t scratchMake sure
sway-window-switcheris in you PATH.
Thanks to#
This script is basically a more featured python rewrite version of codingotaku’s script.
We used the windowTitleMap from HyprPanel for a better look.
