✨ feat(hypr): script to move a window into their specified workspace rule
made by https://github.com/moguay, thanks!
This commit is contained in:
parent
f72af7a38d
commit
e4b1ce6a10
2 changed files with 25 additions and 0 deletions
|
@ -72,6 +72,7 @@ bind = SUPERSHIFT, H, movewindow, l
|
||||||
bind = SUPERSHIFT, L, movewindow, r
|
bind = SUPERSHIFT, L, movewindow, r
|
||||||
bind = SUPERSHIFT, K, movewindow, u
|
bind = SUPERSHIFT, K, movewindow, u
|
||||||
bind = SUPERSHIFT, J, movewindow, d
|
bind = SUPERSHIFT, J, movewindow, d
|
||||||
|
bind = SUPERSHIFT, 51, exec, ~/.config/hypr/scripts/move_by_rules
|
||||||
|
|
||||||
# Center and split
|
# Center and split
|
||||||
bind = SUPER, S, togglesplit
|
bind = SUPER, S, togglesplit
|
||||||
|
|
24
.config/hypr/scripts/move_by_rules
Executable file
24
.config/hypr/scripts/move_by_rules
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
# Script created by: https://github.com/moguay
|
||||||
|
|
||||||
|
# Retrieve the active class of the window
|
||||||
|
active_class=$(hyprctl -j activewindow | jq '.class')
|
||||||
|
active_class=$(echo "$active_class" | tr -d \")
|
||||||
|
|
||||||
|
# Read the file and store lines containing 'workspace' in an array
|
||||||
|
grep 'workspace' ~/.config/hypr/themes/luna/rules.conf | while IFS= read -r line; do
|
||||||
|
workspace_value=$(echo "$line" | sed -n -e 's/^.*workspace \([0-9]*\)[ ,].*$/\1/p')
|
||||||
|
class_value=$(echo "$line" | sed -n -e 's/^.*class:\s*\(.*\)$/\1/p')
|
||||||
|
regex=$class_value
|
||||||
|
|
||||||
|
if [ -n "$workspace_value" ] && [ -n "$class_value" ]; then
|
||||||
|
|
||||||
|
# Compare the retrieved value with the active class of the window
|
||||||
|
if echo "$active_class" | grep -E "$regex"; then
|
||||||
|
#echo "The class matches the active class of the window. Workspace value to apply: $workspace_value"
|
||||||
|
hyprctl dispatch movetoworkspace "$workspace_value"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exit 1
|
Loading…
Add table
Reference in a new issue