summaryrefslogtreecommitdiff
path: root/river
diff options
context:
space:
mode:
authorzachir <zachir@librem.one>2022-10-05 22:00:32 -0500
committerzachir <zachir@librem.one>2022-10-05 22:00:32 -0500
commitf39d735e2ba625a31a7dbf6fb8bdd62501379ad1 (patch)
treed17c96714c930e0b8bc75616cc9c81b961ed5aa0 /river
Initial Commit
Diffstat (limited to 'river')
-rwxr-xr-xriver/init167
1 files changed, 167 insertions, 0 deletions
diff --git a/river/init b/river/init
new file mode 100755
index 0000000..c3e0fb2
--- /dev/null
+++ b/river/init
@@ -0,0 +1,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