mirror of
https://github.com/donovanglover/nix-config.git
synced 2024-12-15 19:30:51 +01:00
Revert "hyprland: Use hyprctl activeworkspace"
"activeworkspace" can be useful if you aren't interested in the special workspace, but since it ignores special workspaces, it causes this script to behave unexpectedly.
This commit is contained in:
parent
0c9c74fb2a
commit
1286ec48cb
@ -3,14 +3,12 @@
|
||||
# Temporary make the animation a fade for effect
|
||||
hyprctl keyword animation workspaces,1,12,default,fade
|
||||
|
||||
# Get the current window
|
||||
# Get the workspace ID of the current window
|
||||
cw=`hyprctl activewindow -j`
|
||||
|
||||
# Get the current workspace ID
|
||||
oldWorkspaceID=`hyprctl activeworkspace -j | jq -r '.id'`
|
||||
oldWorkspaceID=`echo "$cw" | jq -r '.workspace.id'`
|
||||
|
||||
# Get the number of windows on the workspace (0 = do nothing, 2 or more = swap)
|
||||
numWindowsOnWorkspace=`hyprctl activeworkspace -j | jq -r '.windows'`
|
||||
numWindowsOnWorkspace=`hyprctl workspaces -j | jq -r ".[] | select(.id==$oldWorkspaceID) | .windows"`
|
||||
|
||||
# If there are no windows yet, function as a program launcher
|
||||
if [[ $numWindowsOnWorkspace -eq 0 ]]; then
|
||||
@ -26,7 +24,7 @@ hyprctl dispatch layoutmsg focusmaster master
|
||||
hyprctl dispatch focuscurrentorlast
|
||||
|
||||
# Get the workspace ID of the last window
|
||||
newWorkspaceID=`hyprctl activeworkspace -j | jq -r '.id'`
|
||||
newWorkspaceID=`hyprctl activewindow -j | jq -r '.workspace.id'`
|
||||
|
||||
# If the workspaces are the same, swap master with that last window.
|
||||
if [[ "$oldWorkspaceID" == "$newWorkspaceID" ]]; then
|
||||
|
@ -6,6 +6,6 @@ ids="$(hyprctl clients -j | jq -r ".[] | select(.workspace.id == "$1") | .addres
|
||||
|
||||
# Move those windows to the current workspace
|
||||
for id in $ids; do
|
||||
hyprctl dispatch movetoworkspacesilent "$(hyprctl activeworkspace -j | jq -r '.id')",address:"$id"
|
||||
hyprctl dispatch movetoworkspacesilent "$(hyprctl monitors -j | jq -r '.[] | select(.focused==true) | .activeWorkspace.id')",address:"$id"
|
||||
hyprctl dispatch focuswindow address:"$id"
|
||||
done
|
||||
|
Loading…
Reference in New Issue
Block a user