nix/home/file/sway/module/ScratchPad.nix

53 lines
1.2 KiB
Nix

{ ... }: {
text = ''
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# NOTE: Get id with `swaymsg -t get_tree`.
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym --to-code $mod+c scratchpad show
bindsym --to-code $mod+shift+C move scratchpad
bindsym --to-code $mod+shift+X exec swayscript scratchpad_kill
# Fix for a goddamn Firefox WebRTC indicator.
for_window [app_id="firefox" title="Firefox Sharing Indicator"] {
kill
}
# NetworkManager.
for_window [app_id="nm-connection-editor"] {
move scratchpad
scratchpad show
}
# Bluetooth.
for_window [app_id=".blueman-manager-wrapped"] {
move scratchpad
scratchpad show
}
# Sound.
for_window [app_id="pavucontrol"] {
move scratchpad
scratchpad show
}
# Android emulator controls.
for_window [title="Emulator" window_type="utility"] {
move scratchpad
}
# Calculator.
for_window [app_id="org.gnome.Calculator"] {
move scratchpad
scratchpad show
}
# JamesDsp.
for_window [title="JamesDSP for Linux"] {
move scratchpad
}
'';
}