diff --git a/module/common/bash/module/Sway.nix b/module/common/bash/module/Sway.nix new file mode 100644 index 0000000..0cfc8c1 --- /dev/null +++ b/module/common/bash/module/Sway.nix @@ -0,0 +1,10 @@ +{ ... }: { + text = '' + # Kill all windows in Sway scratchpad. + function sway_scratchpad_kill() { + for window in $(swaymsg -t get_tree | jq -r 'recurse(.nodes[]?) | select(.name == "__i3_scratch").floating_nodes[].id'); do + swaymsg [ con_id="$window" ] kill + done + } + ''; +} diff --git a/module/desktop/waybar/config/default.nix b/module/desktop/waybar/config/default.nix index b6057bc..d45f731 100644 --- a/module/desktop/waybar/config/default.nix +++ b/module/desktop/waybar/config/default.nix @@ -31,7 +31,9 @@ "show-empty": false, "format-icons": ["", ""], "tooltip": true, - "tooltip-format": "{app}: {title}" + "tooltip-format": "{app}: {title}", + "on-click": "swaymsg 'scratchpad show'", + "on-click-right": "sway_scratchpad_kill" }, "tray": { // "icon-size": 21,