added cycling of workspaces for honney-main
This commit is contained in:
+14
-3
@@ -23,9 +23,11 @@ hl.bind("SUPER+L", hl.dsp.exec_cmd(lockscreen), { locked = true })
|
||||
|
||||
-- Interacting with Workspaces
|
||||
for i = 1, 9 do
|
||||
hl.bind("SUPER+" .. tostring(i), hl.dsp.focus({ workspace = tostring(i) }))
|
||||
hl.bind("SUPER+CTRL+" .. tostring(i), hl.dsp.window.move({workspace = tostring(i), follow = false}))
|
||||
hl.bind("SUPER+SHIFT+" .. tostring(i), hl.dsp.window.move({workspace = tostring(i), follow = true}))
|
||||
if not (HOSTNAME == "honney-main" and i >= 1 and i <= 4) then
|
||||
hl.bind("SUPER+" .. tostring(i), hl.dsp.focus({ workspace = tostring(i) }))
|
||||
hl.bind("SUPER+CTRL+" .. tostring(i), hl.dsp.window.move({workspace = tostring(i), follow = false}))
|
||||
hl.bind("SUPER+SHIFT+" .. tostring(i), hl.dsp.window.move({workspace = tostring(i), follow = true}))
|
||||
end
|
||||
end
|
||||
|
||||
hl.bind("SUPER+0", hl.dsp.focus({ workspace = "10" }))
|
||||
@@ -102,6 +104,15 @@ if HOSTNAME == "honney-main" then
|
||||
hl.bind("ALT+Y", hl.dsp.exec_cmd("~/.config/hypr/scripts/writing/tmdb.sh"))
|
||||
end
|
||||
|
||||
if HOSTNAME == "honney-main" then
|
||||
local script = "~/.config/hypr/scripts/cycle_workspace.sh"
|
||||
for i = 1, 4 do
|
||||
hl.bind("SUPER+" .. i, hl.dsp.exec_cmd(script .. " " .. i .. " focus"))
|
||||
hl.bind("SUPER+CTRL+" .. i, hl.dsp.exec_cmd(script .. " " .. i .. " move"))
|
||||
hl.bind("SUPER+SHIFT+" .. i, hl.dsp.exec_cmd(script .. " " .. i .. " move_follow"))
|
||||
end
|
||||
end
|
||||
|
||||
-- Quickshell
|
||||
hl.bind("SUPER + SHIFT + W", hl.dsp.global("quickshell:Wallpaper"))
|
||||
hl.bind("SUPER + SHIFT + J", hl.dsp.global("quickshell:JLearner"))
|
||||
|
||||
Executable
+51
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
BASE=$1
|
||||
ACTION=$2
|
||||
|
||||
case $BASE in
|
||||
1) GROUP="1 10 11 12" ;;
|
||||
2) GROUP="2 20 21 22" ;;
|
||||
3) GROUP="3 30 31 32" ;;
|
||||
4) GROUP="4 40 41 42" ;;
|
||||
*) exit 1 ;;
|
||||
esac
|
||||
|
||||
CURRENT=$(hyprctl activeworkspace -j 2>/dev/null | jq '.id')
|
||||
|
||||
NEXT=""
|
||||
FOUND=0
|
||||
for WS in $GROUP; do
|
||||
if [ "$FOUND" = "1" ]; then
|
||||
NEXT=$WS
|
||||
break
|
||||
fi
|
||||
[ "$WS" = "$CURRENT" ] && FOUND=1
|
||||
done
|
||||
if [ -z "$NEXT" ] && [ "$FOUND" = "1" ]; then
|
||||
NEXT=$(echo "$GROUP" | awk '{print $1}')
|
||||
fi
|
||||
|
||||
if [ -z "$NEXT" ]; then
|
||||
for WS in $GROUP; do
|
||||
[ "$WS" = "$BASE" ] && continue
|
||||
for MWS in $(hyprctl monitors -j 2>/dev/null | jq '.[].activeWorkspace.id'); do
|
||||
if [ "$WS" = "$MWS" ]; then
|
||||
NEXT=$WS
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
[ -z "$NEXT" ] && NEXT=$BASE
|
||||
fi
|
||||
|
||||
case $ACTION in
|
||||
focus)
|
||||
hyprctl dispatch "hl.dsp.focus({ workspace = \"$NEXT\" })"
|
||||
;;
|
||||
move)
|
||||
hyprctl dispatch "hl.dsp.window.move({ workspace = \"$NEXT\", follow = false })"
|
||||
;;
|
||||
move_follow)
|
||||
hyprctl dispatch "hl.dsp.window.move({ workspace = \"$NEXT\", follow = true })"
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user