aboutsummaryrefslogtreecommitdiff
path: root/completions/fish/riverctl.fish
blob: eca0c2510cb6f09f81adf87d49ef74a8e5bd27e9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
function __riverctl_list_input_devices
    riverctl list-inputs | sed '/type:/d; /configured:/d'
end

function __fish_riverctl_complete_no_subcommand
    for i in (commandline -opc)
        if contains -- $i close csd-filter-add exit float-filter-add focus-output focus-view input list-inputs list-input-configs move resize snap send-to-output spawn swap toggle-float toggle-fullscreen zoom default-layout output-layout set-layout-value mod-layout-value set-focused-tags set-view-tags toggle-focused-tags toggle-view-tags spawn-tagmask declare-mode enter-mode map map-pointer unmap unmap-pointer attach-mode background-color border-color-focused border-color-unfocused border-width focus-follows-cursor opacity set-repeat set-cursor-warp xcursor-theme
            return 1
        end
    end
    return 0
end

function __fish_riverctl_complete_from_input
    set -l cmd (commandline -opc)
    if test (count $cmd) -eq 2
        return 0
    end
    return 1
end

function __fish_riverctl_complete_from_input_devices
    set -l cmd (commandline -opc)
    if test (count $cmd) -eq 3
        return 0
    end
    return 1
end

function __fish_riverctl_complete_from_input_subcommands
    set -l cmd (commandline -opc)
    if test (count $cmd) -eq 4
        return 0
    end
    return 1
end

# Actions
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a close                  -d 'Close the focued view'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a csd-filter-add         -d 'Add app-id to the CSD filter list'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a exit                   -d 'Exit the compositor, terminating the Wayland session'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a float-filter-add       -d 'Add app-id to the float filter list'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a focus-output           -d 'Focus the next or previous output'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a focus-view             -d 'Focus the next or previous view in the stack'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a input                  -d 'Create a configuration rule for an input device'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a list-inputs            -d 'List all input devices'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a list-input-configs     -d 'List all input configurations'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a move                   -d 'Move the focused view in the specified direction'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a resize                 -d 'Resize the focused view along the given axis'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a snap                   -d 'Snap the focused view to the specified screen edge'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a send-to-output         -d 'Send the focused view to the next/previous output'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a spawn                  -d 'Run shell_command using /bin/sh -c'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a swap                   -d 'Swap the focused view with the next/previous visible non-floating view'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a toggle-float           -d 'Toggle the floating state of the focused view'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a toggle-fullscreen      -d 'Toggle the fullscreen state of the focused view'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a zoom                   -d 'Bump the focused view to the top of the layout stack'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a default-layout         -d 'Set the layout namespace to be used by all outputs by default.'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a output-layout          -d 'Set the layout namespace of currently focused output.'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a set-layout-value       -d 'Set the value with name _name_ of the layout on the focused output with matching namespace.'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a mod-layout-value       -d 'Modify the value with name _name_ of the layout on the focused output with matching namespace.'
# Tag managements
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a set-focused-tags       -d 'Show views with tags corresponding to the set bits of tags'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a set-view-tags          -d 'Assign the currently focused view the tags corresponding to the set bits of tags'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a toggle-focused-tags    -d 'Toggle visibility of views with tags corresponding to the set bits of tags'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a toggle-view-tags       -d 'Toggle the tags of the currently focused view'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a spawn-tagmask          -d 'Set a tagmask to filter the tags assigned to newly spawned views on the focused output'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a focus-previous-tags    -d 'Sets tags to their previous value on the focused output'
# Mappings
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a declare-mode           -d 'Create a new mode'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a enter-mode             -d 'Switch to given mode if it exists'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a map                    -d 'Run command when key is pressed while modifiers are held down and in the specified mode'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a map-pointer            -d 'Move or resize views when button and modifers are held down while in the specified mode'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a unmap                  -d 'Remove the mapping defined by the arguments'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a unmap-pointer          -d 'Remove the pointer mapping defined by the arguments'
# Configuration
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a attach-mode            -d 'Configure where new views should attach to the view stack'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a background-color       -d 'Set the background color'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a border-color-focused   -d 'Set the border color of focused views'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a border-color-unfocused -d 'Set the border color of unfocused views'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a border-width           -d 'Set the border width to pixels'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a focus-follows-cursor   -d 'Configure the focus behavior when moving cursor'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a opacity                -d 'Configure server-side opacity of views'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a set-repeat             -d 'Set the keyboard repeat rate and repeat delay'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a set-cursor-warp        -d 'Set the cursor warp mode.'
complete -c riverctl -x -n '__fish_riverctl_complete_no_subcommand' -a xcursor-theme          -d 'Set the xcursor theme'

# Subcommands
complete -c riverctl -x -n '__fish_seen_subcommand_from focus-output'         -a 'next previous'
complete -c riverctl -x -n '__fish_seen_subcommand_from focus-view'           -a 'next previous'
complete -c riverctl -x -n '__fish_seen_subcommand_from move'                 -a 'up down left right'
complete -c riverctl -x -n '__fish_seen_subcommand_from resize'               -a 'horizontal vertical'
complete -c riverctl -x -n '__fish_seen_subcommand_from snap'                 -a 'up down left right'
complete -c riverctl -x -n '__fish_seen_subcommand_from send-to-output'       -a 'next previous'
complete -c riverctl -x -n '__fish_seen_subcommand_from swap'                 -a 'next previous'
complete -c riverctl -x -n '__fish_seen_subcommand_from map'                  -a '-release'
complete -c riverctl -x -n '__fish_seen_subcommand_from unmap'                -a '-release'
complete -c riverctl -x -n '__fish_seen_subcommand_from attach-mode'          -a 'top bottom'
complete -c riverctl -x -n '__fish_seen_subcommand_from focus-follows-cursor' -a 'disabled normal strict'
complete -c riverctl -x -n '__fish_seen_subcommand_from set-cursor-warp'      -a 'disabled on-output-change'

# Subcommands for 'input'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input'         -a "(__riverctl_list_input_devices)"
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'events'               -d 'Configure whether the input device\'s events will be used'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'accel-profile'        -d 'Set the pointer acceleration profile'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'pointer-accel'        -d 'Set the pointer acceleration factor'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'click-method'         -d 'Set the click method'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'drag'                 -d 'Enable or disable the tap-and-drag functionality'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'drag-lock'            -d 'Enable or disable the drag lock functionality'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'disable-while-typing' -d 'Enable or disable the disable-while-typing functionality'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'middle-emulation'     -d 'Enable or disable the middle-emulation functionality'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'natural-scroll'       -d 'Enable or disable the natural-scroll functionality'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'left-handed'          -d 'Enable or disable the left handed mode'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'tap'                  -d 'Enable or disable the tap functionality'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'tap-button-map'       -d 'Configure the button mapping for tapping'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'scroll-method'        -d 'Set the scroll method'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_devices' -a 'scroll-button'        -d 'Set the scroll button'

# Subcommands for the subcommands of 'input'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_subcommands; and __fish_seen_subcommand_from drag drag-lock disable-while-typing middle-emulation natural-scroll left-handed tap' -a 'enabled disabled'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_subcommands; and __fish_seen_subcommand_from events'         -a 'enabled disabled disabled-on-external-mouse'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_subcommands; and __fish_seen_subcommand_from accel-profile'  -a 'none flat adaptive'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_subcommands; and __fish_seen_subcommand_from click-method'   -a 'none button-areas clickfinger'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_subcommands; and __fish_seen_subcommand_from tap-button-map' -a 'left-right-middle left-middle-right'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_subcommands; and __fish_seen_subcommand_from scroll-method'  -a 'none'       -d 'No scrolling'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_subcommands; and __fish_seen_subcommand_from scroll-method'  -a 'two-finger' -d 'Scroll by swiping with two fingers simultaneously'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_subcommands; and __fish_seen_subcommand_from scroll-method'  -a 'edge'       -d 'Scroll by swiping along the edge'
complete -c riverctl -x -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_from_input_subcommands; and __fish_seen_subcommand_from scroll-method'  -a 'button'     -d 'Scroll with pointer movement while holding down a button'