diff options
author | Nate Buttke <nate-web@riseup.net> | 2022-01-15 23:21:47 -0800 |
---|---|---|
committer | Nate Buttke <nate-web@riseup.net> | 2022-01-15 23:21:47 -0800 |
commit | 3281eb1d839dcff721fe6aa8fbd6033678fc4a9d (patch) | |
tree | 02de45102613357591f0d39e2858fc722670349e /river |
initial commit
Diffstat (limited to 'river')
-rwxr-xr-x | river/.config/river/init | 188 |
1 files changed, 188 insertions, 0 deletions
diff --git a/river/.config/river/init b/river/.config/river/init new file mode 100755 index 0000000..7e189cc --- /dev/null +++ b/river/.config/river/init @@ -0,0 +1,188 @@ +#!/bin/sh + +# based on default config. +# See the river(1), riverctl(1), and rivertile(1) man pages for complete +# documentation. + kanshi & + +# Use the "logo" key as the primary modifier + mod="Mod4" + +#natural scrolling for trackpad. you can find device name with $riverctl list-inputs +riverctl input 1739:0:Synaptics_TM3276-022 natural-scroll enabled +riverctl input 1739:0:Synaptics_TM3276-022 scroll-method two-finger + +# Mod+Return to start an instance of alacritty +riverctl map normal $mod Return spawn alacritty +# Mod+B to start an instance of firefox. alt for school +riverctl map normal $mod B spawn firefox +riverctl map normal $mod+Mod1 B spawn firefox-school + +#keepass password manager +riverctl map normal $mod P spawn keepassxc + +#swaylock screen lock +riverctl map normal $mod Home spawn lock +riverctl map normal $mod+Shift Home spawn locks #suspend after locking + +# riverctl map normal $mod Space spawn 'bemenu-run --fn Terminus' +riverctl map normal $mod Space spawn 'wofi --show=run' + +# Mod+Q to close the focused view +riverctl map normal $mod Q close + +# Mod+Shift+C to exit river +riverctl map normal $mod+Shift C exit + +# Mod+J and Mod+K to focus the next/previous view in the layout stack +riverctl map normal $mod J focus-view next +riverctl map normal $mod K focus-view previous + +# Mod+Shift+J and Mod+Shift+K to swap the focused view with the next/previous +# view in the layout stack +riverctl map normal $mod+Shift J swap next +riverctl map normal $mod+Shift K swap previous + +# Mod+Period and Mod+Comma to focus the next/previous output +riverctl map normal $mod Period focus-output next +riverctl map normal $mod Comma focus-output previous + +# Mod+Shift+{Period,Comma} to send the focused view to the next/previous output +riverctl map normal $mod+Shift Period send-to-output next +riverctl map normal $mod+Shift Comma send-to-output previous + +# Mod+Return to bump the focused view to the top of the layout stack +riverctl map normal $mod+Shift Return zoom + +# Mod+H and Mod+L to decrease/increase the main ratio of rivertile(1) +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 main count of rivertile(1) +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" + +# Mod+Alt+{H,J,K,L} to move views +riverctl map normal $mod+Mod1 H move left 100 +riverctl map normal $mod+Mod1 J move down 100 +riverctl map normal $mod+Mod1 K move up 100 +riverctl map normal $mod+Mod1 L move right 100 + +# Mod+Alt+Control+{H,J,K,L} to snap views to screen edges +riverctl map normal $mod+Mod1+Control H snap left +riverctl map normal $mod+Mod1+Control J snap down +riverctl map normal $mod+Mod1+Control K snap up +riverctl map normal $mod+Mod1+Control L snap right + +# Mod+Alt+Shif+{H,J,K,L} to resize views +riverctl map normal $mod+Mod1+Shift H resize horizontal -100 +riverctl map normal $mod+Mod1+Shift J resize vertical 100 +riverctl map normal $mod+Mod1+Shift K resize vertical -100 +riverctl map normal $mod+Mod1+Shift L resize horizontal 100 + +# Mod + Left Mouse Button to move views +riverctl map-pointer normal $mod BTN_LEFT move-view + +# Mod + Right Mouse Button to resize views +riverctl map-pointer normal $mod BTN_RIGHT resize-view + +for i in $(seq 1 9) +do + tags=$((1 << ($i - 1))) + + # Mod+[1-9] to focus tag [0-8] + riverctl map normal $mod $i set-focused-tags $tags + + # Mod+Shift+[1-9] to tag focused view with tag [0-8] + riverctl map normal $mod+Shift $i set-view-tags $tags + + # Mod+Ctrl+[1-9] to toggle focus of tag [0-8] + riverctl map normal $mod+Control $i toggle-focused-tags $tags + + # Mod+Shift+Ctrl+[1-9] to toggle tag [0-8] of focused view + riverctl map normal $mod+Shift+Control $i toggle-view-tags $tags +done + +# Mod+0 to focus all tags +# Mod+Shift+0 to tag focused view with all tags +all_tags=$(((1 << 32) - 1)) +riverctl map normal $mod 0 set-focused-tags $all_tags +riverctl map normal $mod+Shift 0 set-view-tags $all_tags + +# Mod+Shift+Space to toggle float +riverctl map normal $mod+Shift Space toggle-float + +# Mod+F to toggle fullscreen +riverctl map normal $mod F toggle-fullscreen + +# Mod+{Up,Right,Down,Left} to change layout orientation +riverctl map normal $mod Up send-layout-cmd rivertile "main-location top" +riverctl map normal $mod Right send-layout-cmd rivertile "main-location right" +riverctl map normal $mod Down send-layout-cmd rivertile "main-location bottom" +riverctl map normal $mod Left send-layout-cmd rivertile "main-location 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 + +# Various media key mapping examples for both normal and locked mode which do +# not have a modifier +for mode in normal locked +do + # Eject the optical drive + riverctl map $mode None XF86Eject spawn 'eject -T' + + # Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer) + riverctl map $mode None XF86AudioRaiseVolume spawn 'pamixer -i 5' + riverctl map $mode None XF86AudioLowerVolume spawn 'pamixer -d 5' + riverctl map $mode None XF86AudioMute spawn 'pamixer --toggle-mute' + + # Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl) + riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause' + riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause' + riverctl map $mode None XF86AudioPrev spawn 'playerctl previous' + riverctl map $mode None XF86AudioNext spawn 'playerctl next' + + # Control screen backlight brighness with xbacklight (acpilight arch package) + riverctl map $mode None XF86MonBrightnessUp spawn 'xbacklight -inc 5' + riverctl map $mode None XF86MonBrightnessDown spawn 'xbacklight -dec 5' +done + +# make cursor jump to focused output +riverctl set-cursor-warp on-output-change + +# Set background and border color (defaults) +riverctl background-color 0x002b36 +riverctl border-color-focused 0x93a1a1 +riverctl border-color-unfocused 0x586e75 + +# Set repeat rate +riverctl set-repeat 50 300 + +# Set app-ids of views which should float +riverctl float-filter-add app-id "org.keepassxc.KeePassXC" +riverctl float-filter-add app-id "Signal" + +# Set app-ids of views which should use client side decorations +# e.g. riverctl csd-filter-add "gedit" + +riverctl spawn "swaybg -i ~/media/pix/berry.jpg -m center -o '*'" +riverctl spawn "sunset" + +#waybar on startup +riverctl spawn waybar +#mako on startup +riverctl spawn mako + + +# Set and exec into the default layout generator, rivertile. +# River will send the process group of the init executable SIGTERM on exit. + +riverctl default-layout rivertile +exec rivertile -outer-padding 1 -view-padding 3 |