summaryrefslogtreecommitdiff
path: root/river/init
blob: c3e0fb2ef790b347b6ce7f86568ec786fdb3640a (plain)
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
#!/bin/sh

. ~/.profile

mod="Alt"

riverctl attach-mode bottom
riverctl map normal $mod Return spawn alacritty
riverctl map normal $mod+Control Return spawn 'cage alacritty'
riverctl map normal $mod+Shift Q close
riverctl map normal Alt+Super Q spawn 'loginctl suspend'
riverctl map normal $mod+Shift E exit
riverctl map normal $mod J focus-view next
riverctl map normal $mod K focus-view previous
riverctl map normal $mod+Shift J swap next
riverctl map normal $mod+Shift K swap previous
riverctl map normal $mod D spawn bemenu-run
riverctl map normal $mod P spawn passmenu
riverctl map normal $mod R spawn 'j4-dmenu-desktop --dmenu="bemenu -l 15"'
riverctl map normal $mod C spawn swayidletog
riverctl map normal $mod Q spawn 'loginctl lock-session'
riverctl map normal $mod W spawn "waytoggle"
riverctl map normal $mod Y spawn 'alacritty --class ytfzft -e ytfzf -l'
riverctl map normal $mod+Shift Y spawn 'cage -d -- alacritty -e ytfzf -l'
riverctl map normal Alt+Super Q spawn qbc
riverctl map normal Alt+Super W spawn lwc
riverctl map normal Alt+Super E spawn fdc
riverctl map normal Alt+Super Comma spawn dmenumount
riverctl map normal Alt+Super Period spawn dmenuumount
riverctl map normal Alt+Control v spawn 'alacritty -e bluetoothctl'

riverctl map normal None XF86_MonBrightnessUp spawn 'light -A 1'
riverctl map normal None XF86_MonBrightnessDown spawn 'light -U 1'
riverctl map normal None XF86_AudioMute spawn 'volsv -t'
riverctl map normal None XF86_AudioMicMute spawn 'pamixer --source 1 -t'
riverctl map normal None XF86_AudioLowerVolume spawn 'volsv -d'
riverctl map normal None XF86_AudioRaiseVolume spawn 'volsv -i'
riverctl map normal None XF86_AudioNext spawn 'playerctl next'
riverctl map normal None XF86_AudioPrev spawn 'playerctl previous'
riverctl map normal None XF86_AudioPlay spawn 'playerctl play-pause'
riverctl map normal None XF86_AudioStop spawn 'playerctl stop'

# Mod+Period and Mod+Comma to focus the next/previous output
riverctl map normal $mod+Control Period focus-output next
riverctl map normal $mod+Control Comma focus-output previous

# Mod+Shift+{Period,Comma} to send the focused view to the next/previous output
riverctl map normal $mod+Control+Shift Period send-to-output next
riverctl map normal $mod+Control+Shift Comma send-to-output previous

# Mod+Return to bump the focused view to the top of the layout stack, making
# it the new master
riverctl map normal $mod+Shift Return zoom

# Mod+H and Mod+L to decrease/increase the width of the master column by 5%
riverctl map normal $mod H send-layout-cmd rivertile "main-ratio -0.05"
riverctl map normal $mod L send-layout-cmd rivertile "main-ratio +0.05"

# Mod+Shift+H and Mod+Shift+L to increment/decrement the number of
# master views in the layout
riverctl map normal $mod+Shift H send-layout-cmd rivertile "main-count +1"
riverctl map normal $mod+Shift L send-layout-cmd rivertile "main-count -1"

for i in $(seq 1 9); do
    tagmask=$((1 << ($i - 1)))

    # Mod+[1-9] to focus tag [0-8]
    riverctl map normal $mod $i set-focused-tags $tagmask

    # Mod+Shift+[1-9] to tag focused view with tag [0-8]
    riverctl map normal $mod+Shift $i set-view-tags $tagmask

    # Mod+Ctrl+[1-9] to toggle focus of tag [0-8]
    riverctl map normal $mod+Control $i toggle-focused-tags $tagmask

    # Mod+Shift+Ctrl+[1-9] to toggle tag [0-8] of focused view
    riverctl map normal $mod+Shift+Control $i toggle-view-tags $tagmask
done

# Mod+0 to focus all tags
# Mod+Shift+0 to tag focused view with all tags
all_tags_mask=$(((1 << 32) - 1))
riverctl map normal $mod 0 set-focused-tags $all_tags_mask
riverctl map normal $mod+Shift 0 set-view-tags $all_tags_mask

# Mod+Space to toggle float
riverctl map normal $mod Space toggle-float

# Mod+F to toggle fullscreen
riverctl map normal $mod F toggle-fullscreen


# Super+Alt+{H,J,K,L} to move views
riverctl map normal Super+Alt H move left 100
riverctl map normal Super+Alt J move down 100
riverctl map normal Super+Alt K move up 100
riverctl map normal Super+Alt L move right 100

# Super+Alt+Control+{H,J,K,L} to snap views to screen edges
riverctl map normal Super+Alt+Control H snap left
riverctl map normal Super+Alt+Control J snap down
riverctl map normal Super+Alt+Control K snap up
riverctl map normal Super+Alt+Control L snap right

# Super+Alt+Shift+{H,J,K,L} to resize views
riverctl map normal Super+Alt+Shift H resize horizontal -100
riverctl map normal Super+Alt+Shift J resize vertical 100
riverctl map normal Super+Alt+Shift K resize vertical -100
riverctl map normal Super+Alt+Shift L resize horizontal 100

# Mod+{Up,Right,Down,Left} to change master orientation
riverctl map normal $mod Up layout rivertile top
riverctl map normal $mod Right layout rivertile right
riverctl map normal $mod Down layout rivertile down
riverctl map normal $mod Left layout rivertile left

# Super+{Up,Right,Down,Left} to change layout orientation
riverctl map normal Super Up    send-layout-cmd rivertile "main-location top"
riverctl map normal Super Right send-layout-cmd rivertile "main-location right"
riverctl map normal Super Down  send-layout-cmd rivertile "main-location bottom"
riverctl map normal Super Left  send-layout-cmd rivertile "main-location left"

# Mod+S to change to Full layout
riverctl map normal $mod S layout full

riverctl map normal $mod T layout rivertile left

# Declare a passthrough mode. This mode has only a single mapping to return to
# normal mode. This makes it useful for testing a nested wayland compositor
riverctl declare-mode passthrough

# Mod+F11 to enter passthrough mode
riverctl map normal $mod F11 enter-mode passthrough

# Mod+F11 to return to normal mode
riverctl map passthrough $mod F11 enter-mode normal

# Set app-ids of views which should float
riverctl float-filter-add "float"
riverctl float-filter-add "popup"
riverctl float-filter-add 'ytfzft'

# Set app-ids of views which should use client side decorations
riverctl csd-filter-add app-id "gedit"
riverctl csd-filter-add app-id "libreoffice"
riverctl csd-filter-add app-id "firedragon"

riverctl focus-follows-cursor normal
riverctl map-pointer normal $Mod BTN_LEFT move-view
riverctl map-pointer normal $mod BTN_RIGHT resize-view

## AUTOSTART

#setsid -f swaybg -i ~/background.jpg
#setsid -f mpd
#gsettings set org.gnome.desktop.interface gtk-theme Plata-Noir-Compact
#gsettings set org.gnome.desktop.interface icon-theme Paper-Mono-Dark
#setsid -f dbus-daemon --session --address=unix:path=$XDG_RUNTIME_DIR/bus
#setsid -f swayidle timeout 300 'loginctl lock-session' timeout 600 'loginctl suspend' lock slockd before-sleep slockd
#setsid -f mako
#setsid -f waybar
setsid -f ~/.config/autostart.sh

# Set the layout on startup
riverctl default-layout rivertile

exec rivertile -view-padding 6 -outer-padding 6