1
0

Merge branch 'main' of ssh://gitssh.forust.xyz:2221/forust/forust-dotfiles

This commit is contained in:
2026-05-29 12:23:35 +02:00
10 changed files with 1179 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {"type": "small"},
"general": {"detectVersion": false},
"modules": [
"title",
// "separator",
{"type": "os", "format": "{name}"},
// "host",
// "kernel",
"uptime",
// "packages",
"shell",
// "display",
"de",
{"type": "wm", "format": "{pretty-name}"},
// "wmtheme",
// "theme",
// "icons",
// "font",
// "cursor",
"terminal",
// "terminalfont",
"cpu",
"gpu",
"memory",
"swap",
"disk",
"localip",
"battery",
"poweradapter"
// "locale",
// "break",
// "colors"
]
}
@@ -0,0 +1,36 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {"type": "small"},
"general": {"detectVersion": false},
"modules": [
"title",
// "separator",
{"type": "os", "format": "{name}"},
// "host",
// "kernel",
"uptime",
// "packages",
"shell",
// "display",
"de",
{"type": "wm", "format": "{pretty-name}"},
// "wmtheme",
// "theme",
// "icons",
// "font",
// "cursor",
"terminal",
// "terminalfont",
"cpu",
"gpu",
"memory",
"swap",
"disk",
"localip",
"battery",
"poweradapter"
// "locale",
// "break",
// "colors"
]
}
+235
View File
@@ -0,0 +1,235 @@
# fish completion for cscli -*- shell-script -*-
function __cscli_debug
set -l file "$BASH_COMP_DEBUG_FILE"
if test -n "$file"
echo "$argv" >> $file
end
end
function __cscli_perform_completion
__cscli_debug "Starting __cscli_perform_completion"
# Extract all args except the last one
set -l args (commandline -opc)
# Extract the last arg and escape it in case it is a space
set -l lastArg (string escape -- (commandline -ct))
__cscli_debug "args: $args"
__cscli_debug "last arg: $lastArg"
# Disable ActiveHelp which is not supported for fish shell
set -l requestComp "CSCLI_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg"
__cscli_debug "Calling $requestComp"
set -l results (eval $requestComp 2> /dev/null)
# Some programs may output extra empty lines after the directive.
# Let's ignore them or else it will break completion.
# Ref: https://github.com/spf13/cobra/issues/1279
for line in $results[-1..1]
if test (string trim -- $line) = ""
# Found an empty line, remove it
set results $results[1..-2]
else
# Found non-empty line, we have our proper output
break
end
end
set -l comps $results[1..-2]
set -l directiveLine $results[-1]
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
# completions must be prefixed with the flag
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
__cscli_debug "Comps: $comps"
__cscli_debug "DirectiveLine: $directiveLine"
__cscli_debug "flagPrefix: $flagPrefix"
for comp in $comps
printf "%s%s\n" "$flagPrefix" "$comp"
end
printf "%s\n" "$directiveLine"
end
# this function limits calls to __cscli_perform_completion, by caching the result behind $__cscli_perform_completion_once_result
function __cscli_perform_completion_once
__cscli_debug "Starting __cscli_perform_completion_once"
if test -n "$__cscli_perform_completion_once_result"
__cscli_debug "Seems like a valid result already exists, skipping __cscli_perform_completion"
return 0
end
set --global __cscli_perform_completion_once_result (__cscli_perform_completion)
if test -z "$__cscli_perform_completion_once_result"
__cscli_debug "No completions, probably due to a failure"
return 1
end
__cscli_debug "Performed completions and set __cscli_perform_completion_once_result"
return 0
end
# this function is used to clear the $__cscli_perform_completion_once_result variable after completions are run
function __cscli_clear_perform_completion_once_result
__cscli_debug ""
__cscli_debug "========= clearing previously set __cscli_perform_completion_once_result variable =========="
set --erase __cscli_perform_completion_once_result
__cscli_debug "Successfully erased the variable __cscli_perform_completion_once_result"
end
function __cscli_requires_order_preservation
__cscli_debug ""
__cscli_debug "========= checking if order preservation is required =========="
__cscli_perform_completion_once
if test -z "$__cscli_perform_completion_once_result"
__cscli_debug "Error determining if order preservation is required"
return 1
end
set -l directive (string sub --start 2 $__cscli_perform_completion_once_result[-1])
__cscli_debug "Directive is: $directive"
set -l shellCompDirectiveKeepOrder 32
set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2)
__cscli_debug "Keeporder is: $keeporder"
if test $keeporder -ne 0
__cscli_debug "This does require order preservation"
return 0
end
__cscli_debug "This doesn't require order preservation"
return 1
end
# This function does two things:
# - Obtain the completions and store them in the global __cscli_comp_results
# - Return false if file completion should be performed
function __cscli_prepare_completions
__cscli_debug ""
__cscli_debug "========= starting completion logic =========="
# Start fresh
set --erase __cscli_comp_results
__cscli_perform_completion_once
__cscli_debug "Completion results: $__cscli_perform_completion_once_result"
if test -z "$__cscli_perform_completion_once_result"
__cscli_debug "No completion, probably due to a failure"
# Might as well do file completion, in case it helps
return 1
end
set -l directive (string sub --start 2 $__cscli_perform_completion_once_result[-1])
set --global __cscli_comp_results $__cscli_perform_completion_once_result[1..-2]
__cscli_debug "Completions are: $__cscli_comp_results"
__cscli_debug "Directive is: $directive"
set -l shellCompDirectiveError 1
set -l shellCompDirectiveNoSpace 2
set -l shellCompDirectiveNoFileComp 4
set -l shellCompDirectiveFilterFileExt 8
set -l shellCompDirectiveFilterDirs 16
if test -z "$directive"
set directive 0
end
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
if test $compErr -eq 1
__cscli_debug "Received error directive: aborting."
# Might as well do file completion, in case it helps
return 1
end
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
if test $filefilter -eq 1; or test $dirfilter -eq 1
__cscli_debug "File extension filtering or directory filtering not supported"
# Do full file completion instead
return 1
end
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
__cscli_debug "nospace: $nospace, nofiles: $nofiles"
# If we want to prevent a space, or if file completion is NOT disabled,
# we need to count the number of valid completions.
# To do so, we will filter on prefix as the completions we have received
# may not already be filtered so as to allow fish to match on different
# criteria than the prefix.
if test $nospace -ne 0; or test $nofiles -eq 0
set -l prefix (commandline -t | string escape --style=regex)
__cscli_debug "prefix: $prefix"
set -l completions (string match -r -- "^$prefix.*" $__cscli_comp_results)
set --global __cscli_comp_results $completions
__cscli_debug "Filtered completions are: $__cscli_comp_results"
# Important not to quote the variable for count to work
set -l numComps (count $__cscli_comp_results)
__cscli_debug "numComps: $numComps"
if test $numComps -eq 1; and test $nospace -ne 0
# We must first split on \t to get rid of the descriptions to be
# able to check what the actual completion will be.
# We don't need descriptions anyway since there is only a single
# real completion which the shell will expand immediately.
set -l split (string split --max 1 \t $__cscli_comp_results[1])
# Fish won't add a space if the completion ends with any
# of the following characters: @=/:.,
set -l lastChar (string sub -s -1 -- $split)
if not string match -r -q "[@=/:.,]" -- "$lastChar"
# In other cases, to support the "nospace" directive we trick the shell
# by outputting an extra, longer completion.
__cscli_debug "Adding second completion to perform nospace directive"
set --global __cscli_comp_results $split[1] $split[1].
__cscli_debug "Completions are now: $__cscli_comp_results"
end
end
if test $numComps -eq 0; and test $nofiles -eq 0
# To be consistent with bash and zsh, we only trigger file
# completion when there are no other completions
__cscli_debug "Requesting file completion"
return 1
end
end
return 0
end
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
# so we can properly delete any completions provided by another script.
# Only do this if the program can be found, or else fish may print some errors; besides,
# the existing completions will only be loaded if the program can be found.
if type -q "cscli"
# The space after the program name is essential to trigger completion for the program
# and not completion of the program name itself.
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
complete --do-complete "cscli " > /dev/null 2>&1
end
# Remove any pre-existing completions for the program since we will be handling all of them.
complete -c cscli -e
# this will get called after the two calls below and clear the $__cscli_perform_completion_once_result global
complete -c cscli -n '__cscli_clear_perform_completion_once_result'
# The call to __cscli_prepare_completions will setup __cscli_comp_results
# which provides the program's completion choices.
# If this doesn't require order preservation, we don't use the -k flag
complete -c cscli -n 'not __cscli_requires_order_preservation && __cscli_prepare_completions' -f -a '$__cscli_comp_results'
# otherwise we use the -k flag
complete -k -c cscli -n '__cscli_requires_order_preservation && __cscli_prepare_completions' -f -a '$__cscli_comp_results'
+259
View File
@@ -0,0 +1,259 @@
# Print an optspec for argparse to handle cmd's options that are independent of any subcommand.
function __fish_niri_global_optspecs
string join \n c/config= session h/help V/version
end
function __fish_niri_needs_command
# Figure out if the current invocation already has a command.
set -l cmd (commandline -opc)
set -e cmd[1]
argparse -s (__fish_niri_global_optspecs) -- $cmd 2>/dev/null
or return
if set -q argv[1]
# Also print the command, so this can be used to figure out what it is.
echo $argv[1]
return 1
end
return 0
end
function __fish_niri_using_subcommand
set -l cmd (__fish_niri_needs_command)
test -z "$cmd"
and return 1
contains -- $cmd[1] $argv
end
complete -c niri -n "__fish_niri_needs_command" -s c -l config -d 'Path to config file (default: `$XDG_CONFIG_HOME/niri/config.kdl`)' -r -F
complete -c niri -n "__fish_niri_needs_command" -l session -d 'Import environment globally to systemd and D-Bus, run D-Bus services'
complete -c niri -n "__fish_niri_needs_command" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c niri -n "__fish_niri_needs_command" -s V -l version -d 'Print version'
complete -c niri -n "__fish_niri_needs_command" -a "msg" -d 'Communicate with the running niri instance'
complete -c niri -n "__fish_niri_needs_command" -a "validate" -d 'Validate the config file'
complete -c niri -n "__fish_niri_needs_command" -a "panic" -d 'Cause a panic to check if the backtraces are good'
complete -c niri -n "__fish_niri_needs_command" -a "completions" -d 'Generate shell completions'
complete -c niri -n "__fish_niri_needs_command" -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -s j -l json -d 'Format output as JSON'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "outputs" -d 'List connected outputs'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "workspaces" -d 'List workspaces'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "windows" -d 'List open windows'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "layers" -d 'List open layer-shell surfaces'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "keyboard-layouts" -d 'Get the configured keyboard layouts'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "focused-output" -d 'Print information about the focused output'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "focused-window" -d 'Print information about the focused window'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "pick-window" -d 'Pick a window with the mouse and print information about it'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "pick-color" -d 'Pick a color from the screen with the mouse'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "action" -d 'Perform an action'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "output" -d 'Change output configuration temporarily'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "event-stream" -d 'Start continuously receiving events from the compositor'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "version" -d 'Print the version of the running niri instance'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "request-error" -d 'Request an error from the running niri instance'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "overview-state" -d 'Print the overview state'
complete -c niri -n "__fish_niri_using_subcommand msg; and not __fish_seen_subcommand_from outputs workspaces windows layers keyboard-layouts focused-output focused-window pick-window pick-color action output event-stream version request-error overview-state help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from outputs" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from workspaces" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from windows" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from layers" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from keyboard-layouts" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from focused-output" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from focused-window" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from pick-window" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from pick-color" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "quit" -d 'Exit niri'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "power-off-monitors" -d 'Power off all monitors via DPMS'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "power-on-monitors" -d 'Power on all monitors via DPMS'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "spawn" -d 'Spawn a command'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "spawn-sh" -d 'Spawn a command through the shell'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "do-screen-transition" -d 'Do a screen transition'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "screenshot" -d 'Open the screenshot UI'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "screenshot-screen" -d 'Screenshot the focused screen'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "screenshot-window" -d 'Screenshot the focused window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "toggle-keyboard-shortcuts-inhibit" -d 'Enable or disable the keyboard shortcuts inhibitor (if any) for the focused surface'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "close-window" -d 'Close the focused window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "fullscreen-window" -d 'Toggle fullscreen on the focused window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "toggle-windowed-fullscreen" -d 'Toggle windowed (fake) fullscreen on the focused window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window" -d 'Focus a window by id'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-in-column" -d 'Focus a window in the focused column by index'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-previous" -d 'Focus the previously focused window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-column-left" -d 'Focus the column to the left'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-column-right" -d 'Focus the column to the right'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-column-first" -d 'Focus the first column'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-column-last" -d 'Focus the last column'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-column-right-or-first" -d 'Focus the next column to the right, looping if at end'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-column-left-or-last" -d 'Focus the next column to the left, looping if at start'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-column" -d 'Focus a column by index'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-or-monitor-up" -d 'Focus the window or the monitor above'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-or-monitor-down" -d 'Focus the window or the monitor below'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-column-or-monitor-left" -d 'Focus the column or the monitor to the left'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-column-or-monitor-right" -d 'Focus the column or the monitor to the right'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-down" -d 'Focus the window below'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-up" -d 'Focus the window above'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-down-or-column-left" -d 'Focus the window below or the column to the left'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-down-or-column-right" -d 'Focus the window below or the column to the right'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-up-or-column-left" -d 'Focus the window above or the column to the left'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-up-or-column-right" -d 'Focus the window above or the column to the right'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-or-workspace-down" -d 'Focus the window or the workspace below'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-or-workspace-up" -d 'Focus the window or the workspace above'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-top" -d 'Focus the topmost window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-bottom" -d 'Focus the bottommost window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-down-or-top" -d 'Focus the window below or the topmost window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-window-up-or-bottom" -d 'Focus the window above or the bottommost window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-left" -d 'Move the focused column to the left'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-right" -d 'Move the focused column to the right'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-first" -d 'Move the focused column to the start of the workspace'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-last" -d 'Move the focused column to the end of the workspace'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-left-or-to-monitor-left" -d 'Move the focused column to the left or to the monitor to the left'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-right-or-to-monitor-right" -d 'Move the focused column to the right or to the monitor to the right'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-index" -d 'Move the focused column to a specific index on its workspace'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-down" -d 'Move the focused window down in a column'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-up" -d 'Move the focused window up in a column'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-down-or-to-workspace-down" -d 'Move the focused window down in a column or to the workspace below'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-up-or-to-workspace-up" -d 'Move the focused window up in a column or to the workspace above'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "consume-or-expel-window-left" -d 'Consume or expel the focused window left'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "consume-or-expel-window-right" -d 'Consume or expel the focused window right'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "consume-window-into-column" -d 'Consume the window to the right into the focused column'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "expel-window-from-column" -d 'Expel the focused window from the column'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "swap-window-right" -d 'Swap focused window with one to the right'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "swap-window-left" -d 'Swap focused window with one to the left'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "toggle-column-tabbed-display" -d 'Toggle the focused column between normal and tabbed display'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "set-column-display" -d 'Set the display mode of the focused column'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "center-column" -d 'Center the focused column on the screen'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "center-window" -d 'Center the focused window on the screen'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "center-visible-columns" -d 'Center all fully visible columns on the screen'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-workspace-down" -d 'Focus the workspace below'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-workspace-up" -d 'Focus the workspace above'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-workspace" -d 'Focus a workspace by reference (index or name)'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-workspace-previous" -d 'Focus the previous workspace'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-to-workspace-down" -d 'Move the focused window to the workspace below'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-to-workspace-up" -d 'Move the focused window to the workspace above'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-to-workspace" -d 'Move the focused window to a workspace by reference (index or name)'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-workspace-down" -d 'Move the focused column to the workspace below'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-workspace-up" -d 'Move the focused column to the workspace above'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-workspace" -d 'Move the focused column to a workspace by reference (index or name)'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-workspace-down" -d 'Move the focused workspace down'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-workspace-up" -d 'Move the focused workspace up'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-workspace-to-index" -d 'Move the focused workspace to a specific index on its monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "set-workspace-name" -d 'Set the name of the focused workspace'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "unset-workspace-name" -d 'Unset the name of the focused workspace'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-monitor-left" -d 'Focus the monitor to the left'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-monitor-right" -d 'Focus the monitor to the right'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-monitor-down" -d 'Focus the monitor below'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-monitor-up" -d 'Focus the monitor above'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-monitor-previous" -d 'Focus the previous monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-monitor-next" -d 'Focus the next monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-monitor" -d 'Focus a monitor by name'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-to-monitor-left" -d 'Move the focused window to the monitor to the left'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-to-monitor-right" -d 'Move the focused window to the monitor to the right'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-to-monitor-down" -d 'Move the focused window to the monitor below'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-to-monitor-up" -d 'Move the focused window to the monitor above'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-to-monitor-previous" -d 'Move the focused window to the previous monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-to-monitor-next" -d 'Move the focused window to the next monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-to-monitor" -d 'Move the focused window to a specific monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-monitor-left" -d 'Move the focused column to the monitor to the left'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-monitor-right" -d 'Move the focused column to the monitor to the right'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-monitor-down" -d 'Move the focused column to the monitor below'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-monitor-up" -d 'Move the focused column to the monitor above'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-monitor-previous" -d 'Move the focused column to the previous monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-monitor-next" -d 'Move the focused column to the next monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-column-to-monitor" -d 'Move the focused column to a specific monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "set-window-width" -d 'Change the width of the focused window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "set-window-height" -d 'Change the height of the focused window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "reset-window-height" -d 'Reset the height of the focused window back to automatic'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "switch-preset-column-width" -d 'Switch between preset column widths'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "switch-preset-column-width-back" -d 'Switch between preset column widths backwards'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "switch-preset-window-width" -d 'Switch between preset window widths'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "switch-preset-window-width-back" -d 'Switch between preset window widths backwards'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "switch-preset-window-height" -d 'Switch between preset window heights'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "switch-preset-window-height-back" -d 'Switch between preset window heights backwards'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "maximize-column" -d 'Toggle the maximized state of the focused column'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "maximize-window-to-edges" -d 'Toggle the maximized-to-edges state of the focused window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "set-column-width" -d 'Change the width of the focused column'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "expand-column-to-available-width" -d 'Expand the focused column to space not taken up by other fully visible columns'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "switch-layout" -d 'Switch between keyboard layouts'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "show-hotkey-overlay" -d 'Show the hotkey overlay'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-workspace-to-monitor-left" -d 'Move the focused workspace to the monitor to the left'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-workspace-to-monitor-right" -d 'Move the focused workspace to the monitor to the right'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-workspace-to-monitor-down" -d 'Move the focused workspace to the monitor below'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-workspace-to-monitor-up" -d 'Move the focused workspace to the monitor above'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-workspace-to-monitor-previous" -d 'Move the focused workspace to the previous monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-workspace-to-monitor-next" -d 'Move the focused workspace to the next monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-workspace-to-monitor" -d 'Move the focused workspace to a specific monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "toggle-debug-tint" -d 'Toggle a debug tint on windows'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "debug-toggle-opaque-regions" -d 'Toggle visualization of render element opaque regions'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "debug-toggle-damage" -d 'Toggle visualization of output damage'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "toggle-window-floating" -d 'Move the focused window between the floating and the tiling layout'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-to-floating" -d 'Move the focused window to the floating layout'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-window-to-tiling" -d 'Move the focused window to the tiling layout'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-floating" -d 'Switches focus to the floating layout'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "focus-tiling" -d 'Switches focus to the tiling layout'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "switch-focus-between-floating-and-tiling" -d 'Toggles the focus between the floating and the tiling layout'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "move-floating-window" -d 'Move the floating window on screen'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "toggle-window-rule-opacity" -d 'Toggle the opacity of the focused window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "set-dynamic-cast-window" -d 'Set the dynamic cast target to the focused window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "set-dynamic-cast-monitor" -d 'Set the dynamic cast target to the focused monitor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "clear-dynamic-cast-target" -d 'Clear the dynamic cast target, making it show nothing'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "toggle-overview" -d 'Toggle (open/close) the Overview'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "open-overview" -d 'Open the Overview'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "close-overview" -d 'Close the Overview'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "toggle-window-urgent" -d 'Toggle urgent status of a window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "set-window-urgent" -d 'Set urgent status of a window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "unset-window-urgent" -d 'Unset urgent status of a window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "load-config-file" -d 'Reload the config file'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from action" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from output" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from output" -a "off" -d 'Turn off the output'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from output" -a "on" -d 'Turn on the output'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from output" -a "mode" -d 'Set the output mode'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from output" -a "custom-mode" -d 'Set a custom output mode'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from output" -a "modeline" -d 'Set a custom VESA CVT modeline'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from output" -a "scale" -d 'Set the output scale'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from output" -a "transform" -d 'Set the output transform'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from output" -a "position" -d 'Set the output position'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from output" -a "vrr" -d 'Set the variable refresh rate mode'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from output" -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from event-stream" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from version" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from request-error" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from overview-state" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "outputs" -d 'List connected outputs'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "workspaces" -d 'List workspaces'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "windows" -d 'List open windows'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "layers" -d 'List open layer-shell surfaces'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "keyboard-layouts" -d 'Get the configured keyboard layouts'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "focused-output" -d 'Print information about the focused output'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "focused-window" -d 'Print information about the focused window'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "pick-window" -d 'Pick a window with the mouse and print information about it'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "pick-color" -d 'Pick a color from the screen with the mouse'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "action" -d 'Perform an action'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "output" -d 'Change output configuration temporarily'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "event-stream" -d 'Start continuously receiving events from the compositor'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "version" -d 'Print the version of the running niri instance'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "request-error" -d 'Request an error from the running niri instance'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "overview-state" -d 'Print the overview state'
complete -c niri -n "__fish_niri_using_subcommand msg; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c niri -n "__fish_niri_using_subcommand validate" -s c -l config -d 'Path to config file (default: `$XDG_CONFIG_HOME/niri/config.kdl`)' -r -F
complete -c niri -n "__fish_niri_using_subcommand validate" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c niri -n "__fish_niri_using_subcommand panic" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand completions" -s h -l help -d 'Print help'
complete -c niri -n "__fish_niri_using_subcommand help; and not __fish_seen_subcommand_from msg validate panic completions help" -f -a "msg" -d 'Communicate with the running niri instance'
complete -c niri -n "__fish_niri_using_subcommand help; and not __fish_seen_subcommand_from msg validate panic completions help" -f -a "validate" -d 'Validate the config file'
complete -c niri -n "__fish_niri_using_subcommand help; and not __fish_seen_subcommand_from msg validate panic completions help" -f -a "panic" -d 'Cause a panic to check if the backtraces are good'
complete -c niri -n "__fish_niri_using_subcommand help; and not __fish_seen_subcommand_from msg validate panic completions help" -f -a "completions" -d 'Generate shell completions'
complete -c niri -n "__fish_niri_using_subcommand help; and not __fish_seen_subcommand_from msg validate panic completions help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "outputs" -d 'List connected outputs'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "workspaces" -d 'List workspaces'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "windows" -d 'List open windows'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "layers" -d 'List open layer-shell surfaces'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "keyboard-layouts" -d 'Get the configured keyboard layouts'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "focused-output" -d 'Print information about the focused output'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "focused-window" -d 'Print information about the focused window'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "pick-window" -d 'Pick a window with the mouse and print information about it'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "pick-color" -d 'Pick a color from the screen with the mouse'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "action" -d 'Perform an action'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "output" -d 'Change output configuration temporarily'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "event-stream" -d 'Start continuously receiving events from the compositor'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "version" -d 'Print the version of the running niri instance'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "request-error" -d 'Request an error from the running niri instance'
complete -c niri -n "__fish_niri_using_subcommand help; and __fish_seen_subcommand_from msg" -f -a "overview-state" -d 'Print the overview state'
+3
View File
@@ -0,0 +1,3 @@
function k --wraps='sudo k3s kubectl' --description 'alias k=sudo k3s kubectl'
sudo k3s kubectl $argv
end
+17
View File
@@ -0,0 +1,17 @@
vim.g.mapleader = " "
require("lazy").setup({
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
"nvim-tree/nvim-tree.lua",
"nvim-tree/nvim-web-devicons",
"nvim-lualine/lualine.nvim",
"folke/which-key.nvim",
"numToStr/Comment.nvim",
"windwp/nvim-autopairs",
"tpope/vim-fugitive",
"nvim-telescope/telescope.nvim",
"nvim-neo-tree/neo-tree.nvim",
"nvim-lua/plenary.nvim",
"lambdalisue/suda.vim"
})
+35
View File
@@ -0,0 +1,35 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "habamax" } },
-- automatically check for plugin updates
checker = { enabled = true },
})
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
WALLPAPERS_DIR="$HOME/.local/share/wallpaper/current"
WALLPAPER=$(find "$WALLPAPERS_DIR" -type f | shuf -n 1)
swww img "$WALLPAPER"
+16
View File
@@ -0,0 +1,16 @@
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"
XDG_PROJECTS_DIR="$HOME/Projects"
+536
View File
@@ -0,0 +1,536 @@
//
// THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /home/forust/.config/zellij/config.kdl.bak
//
keybinds clear-defaults=true {
locked {
bind "Ctrl g" { SwitchToMode "normal"; }
}
pane {
bind "left" { MoveFocus "left"; }
bind "down" { MoveFocus "down"; }
bind "up" { MoveFocus "up"; }
bind "right" { MoveFocus "right"; }
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
bind "d" { NewPane "down"; SwitchToMode "normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; }
bind "i" { TogglePanePinned; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; }
bind "k" { MoveFocus "up"; }
bind "l" { MoveFocus "right"; }
bind "n" { NewPane; SwitchToMode "normal"; }
bind "p" { SwitchFocus; }
bind "Ctrl p" { SwitchToMode "normal"; }
bind "r" { NewPane "right"; SwitchToMode "normal"; }
bind "s" { NewPane "stacked"; SwitchToMode "normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
}
tab {
bind "left" { GoToPreviousTab; }
bind "down" { GoToNextTab; }
bind "up" { GoToPreviousTab; }
bind "right" { GoToNextTab; }
bind "1" { GoToTab 1; SwitchToMode "normal"; }
bind "2" { GoToTab 2; SwitchToMode "normal"; }
bind "3" { GoToTab 3; SwitchToMode "normal"; }
bind "4" { GoToTab 4; SwitchToMode "normal"; }
bind "5" { GoToTab 5; SwitchToMode "normal"; }
bind "6" { GoToTab 6; SwitchToMode "normal"; }
bind "7" { GoToTab 7; SwitchToMode "normal"; }
bind "8" { GoToTab 8; SwitchToMode "normal"; }
bind "9" { GoToTab 9; SwitchToMode "normal"; }
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
bind "b" { BreakPane; SwitchToMode "normal"; }
bind "h" { GoToPreviousTab; }
bind "j" { GoToNextTab; }
bind "k" { GoToPreviousTab; }
bind "l" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "normal"; }
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
bind "Ctrl t" { SwitchToMode "normal"; }
bind "x" { CloseTab; SwitchToMode "normal"; }
bind "tab" { ToggleTab; }
}
resize {
bind "left" { Resize "Increase left"; }
bind "down" { Resize "Increase down"; }
bind "up" { Resize "Increase up"; }
bind "right" { Resize "Increase right"; }
bind "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
bind "=" { Resize "Increase"; }
bind "H" { Resize "Decrease left"; }
bind "J" { Resize "Decrease down"; }
bind "K" { Resize "Decrease up"; }
bind "L" { Resize "Decrease right"; }
bind "h" { Resize "Increase left"; }
bind "j" { Resize "Increase down"; }
bind "k" { Resize "Increase up"; }
bind "l" { Resize "Increase right"; }
bind "Ctrl n" { SwitchToMode "normal"; }
}
move {
bind "left" { MovePane "left"; }
bind "down" { MovePane "down"; }
bind "up" { MovePane "up"; }
bind "right" { MovePane "right"; }
bind "h" { MovePane "left"; }
bind "Ctrl h" { SwitchToMode "normal"; }
bind "j" { MovePane "down"; }
bind "k" { MovePane "up"; }
bind "l" { MovePane "right"; }
bind "n" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "tab" { MovePane; }
}
scroll {
bind "e" { EditScrollback; SwitchToMode "normal"; }
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
}
search {
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "n" { Search "down"; }
bind "o" { SearchToggleOption "WholeWord"; }
bind "p" { Search "up"; }
bind "w" { SearchToggleOption "Wrap"; }
}
session {
bind "a" {
LaunchOrFocusPlugin "zellij:about" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "c" {
LaunchOrFocusPlugin "configuration" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "Ctrl o" { SwitchToMode "normal"; }
bind "p" {
LaunchOrFocusPlugin "plugin-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "s" {
LaunchOrFocusPlugin "zellij:share" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
}
shared_except "locked" {
bind "Alt left" { MoveFocusOrTab "left"; }
bind "Alt down" { MoveFocus "down"; }
bind "Alt up" { MoveFocus "up"; }
bind "Alt right" { MoveFocusOrTab "right"; }
bind "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
bind "Alt =" { Resize "Increase"; }
bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; }
bind "Alt f" { ToggleFloatingPanes; }
bind "Ctrl g" { SwitchToMode "locked"; }
bind "Alt h" { MoveFocusOrTab "left"; }
bind "Alt i" { MoveTab "left"; }
bind "Alt j" { MoveFocus "down"; }
bind "Alt k" { MoveFocus "up"; }
bind "Alt l" { MoveFocusOrTab "right"; }
bind "Alt n" { NewPane; }
bind "Alt o" { MoveTab "right"; }
bind "Alt p" { TogglePaneInGroup; }
bind "Alt Shift p" { ToggleGroupMarking; }
bind "Ctrl q" { Quit; }
}
shared_except "locked" "move" {
bind "Ctrl h" { SwitchToMode "move"; }
}
shared_except "locked" "session" {
bind "Ctrl o" { SwitchToMode "session"; }
}
shared_except "locked" "scroll" "search" "tmux" {
bind "Ctrl b" { SwitchToMode "tmux"; }
}
shared_except "locked" "scroll" "search" {
bind "Ctrl s" { SwitchToMode "scroll"; }
}
shared_except "locked" "tab" {
bind "Ctrl t" { SwitchToMode "tab"; }
}
shared_except "locked" "pane" {
bind "Ctrl p" { SwitchToMode "pane"; }
}
shared_except "locked" "resize" {
bind "Ctrl n" { SwitchToMode "resize"; }
}
shared_except "normal" "locked" "entersearch" {
bind "enter" { SwitchToMode "normal"; }
}
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
bind "esc" { SwitchToMode "normal"; }
}
shared_among "pane" "tmux" {
bind "x" { CloseFocus; SwitchToMode "normal"; }
}
shared_among "scroll" "search" {
bind "PageDown" { PageScrollDown; }
bind "PageUp" { PageScrollUp; }
bind "left" { PageScrollUp; }
bind "down" { ScrollDown; }
bind "up" { ScrollUp; }
bind "right" { PageScrollDown; }
bind "Ctrl b" { PageScrollUp; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
bind "d" { HalfPageScrollDown; }
bind "Ctrl f" { PageScrollDown; }
bind "h" { PageScrollUp; }
bind "j" { ScrollDown; }
bind "k" { ScrollUp; }
bind "l" { PageScrollDown; }
bind "Ctrl s" { SwitchToMode "normal"; }
bind "u" { HalfPageScrollUp; }
}
entersearch {
bind "Ctrl c" { SwitchToMode "scroll"; }
bind "esc" { SwitchToMode "scroll"; }
bind "enter" { SwitchToMode "search"; }
}
renametab {
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
}
shared_among "renametab" "renamepane" {
bind "Ctrl c" { SwitchToMode "normal"; }
}
renamepane {
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
}
shared_among "session" "tmux" {
bind "d" { Detach; }
}
tmux {
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
bind "space" { NextSwapLayout; }
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
bind "%" { NewPane "right"; SwitchToMode "normal"; }
bind "," { SwitchToMode "renametab"; }
bind "[" { SwitchToMode "scroll"; }
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
bind "c" { NewTab; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
bind "n" { GoToNextTab; SwitchToMode "normal"; }
bind "o" { FocusNextPane; }
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
}
}
// Plugin aliases - can be used to change the implementation of Zellij
// changing these requires a restart to take effect
plugins {
about location="zellij:about"
compact-bar location="zellij:compact-bar"
configuration location="zellij:configuration"
filepicker location="zellij:strider" {
cwd "/"
}
plugin-manager location="zellij:plugin-manager"
session-manager location="zellij:session-manager"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
tab-bar location="zellij:tab-bar"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
}
// Plugins to load in the background when a new session starts
// eg. "file:/path/to/my-plugin.wasm"
// eg. "https://example.com/my-plugin.wasm"
load_plugins {
}
web_client {
font "monospace"
}
// Use a simplified UI without special fonts (arrow glyphs)
// Options:
// - true
// - false (Default)
//
// simplified_ui true
// Choose the theme that is specified in the themes section.
// Default: default
//
// theme "dracula"
// Choose the base input mode of zellij.
// Default: normal
//
// default_mode "locked"
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Choose the path to override cwd that zellij will use for opening new panes
//
// default_cwd "/tmp"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
// The folder in which Zellij will look for layouts
// (Requires restart)
//
// layout_dir "/tmp"
// The folder in which Zellij will look for themes
// (Requires restart)
//
// theme_dir "/tmp"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
// mouse_mode false
// Toggle having pane frames around the panes
// Options:
// - true (default, enabled)
// - false
//
// pane_frames false
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// (Requires restart)
// Default: false
//
// mirror_session true
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// (Requires restart)
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// (Requires restart)
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
// copy_command "xclip -selection clipboard" // x11
// copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
//
// copy_command "pbcopy"
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
//
// copy_clipboard "primary"
// Enable automatic copying (and clearing) of selection when releasing mouse
// Default: true
//
// copy_on_select true
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
// scrollback_editor "/usr/bin/vim"
// A fixed name to always give the Zellij session.
// Consider also setting `attach_to_session true,`
// otherwise this will error if such a session exists.
// Default: <RANDOM>
//
// session_name "My singleton session"
// When `session_name` is provided, attaches to that session
// if it is already running or creates it otherwise.
// Default: false
//
// attach_to_session true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// auto_layout false
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// Options:
// - true (default)
// - false
//
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// Options:
// - true
// - false (default)
//
// serialize_pane_viewport false
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
//
// scrollback_lines_to_serialize 10000
// Enable or disable the rendering of styled and colored underlines (undercurl).
// May need to be disabled for certain unsupported terminals
// (Requires restart)
// Default: true
//
// styled_underlines false
// How often in seconds sessions are serialized
//
// serialization_interval 10000
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
// metadata info on this session)
// (Requires restart)
// Default: false
//
// disable_session_metadata false
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
// (Requires restart)
// Default: true (if the host terminal supports it)
//
// support_kitty_keyboard_protocol false
// Whether to make sure a local web server is running when a new Zellij session starts.
// This web server will allow creating new sessions and attaching to existing ones that have
// opted in to being shared in the browser.
// When enabled, navigate to http://127.0.0.1:8082
// (Requires restart)
//
// Note: a local web server can still be manually started from within a Zellij session or from the CLI.
// If this is not desired, one can use a version of Zellij compiled without
// `web_server_capability`
//
// Possible values:
// - true
// - false
// Default: false
//
// web_server false
// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is
// running (see the `web_server` option for more details).
// (Requires restart)
//
// Note: This is an administrative separation and not intended as a security measure.
//
// Possible values:
// - "on" (allow web sharing through the local web server if it
// is online)
// - "off" (do not allow web sharing unless sessions explicitly opt-in to it)
// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it)
// Default: "off"
//
// web_sharing "off"
// A path to a certificate file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_cert "/path/to/cert.pem"
// A path to a key file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_key "/path/to/key.pem"
/// Whether to enforce https connections to the web server when it is bound to localhost
/// (127.0.0.0/8)
///
/// Note: https is ALWAYS enforced when bound to non-local interfaces
///
/// Default: false
//
// enforce_https_for_localhost false
// Whether to stack panes when resizing beyond a certain size
// Default: true
//
// stacked_resize false
// Whether to show tips on startup
// Default: true
//
show_startup_tips false
// Whether to show release notes on first version run
// Default: true
//
// show_release_notes false
// Whether to enable mouse hover effects and pane grouping functionality
// default is true
// advanced_mouse_actions false
// The ip address the web server should listen on when it starts
// Default: "127.0.0.1"
// (Requires restart)
// web_server_ip "127.0.0.1"
// The port the web server should listen on when it starts
// Default: 8082
// (Requires restart)
// web_server_port 8082
// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable)
// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT
// of this command will be used instead of the discovered RESURRECT_COMMAND
// can be useful for removing wrappers around commands
// Note: be sure to escape backslashes and similar characters properly
// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>"