River config

This commit is contained in:
Adam Gausmann 2024-04-04 12:00:43 -05:00
parent 53f2ff5519
commit 5ce396e369
2 changed files with 152 additions and 0 deletions

View file

@ -0,0 +1,2 @@
command = "i3status"
position = "bottom"

150
templates/.config/river/init Executable file
View file

@ -0,0 +1,150 @@
#!/bin/sh
riverctl map normal Super+Shift Return spawn alacritty
riverctl map normal Super D spawn 'wofi --show drun'
riverctl map normal Super+Shift D spawn 'wofi --show run'
riverctl map normal Super P spawn wofi-pass
riverctl map normal Super+Shift S spawn 'wl-copy < "$(grimshot --notify save window)"'
riverctl map normal Super+Ctrl S spawn 'wl-copy < "$(grimshot --notify save area)"'
riverctl map normal Super+Shift P spawn swaylock
riverctl map normal Super+Shift Q close
riverctl map normal Super+Shift E exit
riverctl map normal Super+Shift C spawn 'RIVER_RELOAD=1 ~/.config/river/init'
riverctl map normal Super J focus-view next
riverctl map normal Super K focus-view previous
riverctl map normal Super+Shift J swap next
riverctl map normal Super+Shift K swap previous
riverctl map normal Super M focus-output next
riverctl map normal Super Period focus-output previous
riverctl map normal Super+Shift M send-to-output next
riverctl map normal Super+Shift Period send-to-output previous
riverctl map normal Super Return zoom
riverctl map normal Super H send-layout-cmd rivertile "main-ratio -0.05"
riverctl map normal Super L send-layout-cmd rivertile "main-ratio +0.05"
riverctl map normal Super+Shift H send-layout-cmd rivertile "main-count +1"
riverctl map normal Super+Shift L send-layout-cmd rivertile "main-count -1"
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
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
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
riverctl map-pointer normal Super BTN_LEFT move-view
riverctl map-pointer normal Super BTN_RIGHT resize-view
riverctl map-pointer normal Super BTN_MIDDLE toggle-float
riverctl map-pointer normal Super KEY_SCROLLUP carousel "scroll -0.01"
riverctl map-pointer normal Super KEY_SCROLLDOWN send-layout-cmd carousel "scroll 0.01"
for i in $(seq 1 9)
do
tags=$((1 << ($i - 1)))
riverctl map normal Super $i set-focused-tags $tags
riverctl map normal Super+Shift $i set-view-tags $tags
riverctl map normal Super+Control $i toggle-focused-tags $tags
riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
done
all_tags=$(((1 << 32) - 1))
riverctl map normal Super 0 set-focused-tags $all_tags
riverctl map normal Super+Shift 0 set-view-tags $all_tags
riverctl map normal Super Space toggle-float
riverctl map normal Super F toggle-fullscreen
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"
# 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
riverctl map normal Super F11 enter-mode passthrough
riverctl map passthrough Super 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
riverctl map $mode None XF86Eject spawn 'eject -T'
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'
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 brightness with light (https://github.com/haikarainen/light)
# Currently handled by acpid
#riverctl map $mode None XF86MonBrightnessUp spawn 'light -A 5'
#riverctl map $mode None XF86MonBrightnessDown spawn 'light -U 5'
done
# Set background and border color
riverctl background-color 0x002b36
riverctl border-color-focused 0x93a1a1
riverctl border-color-unfocused 0x586e75
# Set keyboard repeat rate
riverctl set-repeat 50 300
# Make certain views start floating
#riverctl float-filter-add app-id float
#riverctl float-filter-add title "popup title with spaces"
# Set app-ids and titles of views which should use client side decorations
#riverctl csd-filter-add app-id "gedit"
# Set the default layout generator to be rivertile and start it.
# River will send the process group of the init executable SIGTERM on exit.
riverctl default-layout rivertile
riverctl map normal Super E output-layout bsp-layout
riverctl map normal Super W output-layout rivertile
riverctl map normal Super G output-layout uniform-grid
# Only run these at the first load.
if [ -z $RIVER_RELOAD ]
then
dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=river
# Layout engines
rivertile -view-padding 6 -outer-padding 6 &
river-bsp-layout &
river-uniform-grid-layout &
# Daemons
pipewire &
wireplumber &
pipewire-pulse &
dunst &
udiskie &
# Bar
i3bar-river &
fi