✨ 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, K, movewindow, u
|
||||
bind = SUPERSHIFT, J, movewindow, d
|
||||
bind = SUPERSHIFT, 51, exec, ~/.config/hypr/scripts/move_by_rules
|
||||
|
||||
# Center and split
|
||||
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