hyprctl: fix grammar mistakes in completions

This commit is contained in:
Mihai Fufezan 2024-04-04 10:49:25 +03:00
parent 1b43cd5231
commit 81766647f2
No known key found for this signature in database
4 changed files with 361 additions and 367 deletions

View File

@ -1,17 +1,17 @@
_hyprctl_cmd_3 () { _hyprctl_cmd_2 () {
hyprctl monitors | grep Monitor | awk '{ print $2 }' hyprctl monitors | grep Monitor | awk '{ print $2 }'
} }
_hyprctl_cmd_2 () { _hyprctl_cmd_1 () {
hyprpm list | grep "Plugin" | awk '{print $4}' hyprpm list | grep "Plugin" | awk '{print $4}'
} }
_hyprctl_cmd_0 () { _hyprctl_cmd_0 () {
hyprctl devices | sed -n '/Keyboard at/{n; s/^\s\+//; p}' hyprctl clients | grep class | awk '{print $2}'
} }
_hyprctl_cmd_1 () { _hyprctl_cmd_3 () {
hyprctl clients | grep class | awk '{print $2}' hyprctl devices | sed -n '/Keyboard at/{n; s/^\s\+//; p}'
} }
_hyprctl () { _hyprctl () {
@ -23,30 +23,30 @@ _hyprctl () {
local words cword local words cword
_get_comp_words_by_ref -n "$COMP_WORDBREAKS" words cword _get_comp_words_by_ref -n "$COMP_WORDBREAKS" words cword
local -a literals=("focusmonitor" "exit" "global" "forceallowsinput" "::=" "movecursortocorner" "movewindowpixel" "activeworkspace" "monitors" "movecurrentworkspacetomonitor" "togglespecialworkspace" "all" "animationstyle" "closewindow" "setprop" "clients" "denywindowfromgroup" "create" "moveoutofgroup" "headless" "activebordercolor" "rollinglog" "wayland" "movewindoworgroup" "setcursor" "fakefullscreen" "moveactive" "prev" "hyprpaper" "alpha" "inactivebordercolor" "-i" "--instance" "togglefloating" "settiled" "swapwindow" "dimaround" "setignoregrouplock" "layouts" "0" "forcenoborder" "notify" "binds" "focuswindow" "seterror" "1" "systeminfo" "exec" "cyclenext" "nomaxsize" "reload" "rounding" "layers" "setfloating" "5" "lockactivegroup" "movetoworkspace" "swapactiveworkspaces" "changegroupactive" "forcenodim" "0" "configerrors" "4" "forceopaque" "forcenoshadow" "workspaces" "1" "swapnext" "minsize" "alphaoverride" "toggleopaque" "decorations" "alterzorder" "bordersize" "-1" "focuscurrentorlast" "workspacerules" "splitratio" "remove" "renameworkspace" "movetoworkspacesilent" "killactive" "pass" "getoption" "switchxkblayout" "2" "auto" "pin" "version" "nofocus" "togglegroup" "workspace" "lockgroups" "-r" "movewindow" "cursorpos" "focusworkspaceoncurrentmonitor" "execr" "windowdancecompat" "globalshortcuts" "3" "keyword" "movefocus" "movecursor" "instances" "dpms" "x11" "moveintogroup" "resizewindowpixel" "kill" "moveworkspacetomonitor" "forceopaqueoverriden" "dispatch" "-j" "forcenoblur" "devices" "disable" "-b" "activewindow" "fullscreen" "keepaspectratio" "output" "plugin" "alphainactiveoverride" "alphainactive" "resizeactive" "centerwindow" "splash" "focusurgentorlast" "submap" "next" "movegroupwindow" "forcenoanims" "forcerendererreload" "maxsize" "dismissnotify") local -a literals=("cyclenext" "globalshortcuts" "cursorpos" "bordersize" "renameworkspace" "animationstyle" "focuswindow" "0" "auto" "swapnext" "forceallowsinput" "moveactive" "activebordercolor" "wayland" "layers" "minsize" "monitors" "1" "3" "settiled" "kill" "focusmonitor" "swapwindow" "moveoutofgroup" "notify" "movecursor" "setcursor" "seterror" "4" "movecurrentworkspacetomonitor" "nomaxsize" "forcenoanims" "setprop" "-i" "togglefloating" "workspacerules" "movetoworkspace" "disable" "setignoregrouplock" "workspaces" "0" "closewindow" "movegroupwindow" "binds" "movewindow" "splitratio" "alpha" "denywindowfromgroup" "workspace" "configerrors" "togglegroup" "getoption" "forceopaque" "keepaspectratio" "--instance" "killactive" "pass" "decorations" "devices" "focuscurrentorlast" "submap" "global" "headless" "forcerendererreload" "movewindowpixel" "version" "dpms" "resizeactive" "moveintogroup" "5" "alphaoverride" "setfloating" "rollinglog" "::=" "rounding" "layouts" "moveworkspacetomonitor" "exec" "alphainactiveoverride" "alterzorder" "fakefullscreen" "nofocus" "keyword" "forcenoborder" "forcenodim" "pin" "output" "forcenoblur" "togglespecialworkspace" "fullscreen" "toggleopaque" "focusworkspaceoncurrentmonitor" "next" "changegroupactive" "-j" "instances" "execr" "exit" "clients" "all" "--batch" "dismissnotify" "inactivebordercolor" "switchxkblayout" "movetoworkspacesilent" "movewindoworgroup" "-r" "movefocus" "focusurgentorlast" "remove" "activeworkspace" "dispatch" "create" "centerwindow" "2" "hyprpaper" "-1" "reload" "alphainactive" "systeminfo" "plugin" "dimaround" "activewindow" "swapactiveworkspaces" "splash" "maxsize" "lockactivegroup" "windowdancecompat" "forceopaqueoverriden" "lockgroups" "movecursortocorner" "x11" "prev" "1" "resizewindowpixel" "forcenoshadow")
declare -A literal_transitions declare -A literal_transitions
literal_transitions[0]="([44]=31 [115]=3 [46]=3 [84]=21 [83]=3 [117]=11 [50]=3 [52]=3 [118]=3 [7]=3 [8]=28 [121]=25 [14]=7 [88]=3 [15]=3 [122]=24 [61]=3 [93]=11 [21]=3 [24]=3 [65]=3 [95]=3 [28]=3 [99]=3 [127]=3 [101]=30 [71]=18 [104]=3 [38]=3 [109]=3 [76]=3 [113]=11 [112]=27 [41]=1 [42]=3 [135]=2)" literal_transitions[0]="([101]=1 [72]=2 [32]=3 [1]=2 [2]=2 [75]=2 [103]=4 [35]=2 [106]=5 [39]=2 [43]=2 [110]=2 [82]=6 [111]=8 [49]=2 [51]=2 [86]=9 [115]=2 [117]=2 [119]=2 [14]=2 [57]=10 [58]=2 [16]=11 [120]=12 [20]=2 [122]=2 [124]=2 [24]=13 [65]=2 [94]=5 [95]=2 [26]=2 [27]=14 [98]=2 [100]=5)"
literal_transitions[6]="([86]=3 [19]=3 [106]=3 [22]=3)" literal_transitions[3]="([70]=26 [31]=26 [52]=26 [53]=26 [87]=26 [102]=2 [118]=2 [74]=1 [15]=2 [121]=26 [3]=1 [5]=2 [125]=2 [127]=26 [78]=26 [128]=26 [81]=26 [30]=26 [46]=2 [12]=2 [83]=26 [10]=26 [84]=26 [135]=26)"
literal_transitions[7]="([124]=3 [63]=8 [64]=8 [49]=8 [98]=8 [30]=3 [29]=3 [51]=2 [3]=8 [68]=3 [69]=8 [120]=8 [12]=3 [73]=2 [36]=8 [132]=8 [89]=8 [59]=8 [111]=8 [40]=8 [20]=3 [123]=8 [134]=3 [114]=8)" literal_transitions[7]="([101]=1 [72]=2 [32]=3 [1]=2 [2]=2 [75]=2 [103]=4 [35]=2 [39]=2 [43]=2 [110]=2 [82]=6 [111]=8 [49]=2 [51]=2 [86]=9 [115]=2 [117]=2 [119]=2 [14]=2 [57]=10 [58]=2 [16]=11 [120]=12 [20]=2 [122]=2 [124]=2 [24]=13 [65]=2 [95]=2 [26]=2 [27]=14 [98]=2)"
literal_transitions[8]="([39]=3 [45]=3)" literal_transitions[8]="([126]=2 [129]=2 [0]=2 [71]=2 [34]=2 [104]=2 [36]=2 [105]=2 [4]=2 [76]=2 [38]=2 [77]=2 [108]=2 [6]=2 [42]=2 [41]=2 [79]=2 [80]=2 [44]=2 [45]=2 [9]=2 [107]=2 [48]=2 [50]=2 [11]=2 [113]=2 [85]=2 [47]=2 [55]=2 [88]=2 [56]=2 [89]=2 [90]=2 [59]=2 [60]=2 [123]=2 [91]=2 [61]=2 [19]=2 [93]=2 [21]=2 [22]=2 [63]=2 [64]=2 [23]=2 [130]=2 [25]=2 [66]=2 [96]=2 [67]=2 [29]=2 [134]=2 [68]=2 [97]=2)"
literal_transitions[9]="([4]=10)" literal_transitions[9]="([112]=17 [109]=20)"
literal_transitions[10]="([32]=11 [31]=11)" literal_transitions[10]="([18]=2 [114]=2 [28]=2 [133]=2 [69]=2 [116]=2)"
literal_transitions[12]="([27]=3 [130]=3)" literal_transitions[11]="([99]=2)"
literal_transitions[15]="([4]=4)" literal_transitions[14]="([37]=2)"
literal_transitions[16]="([4]=17)" literal_transitions[15]="([73]=16)"
literal_transitions[17]="([60]=3)" literal_transitions[17]="([8]=2 [62]=2 [13]=2 [131]=2)"
literal_transitions[18]="([62]=3 [85]=3 [100]=3 [66]=3 [74]=3 [54]=3)" literal_transitions[18]="([73]=19)"
literal_transitions[20]="([4]=13)" literal_transitions[22]="([73]=23)"
literal_transitions[25]="([17]=6 [78]=26)" literal_transitions[23]="([40]=2)"
literal_transitions[27]="([0]=3 [1]=3 [47]=3 [48]=3 [2]=3 [80]=3 [81]=3 [82]=3 [5]=3 [6]=3 [53]=3 [55]=3 [10]=3 [9]=3 [56]=3 [119]=3 [13]=3 [87]=3 [16]=3 [57]=3 [18]=3 [58]=3 [90]=3 [94]=3 [96]=3 [91]=3 [23]=3 [92]=3 [25]=3 [26]=3 [67]=3 [97]=3 [125]=3 [126]=3 [33]=3 [70]=3 [102]=3 [34]=3 [103]=3 [72]=3 [35]=3 [128]=3 [129]=3 [75]=3 [37]=3 [105]=3 [107]=3 [108]=3 [77]=3 [110]=3 [131]=3 [43]=3 [133]=3 [79]=3)" literal_transitions[24]="([33]=5 [54]=5)"
literal_transitions[28]="([11]=3)" literal_transitions[25]="([73]=24)"
literal_transitions[29]="([42]=3 [115]=3 [44]=31 [50]=3 [83]=3 [84]=21 [52]=3 [118]=3 [7]=3 [8]=28 [121]=25 [14]=7 [88]=3 [15]=3 [122]=24 [61]=3 [21]=3 [24]=3 [65]=3 [95]=3 [28]=3 [99]=3 [127]=3 [101]=30 [71]=18 [104]=3 [38]=3 [109]=3 [76]=3 [112]=27 [41]=1 [46]=3 [135]=2)" literal_transitions[26]="([17]=2 [7]=2)"
literal_transitions[31]="([116]=3)" literal_transitions[27]="([132]=2 [92]=2)"
literal_transitions[32]="([4]=22)" literal_transitions[29]="([73]=32)"
declare -A match_anything_transitions declare -A match_anything_transitions
match_anything_transitions=([0]=29 [4]=5 [23]=15 [2]=3 [18]=19 [28]=9 [31]=9 [24]=3 [29]=29 [13]=14 [14]=32 [1]=2 [22]=23 [19]=20 [5]=16 [12]=3 [30]=3 [3]=9 [21]=12 [26]=3) match_anything_transitions=([1]=2 [27]=2 [10]=31 [30]=22 [14]=25 [7]=7 [2]=25 [28]=29 [16]=21 [12]=2 [31]=15 [0]=7 [19]=28 [20]=2 [6]=2 [32]=30 [13]=1 [11]=25 [21]=18 [4]=27)
declare -A subword_transitions declare -A subword_transitions
local state=0 local state=0
@ -113,7 +113,7 @@ _hyprctl () {
done done
fi fi
declare -A commands declare -A commands
commands=([4]=0 [13]=2 [22]=3 [18]=1) commands=([32]=3 [16]=1 [19]=2 [10]=0)
if [[ -v "commands[$state]" ]]; then if [[ -v "commands[$state]" ]]; then
local command_id=${commands[$state]} local command_id=${commands[$state]}
local completions=() local completions=()

View File

@ -1,21 +1,21 @@
function _hyprctl_4 function _hyprctl_3
set 1 $argv[1] set 1 $argv[1]
hyprctl monitors | grep Monitor | awk '{ print $2 }' hyprctl monitors | grep Monitor | awk '{ print $2 }'
end end
function _hyprctl_3 function _hyprctl_2
set 1 $argv[1] set 1 $argv[1]
hyprpm list | grep "Plugin" | awk '{print $4}' hyprpm list | grep "Plugin" | awk '{print $4}'
end end
function _hyprctl_1 function _hyprctl_1
set 1 $argv[1] set 1 $argv[1]
hyprctl devices | sed -n '/Keyboard at/{n; s/^\s\+//; p}' hyprctl clients | grep class | awk '{print $2}'
end end
function _hyprctl_2 function _hyprctl_4
set 1 $argv[1] set 1 $argv[1]
hyprctl clients | grep class | awk '{print $2}' hyprctl devices | sed -n '/Keyboard at/{n; s/^\s\+//; p}'
end end
function _hyprctl function _hyprctl
@ -29,130 +29,130 @@ function _hyprctl
set COMP_CWORD (count $COMP_WORDS) set COMP_CWORD (count $COMP_WORDS)
end end
set --local literals "focusmonitor" "exit" "global" "forceallowsinput" "::=" "movecursortocorner" "movewindowpixel" "activeworkspace" "monitors" "movecurrentworkspacetomonitor" "togglespecialworkspace" "all" "animationstyle" "closewindow" "setprop" "clients" "denywindowfromgroup" "create" "moveoutofgroup" "headless" "activebordercolor" "rollinglog" "wayland" "movewindoworgroup" "setcursor" "fakefullscreen" "moveactive" "prev" "hyprpaper" "alpha" "inactivebordercolor" "-i" "--instance" "togglefloating" "settiled" "swapwindow" "dimaround" "setignoregrouplock" "layouts" "0" "forcenoborder" "notify" "binds" "focuswindow" "seterror" "1" "systeminfo" "exec" "cyclenext" "nomaxsize" "reload" "rounding" "layers" "setfloating" "5" "lockactivegroup" "movetoworkspace" "swapactiveworkspaces" "changegroupactive" "forcenodim" "0" "configerrors" "4" "forceopaque" "forcenoshadow" "workspaces" "1" "swapnext" "minsize" "alphaoverride" "toggleopaque" "decorations" "alterzorder" "bordersize" "-1" "focuscurrentorlast" "workspacerules" "splitratio" "remove" "renameworkspace" "movetoworkspacesilent" "killactive" "pass" "getoption" "switchxkblayout" "2" "auto" "pin" "version" "nofocus" "togglegroup" "workspace" "lockgroups" "-r" "movewindow" "cursorpos" "focusworkspaceoncurrentmonitor" "execr" "windowdancecompat" "globalshortcuts" "3" "keyword" "movefocus" "movecursor" "instances" "dpms" "x11" "moveintogroup" "resizewindowpixel" "kill" "moveworkspacetomonitor" "forceopaqueoverriden" "dispatch" "-j" "forcenoblur" "devices" "disable" "-b" "activewindow" "fullscreen" "keepaspectratio" "output" "plugin" "alphainactiveoverride" "alphainactive" "resizeactive" "centerwindow" "splash" "focusurgentorlast" "submap" "next" "movegroupwindow" "forcenoanims" "forcerendererreload" "maxsize" "dismissnotify" set --local literals "cyclenext" "globalshortcuts" "cursorpos" "bordersize" "renameworkspace" "animationstyle" "focuswindow" "0" "auto" "swapnext" "forceallowsinput" "moveactive" "activebordercolor" "wayland" "layers" "minsize" "monitors" "1" "3" "settiled" "kill" "focusmonitor" "swapwindow" "moveoutofgroup" "notify" "movecursor" "setcursor" "seterror" "4" "movecurrentworkspacetomonitor" "nomaxsize" "forcenoanims" "setprop" "-i" "togglefloating" "workspacerules" "movetoworkspace" "disable" "setignoregrouplock" "workspaces" "0" "closewindow" "movegroupwindow" "binds" "movewindow" "splitratio" "alpha" "denywindowfromgroup" "workspace" "configerrors" "togglegroup" "getoption" "forceopaque" "keepaspectratio" "--instance" "killactive" "pass" "decorations" "devices" "focuscurrentorlast" "submap" "global" "headless" "forcerendererreload" "movewindowpixel" "version" "dpms" "resizeactive" "moveintogroup" "5" "alphaoverride" "setfloating" "rollinglog" "::=" "rounding" "layouts" "moveworkspacetomonitor" "exec" "alphainactiveoverride" "alterzorder" "fakefullscreen" "nofocus" "keyword" "forcenoborder" "forcenodim" "pin" "output" "forcenoblur" "togglespecialworkspace" "fullscreen" "toggleopaque" "focusworkspaceoncurrentmonitor" "next" "changegroupactive" "-j" "instances" "execr" "exit" "clients" "all" "--batch" "dismissnotify" "inactivebordercolor" "switchxkblayout" "movetoworkspacesilent" "movewindoworgroup" "-r" "movefocus" "focusurgentorlast" "remove" "activeworkspace" "dispatch" "create" "centerwindow" "2" "hyprpaper" "-1" "reload" "alphainactive" "systeminfo" "plugin" "dimaround" "activewindow" "swapactiveworkspaces" "splash" "maxsize" "lockactivegroup" "windowdancecompat" "forceopaqueoverriden" "lockgroups" "movecursortocorner" "x11" "prev" "1" "resizewindowpixel" "forcenoshadow"
set --local descriptions set --local descriptions
set descriptions[1] "focuses a monitor" set descriptions[1] "Focus the next window on a workspace"
set descriptions[2] "exits the compositor with no questions asked" set descriptions[3] "Get the current cursor pos in global layout coordinates"
set descriptions[3] "Executes a Global Shortcut using the GlobalShortcuts portal" set descriptions[5] "Rename a workspace"
set descriptions[6] "moves the cursor to the corner of the active window" set descriptions[7] "Focus the first window matching"
set descriptions[7] "moves a selected window resizeparams" set descriptions[10] "Swap the focused window with the next window"
set descriptions[8] "Gets the active workspace name and its properties" set descriptions[12] "Move the active window"
set descriptions[9] "lists active outputs with their properties" set descriptions[15] "List the layers"
set descriptions[10] "Moves the active workspace to a monitor" set descriptions[17] "List active outputs with their properties"
set descriptions[11] "toggles a special workspace on/off" set descriptions[19] "ERROR"
set descriptions[14] "closes a specified window" set descriptions[20] "Set the current window's floating state to false"
set descriptions[15] "Sets a property of a window" set descriptions[21] "Get into a kill mode, where you can kill an app by clicking on it"
set descriptions[16] "Lists all windows with their properties" set descriptions[22] "Focus a monitor"
set descriptions[17] "Prohibit the active window from becoming or being inserted into group" set descriptions[23] "Swap the active window with another window"
set descriptions[19] "Moves the active window out of a group" set descriptions[24] "Move the active window out of a group"
set descriptions[22] "Prints tail of the log" set descriptions[25] "Send a notification using the built-in Hyprland notification system"
set descriptions[24] "Behaves as moveintogroup" set descriptions[26] "Move the cursor to a specified position"
set descriptions[25] "Sets the cursor theme and reloads the cursor manager" set descriptions[27] "Set the cursor theme and reloads the cursor manager"
set descriptions[26] "toggles the focused windows internal fullscreen state" set descriptions[28] "Set the hyprctl error string"
set descriptions[27] "moves the active window resizeparams" set descriptions[29] "CONFUSED"
set descriptions[29] "Interact with hyprpaper if present" set descriptions[30] "Move the active workspace to a monitor"
set descriptions[32] "Specify the Hyprland instalnce" set descriptions[33] "Set a property of a window"
set descriptions[33] "Specify the Hyprland instalnce" set descriptions[34] "Specify the Hyprland instance"
set descriptions[34] "toggles the current windows floating state" set descriptions[35] "Toggle the current window's floating state"
set descriptions[35] "sets the current windows floating state to false" set descriptions[36] "Get the list of defined workspace rules"
set descriptions[36] "swaps the active window with another window" set descriptions[37] "Move the focused window to a workspace"
set descriptions[38] "Temporarily enable or disable binds:ignore_group_lock" set descriptions[39] "Temporarily enable or disable binds:ignore_group_lock"
set descriptions[39] "lists all layouts available (including plugin'd ones)" set descriptions[40] "List all workspaces with their properties"
set descriptions[42] "Sends a notification using the built-in Hyprland notification system" set descriptions[41] "WARNING"
set descriptions[43] "Lists all registered binds" set descriptions[42] "Close a specified window"
set descriptions[44] "focuses the first window matching" set descriptions[43] "Swap the active window with the next or previous in a group"
set descriptions[45] "Sets the hyprctl error string" set descriptions[44] "List all registered binds"
set descriptions[47] "Prints system info" set descriptions[45] "Move the active window in a direction or to a monitor"
set descriptions[48] "executes a shell command" set descriptions[46] "Change the split ratio"
set descriptions[49] "focuses the next window on a workspace" set descriptions[48] "Prohibit the active window from becoming or being inserted into group"
set descriptions[51] "Force reloads the config" set descriptions[49] "Change the workspace"
set descriptions[53] "List the layers" set descriptions[50] "List all current config parsing errors"
set descriptions[54] "sets the current windows floating state to true" set descriptions[51] "Toggle the current active window into a group"
set descriptions[55] "OK" set descriptions[52] "Get the config option status (values)"
set descriptions[56] "Lock the focused group" set descriptions[55] "Specify the Hyprland instance"
set descriptions[57] "moves the focused window to a workspace" set descriptions[56] "Close the active window"
set descriptions[58] "Swaps the active workspaces between two monitors" set descriptions[57] "Pass the key to a specified window"
set descriptions[59] "switches to the next window in a group" set descriptions[58] "List all decorations and their info"
set descriptions[61] "WARNING" set descriptions[59] "List all connected keyboards and mice"
set descriptions[62] "Lists all current config parsing errors" set descriptions[60] "Switch focus from current to previously focused window"
set descriptions[63] "CONFISED" set descriptions[61] "Change the current mapping group"
set descriptions[66] "Lists all workspaces with their properties" set descriptions[62] "Execute a Global Shortcut using the GlobalShortcuts portal"
set descriptions[67] "INFOROR" set descriptions[64] "Force the renderer to reload all resources and outputs"
set descriptions[68] "swaps the focused window with the next window" set descriptions[65] "Move a selected window"
set descriptions[71] "toggles the current window to always be opaque" set descriptions[66] "Print the Hyprland version: flags, commit and branch of build"
set descriptions[72] "Lists all decorations and their info" set descriptions[67] "Set all monitors' DPMS status"
set descriptions[73] "Modify the window stack order of the active or specified window" set descriptions[68] "Resize the active window"
set descriptions[75] "No Icon" set descriptions[69] "Move the active window into a group"
set descriptions[76] "Switch focus from current to previously focused window" set descriptions[70] "OK"
set descriptions[77] "Gets the list of defined workspace rules" set descriptions[72] "Set the current window's floating state to true"
set descriptions[78] "changes the split ratio" set descriptions[73] "Print tail of the log"
set descriptions[80] "rename a workspace" set descriptions[76] "List all layouts available (including plugin ones)"
set descriptions[81] "move window doesnt switch to the workspace" set descriptions[77] "Move a workspace to a monitor"
set descriptions[82] "closes the active window" set descriptions[78] "Execute a shell command"
set descriptions[83] "passes the key to a specified window" set descriptions[80] "Modify the window stack order of the active or specified window"
set descriptions[84] "Gets the config option status (values)" set descriptions[81] "Toggle the focused window's internal fullscreen state"
set descriptions[85] "Sets the xkb layout index for a keyboard" set descriptions[83] "Issue a keyword to call a config keyword dynamically"
set descriptions[86] "HINT" set descriptions[86] "Pin a window"
set descriptions[88] "pins a window" set descriptions[87] "Allows adding/removing fake outputs to a specific backend"
set descriptions[89] "Prints the Hyprland version, meaning flags, commit and branch of build" set descriptions[89] "Toggle a special workspace on/off"
set descriptions[91] "toggles the current active window into a group" set descriptions[90] "Toggle the focused window's fullscreen state"
set descriptions[92] "changes the workspace" set descriptions[91] "Toggle the current window to always be opaque"
set descriptions[93] "Locks the groups" set descriptions[92] "Focus the requested workspace"
set descriptions[94] "Refresh state befor issuing the command" set descriptions[94] "Switch to the next window in a group"
set descriptions[95] "moves the active window in a direction or to a monitor" set descriptions[95] "Output in JSON format"
set descriptions[96] "Gets the current cursor pos in global layout coordinates" set descriptions[96] "List all running Hyprland instances and their info"
set descriptions[97] "Focuses the requested workspace" set descriptions[97] "Execute a raw shell command"
set descriptions[98] "executes a raw shell command" set descriptions[98] "Exit the compositor with no questions asked"
set descriptions[101] "ERROR" set descriptions[99] "List all windows with their properties"
set descriptions[102] "Issue a keyword to call a config keyword dynamically" set descriptions[101] "Execute a batch of commands separated by ;"
set descriptions[103] "moves the focus in a direction" set descriptions[102] "Dismiss all or up to amount of notifications"
set descriptions[104] "moves the cursor to a specified position" set descriptions[104] "Set the xkb layout index for a keyboard"
set descriptions[105] "Lists all running instances of Hyprland with thir info" set descriptions[105] "Move window doesnt switch to the workspace"
set descriptions[106] "sets all monitors DPMS status" set descriptions[106] "Behave as moveintogroup"
set descriptions[108] "Moves the active window into a group" set descriptions[107] "Refresh state after issuing the command"
set descriptions[109] "resizes a selected window" set descriptions[108] "Move the focus in a direction"
set descriptions[110] "Get into a kill mode, where you can kill an app by clicking on it" set descriptions[109] "Focus the urgent window or the last window"
set descriptions[111] "Moves a workspace to a monitor" set descriptions[111] "Get the active workspace name and its properties"
set descriptions[113] "Issue a dispatch to call a keybind dispatcher with an arg" set descriptions[112] "Issue a dispatch to call a keybind dispatcher with an arg"
set descriptions[114] "Output in JSON format" set descriptions[114] "Center the active window"
set descriptions[116] "Lists all connected keyboards and mice" set descriptions[115] "HINT"
set descriptions[118] "Execute a batch of commands separated by ;" set descriptions[116] "Interact with hyprpaper if present"
set descriptions[119] "Gets the active window name and its properties" set descriptions[117] "No Icon"
set descriptions[120] "toggles the focused windows fullscreen state" set descriptions[118] "Force reload the config"
set descriptions[122] "Allows you to add and remove fake outputs to your preferred backend" set descriptions[120] "Print system info"
set descriptions[123] "Interact with a plugin" set descriptions[121] "Interact with a plugin"
set descriptions[126] "resizes the active window" set descriptions[123] "Get the active window name and its properties"
set descriptions[127] "center the active window" set descriptions[124] "Swap the active workspaces between two monitors"
set descriptions[128] "Prints the current random splash" set descriptions[125] "Print the current random splash"
set descriptions[129] "Focuses the urgent window or the last window" set descriptions[127] "Lock the focused group"
set descriptions[130] "Change the current mapping group" set descriptions[130] "Lock the groups"
set descriptions[132] "Swaps the active window with the next or previous in a group" set descriptions[131] "Move the cursor to the corner of the active window"
set descriptions[134] "forces the renderer to reload all resources and outputs" set descriptions[134] "INFO"
set descriptions[136] "Dismisses all or up to amount of notifications" set descriptions[135] "Resize a selected window"
set --local literal_transitions set --local literal_transitions
set literal_transitions[1] "set inputs 45 116 47 85 84 118 51 53 119 8 9 122 15 89 16 123 62 94 22 25 66 96 29 100 128 102 72 105 39 110 77 114 113 42 43 136; set tos 32 4 4 22 4 12 4 4 4 4 29 26 8 4 4 25 4 12 4 4 4 4 4 4 4 31 19 4 4 4 4 12 28 2 4 3" set literal_transitions[1] "set inputs 102 73 33 2 3 76 104 36 107 40 44 111 83 112 50 52 87 116 118 120 15 58 59 17 121 21 123 125 25 66 95 96 27 28 99 101; set tos 2 3 4 3 3 3 5 3 6 3 3 3 7 9 3 3 10 3 3 3 3 11 3 12 13 3 3 3 14 3 6 3 3 15 3 6"
set literal_transitions[7] "set inputs 87 20 107 23; set tos 4 4 4 4" set literal_transitions[4] "set inputs 71 32 53 54 88 103 119 75 16 122 4 6 126 128 79 129 82 31 47 13 84 11 85 136; set tos 27 27 27 27 27 3 3 2 3 27 2 3 3 27 27 27 27 27 3 3 27 27 27 27"
set literal_transitions[8] "set inputs 125 64 65 50 99 31 30 52 4 69 70 121 13 74 37 133 90 60 112 41 21 124 135 115; set tos 4 9 9 9 9 4 4 3 9 4 9 9 4 3 9 9 9 9 9 9 4 9 4 9" set literal_transitions[8] "set inputs 102 73 33 2 3 76 104 36 40 44 111 83 112 50 52 87 116 118 120 15 58 59 17 121 21 123 125 25 66 96 27 28 99; set tos 2 3 4 3 3 3 5 3 3 3 3 7 9 3 3 10 3 3 3 3 11 3 12 13 3 3 3 14 3 3 3 15 3"
set literal_transitions[9] "set inputs 40 46; set tos 4 4" set literal_transitions[9] "set inputs 127 130 1 72 35 105 37 106 5 77 39 78 109 7 43 42 80 81 45 46 10 108 49 51 12 114 86 48 56 89 57 90 91 60 61 124 92 62 20 94 22 23 64 65 24 131 26 67 97 68 30 135 69 98; set tos 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3"
set literal_transitions[10] "set inputs 5; set tos 11" set literal_transitions[10] "set inputs 113 110; set tos 18 21"
set literal_transitions[11] "set inputs 33 32; set tos 12 12" set literal_transitions[11] "set inputs 19 115 29 134 70 117; set tos 3 3 3 3 3 3"
set literal_transitions[13] "set inputs 28 131; set tos 4 4" set literal_transitions[12] "set inputs 100; set tos 3"
set literal_transitions[16] "set inputs 5; set tos 5" set literal_transitions[15] "set inputs 38; set tos 3"
set literal_transitions[17] "set inputs 5; set tos 18" set literal_transitions[16] "set inputs 74; set tos 17"
set literal_transitions[18] "set inputs 61; set tos 4" set literal_transitions[18] "set inputs 9 63 14 132; set tos 3 3 3 3"
set literal_transitions[19] "set inputs 63 86 101 67 75 55; set tos 4 4 4 4 4 4" set literal_transitions[19] "set inputs 74; set tos 20"
set literal_transitions[21] "set inputs 5; set tos 14" set literal_transitions[23] "set inputs 74; set tos 24"
set literal_transitions[26] "set inputs 18 79; set tos 7 27" set literal_transitions[24] "set inputs 41; set tos 3"
set literal_transitions[28] "set inputs 1 2 48 49 3 81 82 83 6 7 54 56 11 10 57 120 14 88 17 58 19 59 91 95 97 92 24 93 26 27 68 98 126 127 34 71 103 35 104 73 36 129 130 76 38 106 108 109 78 111 132 44 134 80; set tos 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4" set literal_transitions[25] "set inputs 34 55; set tos 6 6"
set literal_transitions[29] "set inputs 12; set tos 4" set literal_transitions[26] "set inputs 74; set tos 25"
set literal_transitions[30] "set inputs 43 116 45 51 84 85 53 119 8 9 122 15 89 16 123 62 22 25 66 96 29 100 128 102 72 105 39 110 77 113 42 47 136; set tos 4 4 32 4 4 22 4 4 4 29 26 8 4 4 25 4 4 4 4 4 4 4 4 31 19 4 4 4 4 28 2 4 3" set literal_transitions[27] "set inputs 18 8; set tos 3 3"
set literal_transitions[32] "set inputs 117; set tos 4" set literal_transitions[28] "set inputs 133 93; set tos 3 3"
set literal_transitions[33] "set inputs 5; set tos 23" set literal_transitions[30] "set inputs 74; set tos 33"
set --local match_anything_transitions_from 1 5 24 3 19 29 32 25 30 14 15 2 23 20 6 13 31 4 22 27 set --local match_anything_transitions_from 2 28 11 31 15 8 3 29 17 13 32 1 20 21 7 33 14 12 22 5
set --local match_anything_transitions_to 30 6 16 4 20 10 10 4 30 15 33 3 24 21 17 4 4 10 13 4 set --local match_anything_transitions_to 3 3 32 23 26 8 26 30 22 3 16 8 29 3 3 31 2 26 19 28
set --local state 1 set --local state 1
set --local word_index 2 set --local word_index 2
@ -204,8 +204,8 @@ function _hyprctl
end end
end end
set command_states 5 14 23 19 set command_states 33 17 20 11
set command_ids 1 3 4 2 set command_ids 4 2 3 1
if contains $state $command_states if contains $state $command_states
set --local index (contains --index $state $command_states) set --local index (contains --index $state $command_states)
set --local function_id $command_ids[$index] set --local function_id $command_ids[$index]

View File

@ -4,25 +4,25 @@
hyprctl [<OPTIONS>]... <ARGUMENTS> hyprctl [<OPTIONS>]... <ARGUMENTS>
<OPTIONS> ::= (-i | --instance) "Specify the Hyprland instalnce" <OPTIONS> ::= (-i | --instance) "Specify the Hyprland instance"
| (-j) "Output in JSON format" | (-j) "Output in JSON format"
| (-r) "Refresh state befor issuing the command" | (-r) "Refresh state after issuing the command"
| (-b) "Execute a batch of commands separated by ;" | (--batch) "Execute a batch of commands separated by ;"
; ;
<WINDOWS> ::= {{{ hyprctl clients | grep class | awk '{print $2}' }}} <WINDOWS> ::= {{{ hyprctl clients | grep class | awk '{print $2}' }}}
<AVIABLE_PLUGINS> ::= {{{ hyprpm list | grep "Plugin" | awk '{print $4}' }}} <AVAILABLE_PLUGINS> ::= {{{ hyprpm list | grep "Plugin" | awk '{print $4}' }}}
<MONITORS> ::= {{{ hyprctl monitors | grep Monitor | awk '{ print $2 }' }}} <MONITORS> ::= {{{ hyprctl monitors | grep Monitor | awk '{ print $2 }' }}}
<KEYWORDS> ::= {{{ hyprctl devices | sed -n '/Keyboard at/{n; s/^\s\+//; p}' }}} <KEYBOARDS> ::= {{{ hyprctl devices | sed -n '/Keyboard at/{n; s/^\s\+//; p}' }}}
<NOTIFICATION_TYPES> ::= (0) "WARNING" <NOTIFICATION_TYPES> ::= (0) "WARNING"
| (1) "INFOROR" | (1) "INFO"
| (2) "HINT" | (2) "HINT"
| (3) "ERROR" | (3) "ERROR"
| (4) "CONFISED" | (4) "CONFUSED"
| (5) "OK" | (5) "OK"
| (-1) "No Icon" | (-1) "No Icon"
; ;
@ -54,93 +54,93 @@ hyprctl [<OPTIONS>]... <ARGUMENTS>
; ;
<ARGUMENTS> ::= (activewindow) "Gets the active window name and its properties" <ARGUMENTS> ::= (activewindow) "Get the active window name and its properties"
| (activeworkspace) "Gets the active workspace name and its properties" | (activeworkspace) "Get the active workspace name and its properties"
| (binds) "Lists all registered binds" | (binds) "List all registered binds"
| (clients) "Lists all windows with their properties" | (clients) "List all windows with their properties"
| (configerrors) "Lists all current config parsing errors" | (configerrors) "List all current config parsing errors"
| (cursorpos) "Gets the current cursor pos in global layout coordinates" | (cursorpos) "Get the current cursor pos in global layout coordinates"
| (decorations <WINDOWS>) "Lists all decorations and their info" | (decorations <WINDOWS>) "List all decorations and their info"
| (devices) "Lists all connected keyboards and mice" | (devices) "List all connected keyboards and mice"
| (dismissnotify <NUM>) "Dismisses all or up to amount of notifications" | (dismissnotify <NUM>) "Dismiss all or up to amount of notifications"
| (dispatch <DISPATCHERS>) "Issue a dispatch to call a keybind dispatcher with an arg" | (dispatch <DISPATCHERS>) "Issue a dispatch to call a keybind dispatcher with an arg"
| (getoption) "Gets the config option status (values)" | (getoption) "Get the config option status (values)"
| (globalshortcuts) "" | (globalshortcuts) ""
| (hyprpaper) "Interact with hyprpaper if present" | (hyprpaper) "Interact with hyprpaper if present"
| (instances) "Lists all running instances of Hyprland with thir info" | (instances) "List all running Hyprland instances and their info"
| (keyword <KEYWORDS>) "Issue a keyword to call a config keyword dynamically" | (keyword <KEYWORDS>) "Issue a keyword to call a config keyword dynamically"
| (kill) "Get into a kill mode, where you can kill an app by clicking on it" | (kill) "Get into a kill mode, where you can kill an app by clicking on it"
| (layers) "List the layers" | (layers) "List the layers"
| (layouts) "lists all layouts available (including plugin'd ones)" | (layouts) "List all layouts available (including plugin ones)"
| (monitors [all]) "lists active outputs with their properties" | (monitors [all]) "List active outputs with their properties"
| (notify <NOTIFICATION_TYPES> <NUM>) "Sends a notification using the built-in Hyprland notification system" | (notify <NOTIFICATION_TYPES> <NUM>) "Send a notification using the built-in Hyprland notification system"
| (output (create (wayland | x11 | headless | auto) | remove <MONITORS>)) "Allows you to add and remove fake outputs to your preferred backend" | (output (create (wayland | x11 | headless | auto) | remove <MONITORS>)) "Allows adding/removing fake outputs to a specific backend"
| (plugin <AVIABLE_PLUGINS>) "Interact with a plugin" | (plugin <AVIABLE_PLUGINS>) "Interact with a plugin"
| (reload) "Force reloads the config" | (reload) "Force reload the config"
| (rollinglog) "Prints tail of the log" | (rollinglog) "Print tail of the log"
| (setcursor) "Sets the cursor theme and reloads the cursor manager" | (setcursor) "Set the cursor theme and reloads the cursor manager"
| (seterror [disable]) "Sets the hyprctl error string" | (seterror [disable]) "Set the hyprctl error string"
| (setprop <PROPS>) "Sets a property of a window" | (setprop <PROPS>) "Set a property of a window"
| (splash) "Prints the current random splash" | (splash) "Print the current random splash"
| (switchxkblayout <KEYBOARDS> (next | prev | <NUM>)) "Sets the xkb layout index for a keyboard" | (switchxkblayout <KEYBOARDS> (next | prev | <NUM>)) "Set the xkb layout index for a keyboard"
| (systeminfo) "Prints system info" | (systeminfo) "Print system info"
| (version) "Prints the Hyprland version, meaning flags, commit and branch of build" | (version) "Print the Hyprland version: flags, commit and branch of build"
| (workspacerules) "Gets the list of defined workspace rules" | (workspacerules) "Get the list of defined workspace rules"
| (workspaces) "Lists all workspaces with their properties" | (workspaces) "List all workspaces with their properties"
; ;
<DISPATCHERS> ::= (exec) "executes a shell command" <DISPATCHERS> ::= (exec) "Execute a shell command"
| (execr) "executes a raw shell command" | (execr) "Execute a raw shell command"
| (pass) "passes the key to a specified window" | (pass) "Pass the key to a specified window"
| (killactive) "closes the active window" | (killactive) "Close the active window"
| (closewindow) "closes a specified window" | (closewindow) "Close a specified window"
| (workspace) "changes the workspace" | (workspace) "Change the workspace"
| (movetoworkspace) "moves the focused window to a workspace" | (movetoworkspace) "Move the focused window to a workspace"
| (movetoworkspacesilent) "move window doesnt switch to the workspace" | (movetoworkspacesilent) "Move window doesnt switch to the workspace"
| (togglefloating) "toggles the current windows floating state" | (togglefloating) "Toggle the current window's floating state"
| (setfloating) "sets the current windows floating state to true" | (setfloating) "Set the current window's floating state to true"
| (settiled) "sets the current windows floating state to false" | (settiled) "Set the current window's floating state to false"
| (fullscreen) "toggles the focused windows fullscreen state" | (fullscreen) "Toggle the focused window's fullscreen state"
| (fakefullscreen) "toggles the focused windows internal fullscreen state" | (fakefullscreen) "Toggle the focused window's internal fullscreen state"
| (dpms) "sets all monitors DPMS status" | (dpms) "Set all monitors' DPMS status"
| (pin) "pins a window" | (pin) "Pin a window"
| (movefocus) "moves the focus in a direction" | (movefocus) "Move the focus in a direction"
| (movewindow) "moves the active window in a direction or to a monitor" | (movewindow) "Move the active window in a direction or to a monitor"
| (swapwindow) "swaps the active window with another window" | (swapwindow) "Swap the active window with another window"
| (centerwindow) "center the active window" | (centerwindow) "Center the active window"
| (resizeactive) "resizes the active window" | (resizeactive) "Resize the active window"
| (moveactive) "moves the active window resizeparams" | (moveactive) "Move the active window"
| (resizewindowpixel) "resizes a selected window" | (resizewindowpixel) "Resize a selected window"
| (movewindowpixel) "moves a selected window resizeparams" | (movewindowpixel) "Move a selected window"
| (cyclenext) "focuses the next window on a workspace" | (cyclenext) "Focus the next window on a workspace"
| (swapnext) "swaps the focused window with the next window" | (swapnext) "Swap the focused window with the next window"
| (focuswindow) "focuses the first window matching" | (focuswindow) "Focus the first window matching"
| (focusmonitor) "focuses a monitor" | (focusmonitor) "Focus a monitor"
| (splitratio) "changes the split ratio" | (splitratio) "Change the split ratio"
| (toggleopaque) "toggles the current window to always be opaque" | (toggleopaque) "Toggle the current window to always be opaque"
| (movecursortocorner) "moves the cursor to the corner of the active window" | (movecursortocorner) "Move the cursor to the corner of the active window"
| (movecursor) "moves the cursor to a specified position" | (movecursor) "Move the cursor to a specified position"
| (renameworkspace) "rename a workspace" | (renameworkspace) "Rename a workspace"
| (exit) "exits the compositor with no questions asked" | (exit) "Exit the compositor with no questions asked"
| (forcerendererreload) "forces the renderer to reload all resources and outputs" | (forcerendererreload) "Force the renderer to reload all resources and outputs"
| (movecurrentworkspacetomonitor) "Moves the active workspace to a monitor" | (movecurrentworkspacetomonitor) "Move the active workspace to a monitor"
| (focusworkspaceoncurrentmonitor) "Focuses the requested workspace" | (focusworkspaceoncurrentmonitor) "Focus the requested workspace"
| (moveworkspacetomonitor) "Moves a workspace to a monitor" | (moveworkspacetomonitor) "Move a workspace to a monitor"
| (swapactiveworkspaces) "Swaps the active workspaces between two monitors" | (swapactiveworkspaces) "Swap the active workspaces between two monitors"
| (alterzorder) "Modify the window stack order of the active or specified window" | (alterzorder) "Modify the window stack order of the active or specified window"
| (togglespecialworkspace) "toggles a special workspace on/off" | (togglespecialworkspace) "Toggle a special workspace on/off"
| (focusurgentorlast) "Focuses the urgent window or the last window" | (focusurgentorlast) "Focus the urgent window or the last window"
| (togglegroup) "toggles the current active window into a group" | (togglegroup) "Toggle the current active window into a group"
| (changegroupactive) "switches to the next window in a group" | (changegroupactive) "Switch to the next window in a group"
| (focuscurrentorlast) "Switch focus from current to previously focused window" | (focuscurrentorlast) "Switch focus from current to previously focused window"
| (lockgroups) "Locks the groups" | (lockgroups) "Lock the groups"
| (lockactivegroup) "Lock the focused group" | (lockactivegroup) "Lock the focused group"
| (moveintogroup) "Moves the active window into a group" | (moveintogroup) "Move the active window into a group"
| (moveoutofgroup) "Moves the active window out of a group" | (moveoutofgroup) "Move the active window out of a group"
| (movewindoworgroup) "Behaves as moveintogroup" | (movewindoworgroup) "Behave as moveintogroup"
| (movegroupwindow) "Swaps the active window with the next or previous in a group" | (movegroupwindow) "Swap the active window with the next or previous in a group"
| (denywindowfromgroup) "Prohibit the active window from becoming or being inserted into group" | (denywindowfromgroup) "Prohibit the active window from becoming or being inserted into group"
| (setignoregrouplock) "Temporarily enable or disable binds:ignore_group_lock" | (setignoregrouplock) "Temporarily enable or disable binds:ignore_group_lock"
| (global) "Executes a Global Shortcut using the GlobalShortcuts portal" | (global) "Execute a Global Shortcut using the GlobalShortcuts portal"
| (submap) "Change the current mapping group" | (submap) "Change the current mapping group"
; ;

View File

@ -1,146 +1,144 @@
#compdef hyprctl _hyprctl_cmd_2 () {
_hyprctl_cmd_3 () {
hyprctl monitors | grep Monitor | awk '{ print $2 }' hyprctl monitors | grep Monitor | awk '{ print $2 }'
} }
_hyprctl_cmd_2 () { _hyprctl_cmd_1 () {
hyprpm list | grep "Plugin" | awk '{print $4}' hyprpm list | grep "Plugin" | awk '{print $4}'
} }
_hyprctl_cmd_0 () { _hyprctl_cmd_0 () {
hyprctl devices | sed -n '/Keyboard at/{n; s/^\s\+//; p}'
}
_hyprctl_cmd_1 () {
hyprctl clients | grep class | awk '{print $2}' hyprctl clients | grep class | awk '{print $2}'
} }
_hyprctl_cmd_3 () {
hyprctl devices | sed -n '/Keyboard at/{n; s/^\s\+//; p}'
}
_hyprctl () { _hyprctl () {
local -a literals=("focusmonitor" "exit" "global" "forceallowsinput" "::=" "movecursortocorner" "movewindowpixel" "activeworkspace" "monitors" "movecurrentworkspacetomonitor" "togglespecialworkspace" "all" "animationstyle" "closewindow" "setprop" "clients" "denywindowfromgroup" "create" "moveoutofgroup" "headless" "activebordercolor" "rollinglog" "wayland" "movewindoworgroup" "setcursor" "fakefullscreen" "moveactive" "prev" "hyprpaper" "alpha" "inactivebordercolor" "-i" "--instance" "togglefloating" "settiled" "swapwindow" "dimaround" "setignoregrouplock" "layouts" "0" "forcenoborder" "notify" "binds" "focuswindow" "seterror" "1" "systeminfo" "exec" "cyclenext" "nomaxsize" "reload" "rounding" "layers" "setfloating" "5" "lockactivegroup" "movetoworkspace" "swapactiveworkspaces" "changegroupactive" "forcenodim" "0" "configerrors" "4" "forceopaque" "forcenoshadow" "workspaces" "1" "swapnext" "minsize" "alphaoverride" "toggleopaque" "decorations" "alterzorder" "bordersize" "-1" "focuscurrentorlast" "workspacerules" "splitratio" "remove" "renameworkspace" "movetoworkspacesilent" "killactive" "pass" "getoption" "switchxkblayout" "2" "auto" "pin" "version" "nofocus" "togglegroup" "workspace" "lockgroups" "-r" "movewindow" "cursorpos" "focusworkspaceoncurrentmonitor" "execr" "windowdancecompat" "globalshortcuts" "3" "keyword" "movefocus" "movecursor" "instances" "dpms" "x11" "moveintogroup" "resizewindowpixel" "kill" "moveworkspacetomonitor" "forceopaqueoverriden" "dispatch" "-j" "forcenoblur" "devices" "disable" "-b" "activewindow" "fullscreen" "keepaspectratio" "output" "plugin" "alphainactiveoverride" "alphainactive" "resizeactive" "centerwindow" "splash" "focusurgentorlast" "submap" "next" "movegroupwindow" "forcenoanims" "forcerendererreload" "maxsize" "dismissnotify") local -a literals=("cyclenext" "globalshortcuts" "cursorpos" "bordersize" "renameworkspace" "animationstyle" "focuswindow" "0" "auto" "swapnext" "forceallowsinput" "moveactive" "activebordercolor" "wayland" "layers" "minsize" "monitors" "1" "3" "settiled" "kill" "focusmonitor" "swapwindow" "moveoutofgroup" "notify" "movecursor" "setcursor" "seterror" "4" "movecurrentworkspacetomonitor" "nomaxsize" "forcenoanims" "setprop" "-i" "togglefloating" "workspacerules" "movetoworkspace" "disable" "setignoregrouplock" "workspaces" "0" "closewindow" "movegroupwindow" "binds" "movewindow" "splitratio" "alpha" "denywindowfromgroup" "workspace" "configerrors" "togglegroup" "getoption" "forceopaque" "keepaspectratio" "--instance" "killactive" "pass" "decorations" "devices" "focuscurrentorlast" "submap" "global" "headless" "forcerendererreload" "movewindowpixel" "version" "dpms" "resizeactive" "moveintogroup" "5" "alphaoverride" "setfloating" "rollinglog" "::=" "rounding" "layouts" "moveworkspacetomonitor" "exec" "alphainactiveoverride" "alterzorder" "fakefullscreen" "nofocus" "keyword" "forcenoborder" "forcenodim" "pin" "output" "forcenoblur" "togglespecialworkspace" "fullscreen" "toggleopaque" "focusworkspaceoncurrentmonitor" "next" "changegroupactive" "-j" "instances" "execr" "exit" "clients" "all" "--batch" "dismissnotify" "inactivebordercolor" "switchxkblayout" "movetoworkspacesilent" "movewindoworgroup" "-r" "movefocus" "focusurgentorlast" "remove" "activeworkspace" "dispatch" "create" "centerwindow" "2" "hyprpaper" "-1" "reload" "alphainactive" "systeminfo" "plugin" "dimaround" "activewindow" "swapactiveworkspaces" "splash" "maxsize" "lockactivegroup" "windowdancecompat" "forceopaqueoverriden" "lockgroups" "movecursortocorner" "x11" "prev" "1" "resizewindowpixel" "forcenoshadow")
local -A descriptions local -A descriptions
descriptions[1]="focuses a monitor" descriptions[1]="Focus the next window on a workspace"
descriptions[2]="exits the compositor with no questions asked" descriptions[3]="Get the current cursor pos in global layout coordinates"
descriptions[3]="Executes a Global Shortcut using the GlobalShortcuts portal" descriptions[5]="Rename a workspace"
descriptions[6]="moves the cursor to the corner of the active window" descriptions[7]="Focus the first window matching"
descriptions[7]="moves a selected window resizeparams" descriptions[10]="Swap the focused window with the next window"
descriptions[8]="Gets the active workspace name and its properties" descriptions[12]="Move the active window"
descriptions[9]="lists active outputs with their properties" descriptions[15]="List the layers"
descriptions[10]="Moves the active workspace to a monitor" descriptions[17]="List active outputs with their properties"
descriptions[11]="toggles a special workspace on/off" descriptions[19]="ERROR"
descriptions[14]="closes a specified window" descriptions[20]="Set the current window's floating state to false"
descriptions[15]="Sets a property of a window" descriptions[21]="Get into a kill mode, where you can kill an app by clicking on it"
descriptions[16]="Lists all windows with their properties" descriptions[22]="Focus a monitor"
descriptions[17]="Prohibit the active window from becoming or being inserted into group" descriptions[23]="Swap the active window with another window"
descriptions[19]="Moves the active window out of a group" descriptions[24]="Move the active window out of a group"
descriptions[22]="Prints tail of the log" descriptions[25]="Send a notification using the built-in Hyprland notification system"
descriptions[24]="Behaves as moveintogroup" descriptions[26]="Move the cursor to a specified position"
descriptions[25]="Sets the cursor theme and reloads the cursor manager" descriptions[27]="Set the cursor theme and reloads the cursor manager"
descriptions[26]="toggles the focused windows internal fullscreen state" descriptions[28]="Set the hyprctl error string"
descriptions[27]="moves the active window resizeparams" descriptions[29]="CONFUSED"
descriptions[29]="Interact with hyprpaper if present" descriptions[30]="Move the active workspace to a monitor"
descriptions[32]="Specify the Hyprland instalnce" descriptions[33]="Set a property of a window"
descriptions[33]="Specify the Hyprland instalnce" descriptions[34]="Specify the Hyprland instance"
descriptions[34]="toggles the current windows floating state" descriptions[35]="Toggle the current window's floating state"
descriptions[35]="sets the current windows floating state to false" descriptions[36]="Get the list of defined workspace rules"
descriptions[36]="swaps the active window with another window" descriptions[37]="Move the focused window to a workspace"
descriptions[38]="Temporarily enable or disable binds:ignore_group_lock" descriptions[39]="Temporarily enable or disable binds:ignore_group_lock"
descriptions[39]="lists all layouts available (including plugin'd ones)" descriptions[40]="List all workspaces with their properties"
descriptions[42]="Sends a notification using the built-in Hyprland notification system" descriptions[41]="WARNING"
descriptions[43]="Lists all registered binds" descriptions[42]="Close a specified window"
descriptions[44]="focuses the first window matching" descriptions[43]="Swap the active window with the next or previous in a group"
descriptions[45]="Sets the hyprctl error string" descriptions[44]="List all registered binds"
descriptions[47]="Prints system info" descriptions[45]="Move the active window in a direction or to a monitor"
descriptions[48]="executes a shell command" descriptions[46]="Change the split ratio"
descriptions[49]="focuses the next window on a workspace" descriptions[48]="Prohibit the active window from becoming or being inserted into group"
descriptions[51]="Force reloads the config" descriptions[49]="Change the workspace"
descriptions[53]="List the layers" descriptions[50]="List all current config parsing errors"
descriptions[54]="sets the current windows floating state to true" descriptions[51]="Toggle the current active window into a group"
descriptions[55]="OK" descriptions[52]="Get the config option status (values)"
descriptions[56]="Lock the focused group" descriptions[55]="Specify the Hyprland instance"
descriptions[57]="moves the focused window to a workspace" descriptions[56]="Close the active window"
descriptions[58]="Swaps the active workspaces between two monitors" descriptions[57]="Pass the key to a specified window"
descriptions[59]="switches to the next window in a group" descriptions[58]="List all decorations and their info"
descriptions[61]="WARNING" descriptions[59]="List all connected keyboards and mice"
descriptions[62]="Lists all current config parsing errors" descriptions[60]="Switch focus from current to previously focused window"
descriptions[63]="CONFISED" descriptions[61]="Change the current mapping group"
descriptions[66]="Lists all workspaces with their properties" descriptions[62]="Execute a Global Shortcut using the GlobalShortcuts portal"
descriptions[67]="INFOROR" descriptions[64]="Force the renderer to reload all resources and outputs"
descriptions[68]="swaps the focused window with the next window" descriptions[65]="Move a selected window"
descriptions[71]="toggles the current window to always be opaque" descriptions[66]="Print the Hyprland version: flags, commit and branch of build"
descriptions[72]="Lists all decorations and their info" descriptions[67]="Set all monitors' DPMS status"
descriptions[73]="Modify the window stack order of the active or specified window" descriptions[68]="Resize the active window"
descriptions[75]="No Icon" descriptions[69]="Move the active window into a group"
descriptions[76]="Switch focus from current to previously focused window" descriptions[70]="OK"
descriptions[77]="Gets the list of defined workspace rules" descriptions[72]="Set the current window's floating state to true"
descriptions[78]="changes the split ratio" descriptions[73]="Print tail of the log"
descriptions[80]="rename a workspace" descriptions[76]="List all layouts available (including plugin ones)"
descriptions[81]="move window doesnt switch to the workspace" descriptions[77]="Move a workspace to a monitor"
descriptions[82]="closes the active window" descriptions[78]="Execute a shell command"
descriptions[83]="passes the key to a specified window" descriptions[80]="Modify the window stack order of the active or specified window"
descriptions[84]="Gets the config option status (values)" descriptions[81]="Toggle the focused window's internal fullscreen state"
descriptions[85]="Sets the xkb layout index for a keyboard" descriptions[83]="Issue a keyword to call a config keyword dynamically"
descriptions[86]="HINT" descriptions[86]="Pin a window"
descriptions[88]="pins a window" descriptions[87]="Allows adding/removing fake outputs to a specific backend"
descriptions[89]="Prints the Hyprland version, meaning flags, commit and branch of build" descriptions[89]="Toggle a special workspace on/off"
descriptions[91]="toggles the current active window into a group" descriptions[90]="Toggle the focused window's fullscreen state"
descriptions[92]="changes the workspace" descriptions[91]="Toggle the current window to always be opaque"
descriptions[93]="Locks the groups" descriptions[92]="Focus the requested workspace"
descriptions[94]="Refresh state befor issuing the command" descriptions[94]="Switch to the next window in a group"
descriptions[95]="moves the active window in a direction or to a monitor" descriptions[95]="Output in JSON format"
descriptions[96]="Gets the current cursor pos in global layout coordinates" descriptions[96]="List all running Hyprland instances and their info"
descriptions[97]="Focuses the requested workspace" descriptions[97]="Execute a raw shell command"
descriptions[98]="executes a raw shell command" descriptions[98]="Exit the compositor with no questions asked"
descriptions[101]="ERROR" descriptions[99]="List all windows with their properties"
descriptions[102]="Issue a keyword to call a config keyword dynamically" descriptions[101]="Execute a batch of commands separated by ;"
descriptions[103]="moves the focus in a direction" descriptions[102]="Dismiss all or up to amount of notifications"
descriptions[104]="moves the cursor to a specified position" descriptions[104]="Set the xkb layout index for a keyboard"
descriptions[105]="Lists all running instances of Hyprland with thir info" descriptions[105]="Move window doesnt switch to the workspace"
descriptions[106]="sets all monitors DPMS status" descriptions[106]="Behave as moveintogroup"
descriptions[108]="Moves the active window into a group" descriptions[107]="Refresh state after issuing the command"
descriptions[109]="resizes a selected window" descriptions[108]="Move the focus in a direction"
descriptions[110]="Get into a kill mode, where you can kill an app by clicking on it" descriptions[109]="Focus the urgent window or the last window"
descriptions[111]="Moves a workspace to a monitor" descriptions[111]="Get the active workspace name and its properties"
descriptions[113]="Issue a dispatch to call a keybind dispatcher with an arg" descriptions[112]="Issue a dispatch to call a keybind dispatcher with an arg"
descriptions[114]="Output in JSON format" descriptions[114]="Center the active window"
descriptions[116]="Lists all connected keyboards and mice" descriptions[115]="HINT"
descriptions[118]="Execute a batch of commands separated by ;" descriptions[116]="Interact with hyprpaper if present"
descriptions[119]="Gets the active window name and its properties" descriptions[117]="No Icon"
descriptions[120]="toggles the focused windows fullscreen state" descriptions[118]="Force reload the config"
descriptions[122]="Allows you to add and remove fake outputs to your preferred backend" descriptions[120]="Print system info"
descriptions[123]="Interact with a plugin" descriptions[121]="Interact with a plugin"
descriptions[126]="resizes the active window" descriptions[123]="Get the active window name and its properties"
descriptions[127]="center the active window" descriptions[124]="Swap the active workspaces between two monitors"
descriptions[128]="Prints the current random splash" descriptions[125]="Print the current random splash"
descriptions[129]="Focuses the urgent window or the last window" descriptions[127]="Lock the focused group"
descriptions[130]="Change the current mapping group" descriptions[130]="Lock the groups"
descriptions[132]="Swaps the active window with the next or previous in a group" descriptions[131]="Move the cursor to the corner of the active window"
descriptions[134]="forces the renderer to reload all resources and outputs" descriptions[134]="INFO"
descriptions[136]="Dismisses all or up to amount of notifications" descriptions[135]="Resize a selected window"
local -A literal_transitions local -A literal_transitions
literal_transitions[1]="([45]=32 [116]=4 [47]=4 [85]=22 [84]=4 [118]=12 [51]=4 [53]=4 [119]=4 [8]=4 [9]=29 [122]=26 [15]=8 [89]=4 [16]=4 [123]=25 [62]=4 [94]=12 [22]=4 [25]=4 [66]=4 [96]=4 [29]=4 [100]=4 [128]=4 [102]=31 [72]=19 [105]=4 [39]=4 [110]=4 [77]=4 [114]=12 [113]=28 [42]=2 [43]=4 [136]=3)" literal_transitions[1]="([102]=2 [73]=3 [33]=4 [2]=3 [3]=3 [76]=3 [104]=5 [36]=3 [107]=6 [40]=3 [44]=3 [111]=3 [83]=7 [112]=9 [50]=3 [52]=3 [87]=10 [116]=3 [118]=3 [120]=3 [15]=3 [58]=11 [59]=3 [17]=12 [121]=13 [21]=3 [123]=3 [125]=3 [25]=14 [66]=3 [95]=6 [96]=3 [27]=3 [28]=15 [99]=3 [101]=6)"
literal_transitions[7]="([87]=4 [20]=4 [107]=4 [23]=4)" literal_transitions[4]="([71]=27 [32]=27 [53]=27 [54]=27 [88]=27 [103]=3 [119]=3 [75]=2 [16]=3 [122]=27 [4]=2 [6]=3 [126]=3 [128]=27 [79]=27 [129]=27 [82]=27 [31]=27 [47]=3 [13]=3 [84]=27 [11]=27 [85]=27 [136]=27)"
literal_transitions[8]="([125]=4 [64]=9 [65]=9 [50]=9 [99]=9 [31]=4 [30]=4 [52]=3 [4]=9 [69]=4 [70]=9 [121]=9 [13]=4 [74]=3 [37]=9 [133]=9 [90]=9 [60]=9 [112]=9 [41]=9 [21]=4 [124]=9 [135]=4 [115]=9)" literal_transitions[8]="([102]=2 [73]=3 [33]=4 [2]=3 [3]=3 [76]=3 [104]=5 [36]=3 [40]=3 [44]=3 [111]=3 [83]=7 [112]=9 [50]=3 [52]=3 [87]=10 [116]=3 [118]=3 [120]=3 [15]=3 [58]=11 [59]=3 [17]=12 [121]=13 [21]=3 [123]=3 [125]=3 [25]=14 [66]=3 [96]=3 [27]=3 [28]=15 [99]=3)"
literal_transitions[9]="([40]=4 [46]=4)" literal_transitions[9]="([127]=3 [130]=3 [1]=3 [72]=3 [35]=3 [105]=3 [37]=3 [106]=3 [5]=3 [77]=3 [39]=3 [78]=3 [109]=3 [7]=3 [43]=3 [42]=3 [80]=3 [81]=3 [45]=3 [46]=3 [10]=3 [108]=3 [49]=3 [51]=3 [12]=3 [114]=3 [86]=3 [48]=3 [56]=3 [89]=3 [57]=3 [90]=3 [91]=3 [60]=3 [61]=3 [124]=3 [92]=3 [62]=3 [20]=3 [94]=3 [22]=3 [23]=3 [64]=3 [65]=3 [24]=3 [131]=3 [26]=3 [67]=3 [97]=3 [68]=3 [30]=3 [135]=3 [69]=3 [98]=3)"
literal_transitions[10]="([5]=11)" literal_transitions[10]="([113]=18 [110]=21)"
literal_transitions[11]="([33]=12 [32]=12)" literal_transitions[11]="([19]=3 [115]=3 [29]=3 [134]=3 [70]=3 [117]=3)"
literal_transitions[13]="([28]=4 [131]=4)" literal_transitions[12]="([100]=3)"
literal_transitions[16]="([5]=5)" literal_transitions[15]="([38]=3)"
literal_transitions[17]="([5]=18)" literal_transitions[16]="([74]=17)"
literal_transitions[18]="([61]=4)" literal_transitions[18]="([9]=3 [63]=3 [14]=3 [132]=3)"
literal_transitions[19]="([63]=4 [86]=4 [101]=4 [67]=4 [75]=4 [55]=4)" literal_transitions[19]="([74]=20)"
literal_transitions[21]="([5]=14)" literal_transitions[23]="([74]=24)"
literal_transitions[26]="([18]=7 [79]=27)" literal_transitions[24]="([41]=3)"
literal_transitions[28]="([1]=4 [2]=4 [48]=4 [49]=4 [3]=4 [81]=4 [82]=4 [83]=4 [6]=4 [7]=4 [54]=4 [56]=4 [11]=4 [10]=4 [57]=4 [120]=4 [14]=4 [88]=4 [17]=4 [58]=4 [19]=4 [59]=4 [91]=4 [95]=4 [97]=4 [92]=4 [24]=4 [93]=4 [26]=4 [27]=4 [68]=4 [98]=4 [126]=4 [127]=4 [34]=4 [71]=4 [103]=4 [35]=4 [104]=4 [73]=4 [36]=4 [129]=4 [130]=4 [76]=4 [38]=4 [106]=4 [108]=4 [109]=4 [78]=4 [111]=4 [132]=4 [44]=4 [134]=4 [80]=4)" literal_transitions[25]="([34]=6 [55]=6)"
literal_transitions[29]="([12]=4)" literal_transitions[26]="([74]=25)"
literal_transitions[30]="([43]=4 [116]=4 [45]=32 [51]=4 [84]=4 [85]=22 [53]=4 [119]=4 [8]=4 [9]=29 [122]=26 [15]=8 [89]=4 [16]=4 [123]=25 [62]=4 [22]=4 [25]=4 [66]=4 [96]=4 [29]=4 [100]=4 [128]=4 [102]=31 [72]=19 [105]=4 [39]=4 [110]=4 [77]=4 [113]=28 [42]=2 [47]=4 [136]=3)" literal_transitions[27]="([18]=3 [8]=3)"
literal_transitions[32]="([117]=4)" literal_transitions[28]="([133]=3 [93]=3)"
literal_transitions[33]="([5]=23)" literal_transitions[30]="([74]=33)"
local -A match_anything_transitions local -A match_anything_transitions
match_anything_transitions=([1]=30 [5]=6 [24]=16 [3]=4 [19]=20 [29]=10 [32]=10 [25]=4 [30]=30 [14]=15 [15]=33 [2]=3 [23]=24 [20]=21 [6]=17 [13]=4 [31]=4 [4]=10 [22]=13 [27]=4) match_anything_transitions=([2]=3 [28]=3 [11]=32 [31]=23 [15]=26 [8]=8 [3]=26 [29]=30 [17]=22 [13]=3 [32]=16 [1]=8 [20]=29 [21]=3 [7]=3 [33]=31 [14]=2 [12]=26 [22]=19 [5]=28)
declare -A subword_transitions declare -A subword_transitions
@ -200,7 +198,7 @@ _hyprctl () {
fi fi
done done
fi fi
local -A commands=([5]=0 [14]=2 [23]=3 [19]=1) local -A commands=([33]=3 [17]=1 [20]=2 [11]=0)
if [[ -v "commands[$state]" ]]; then if [[ -v "commands[$state]" ]]; then
local command_id=${commands[$state]} local command_id=${commands[$state]}
@ -253,8 +251,4 @@ _hyprctl () {
return 0 return 0
} }
if [[ $ZSH_EVAL_CONTEXT =~ :file$ ]]; then compdef _hyprctl hyprctl
compdef _hyprctl hyprctl
else
_hyprctl
fi