From 47733e964a6017e81f04fa1f0e620ed01b064822 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Fri, 17 Jan 2025 16:43:58 +1100 Subject: main: workspace action --- change-wallpaper.fish | 2 +- main.fish | 10 ++++++++-- workspace-action.sh | 11 +++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) create mode 100755 workspace-action.sh diff --git a/change-wallpaper.fish b/change-wallpaper.fish index f590013..000a4c4 100755 --- a/change-wallpaper.fish +++ b/change-wallpaper.fish @@ -90,7 +90,7 @@ else # Change the wallpaper and output change if success hyprctl hyprpaper preload $chosen_wallpaper > /dev/null for monitor in (hyprctl -j monitors | jq -r '.[].name') - hyprctl hyprpaper wallpaper "$monitor,$chosen_wallpaper" && log "Changed wallpaper on $monitor to $chosen_wallpaper" > /dev/null + hyprctl hyprpaper wallpaper "$monitor,$chosen_wallpaper" > /dev/null && log "Changed wallpaper on $monitor to $chosen_wallpaper" end # Unload unused wallpapers to preserve memory diff --git a/main.fish b/main.fish index 9381ddb..41fd6a3 100755 --- a/main.fish +++ b/main.fish @@ -1,6 +1,6 @@ #!/bin/fish -cd (dirname (status filename)) || exit +cd (dirname (realpath (status filename))) || exit . ./util.fish @@ -18,6 +18,11 @@ if test "$argv[1]" = shell exit end +if test "$argv[1]" = workspace-action + ./workspace-action.sh $argv[2..] + exit +end + if test "$argv[1]" = change-wallpaper ./change-wallpaper.fish $argv[2..] exit @@ -27,8 +32,9 @@ test "$argv[1]" != help && error "Unknown command: $argv[1]" echo 'Usage: caelestia COMMAND' echo -echo 'COMMAND := help | shell | change-wallpaper' +echo 'COMMAND := help | shell | workspace-action | change-wallpaper' echo echo ' help: show this help message' echo ' shell: send a message to the shell' +echo ' workspace-action: execute a Hyprland workspace dispatcher in the current group' echo ' change-wallpaper: change the wallpaper' diff --git a/workspace-action.sh b/workspace-action.sh new file mode 100755 index 0000000..64a32f0 --- /dev/null +++ b/workspace-action.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +active_ws=$(hyprctl activeworkspace -j | jq -r '.id') + +if [[ "$1" == *"group" ]]; then + # Move to group + hyprctl dispatch "${1::-5}" $((($2 - 1) * 10 + ${active_ws:0-1})) +else + # Move to ws in group + hyprctl dispatch "$1" $((((active_ws - 1) / 10) * 10 + $2)) +fi -- cgit v1.2.3-freya