#!/bin/sh in_sway=false if [ -n "$SWAYSOCK" ]; then in_sway=true fi riverctl focus-output DP-1 SWAYSOCK="" yambar >/dev/null 2>&1 & if ! $in_sway; then swaybg -i $HOME/img/bg/vallei_la_roche_less_contrast.jpg -m fill & fi riverctl keyboard-layout -options 'compose:menu,shift:both_capslock,altwin:swap_lalt_lwin' be_custom riverctl keyboard-layout -options 'compose:menu,shift:both_capslock,caps:none' be riverctl set-repeat 70 170 riverctl hide-cursor timeout 3000 xrdb -merge "$HOME/.Xresources" DOTOOL_XKB_LAYOUT=be dotoold & wl-paste --watch clipman store & riverctl map normal $mod c spawn "clipman pick --tool rofi" if $in_sway; then mod=Alt else mod=Super fi riverctl default-attach-mode above riverctl border-width 1 riverctl border-color-focused 0xffffff88 riverctl border-color-unfocused 0xffffff00 riverctl focus-follows-cursor normal riverctl set-cursor-warp on-output-change riverctl map normal $mod Return spawn foot riverctl map normal $mod O spawn swaylock -c 000000 -l -f -i ~/img/bg/amy_sunflowers_painted_lock.png riverctl map normal $mod D spawn "killall rofi || rofi -show combi" riverctl map normal $mod K focus-view previous riverctl map normal $mod J focus-view next riverctl map normal $mod H focus-output previous riverctl map normal $mod L focus-output next riverctl map normal $mod+Shift K swap previous riverctl map normal $mod+Shift J swap next riverctl map normal $mod+Shift H send-to-output -current-tags previous riverctl map normal $mod+Shift L send-to-output -current-tags next riverctl map normal $mod+Control K focus-view up riverctl map normal $mod+Control J focus-view down riverctl map normal $mod+Control H focus-view left riverctl map normal $mod+Control L focus-view right riverctl map normal $mod+Control+Shift K swap up riverctl map normal $mod+Control+Shift J swap down riverctl map normal $mod+Control+Shift H swap left riverctl map normal $mod+Control+Shift L swap right #riverctl map normal $mod X focus-output next #riverctl map normal $mod+Shift X send-to-output -current-tags next riverctl map normal $mod Z zoom riverctl map normal $mod+Shift Q close riverctl map normal $mod space toggle-float riverctl map normal $mod F toggle-fullscreen riverctl map-pointer normal $mod BTN_RIGHT resize-view riverctl map-pointer normal $mod BTN_LEFT move-view riverctl map normal $mod twosuperior focus-previous-tags riverctl map normal $mod+Shift twosuperior send-to-previous-tags map_tags() { local tag=$((1 << ($2 - 1))) riverctl map normal $mod "$1" set-focused-tags "$tag" riverctl map normal $mod+Control "$1" toggle-focused-tags "$tag" riverctl map normal $mod+Shift "$1" set-view-tags "$tag" riverctl map normal $mod+Shift+Control "$1" toggle-view-tags "$tag" } map_tags ampersand 1 map_tags eacute 2 map_tags quotedbl 3 map_tags apostrophe 4 map_tags parenleft 5 map_tags section 6 map_tags egrave 7 map_tags exclam 8 map_tags ccedilla 9 map_tags agrave 10 map_tags parenright 11 riverctl map normal $mod T set-view-tags $(((1 << 11) - 1)) # Set the default layout generator to be river-ultitile and start it. # River will send the process group of the init executable SIGTERM on exit. riverctl default-layout river-ultitile if $in_sway; then ~/dev/river-ultitile/zig-out/bin/river-ultitile & # Mod+U and Mod+I to increase/decrease the main size riverctl map normal $mod U send-layout-cmd river-ultitile "set integer main-size += 5" riverctl map normal $mod I send-layout-cmd river-ultitile "set integer main-size -= 5" # Mod+Shift+U and Mod+Shift+I to decrease/increase the main count riverctl map normal $mod+Shift U send-layout-cmd river-ultitile "set integer main-count -= 1" riverctl map normal $mod+Shift I send-layout-cmd river-ultitile "set integer main-count += 1" # Mod+{Up,Right,Down,Left} to change layout riverctl map normal $mod Up send-layout-cmd river-ultitile "set string layout = vstack" riverctl map normal $mod Right send-layout-cmd river-ultitile "set string layout = hstack" riverctl map normal $mod Down send-layout-cmd river-ultitile "set string layout = monocle" riverctl map normal $mod Left send-layout-cmd river-ultitile "set string layout = main" else ~/.local/bin/river-ultitile & # Mod+U and Mod+I to increase/decrease the main size riverctl map normal $mod U send-layout-cmd river-ultitile "edit main-center.main stretch+5" riverctl map normal $mod I send-layout-cmd river-ultitile "edit main-center.main stretch-5" # Mod+Shift+U and Mod+Shift+I to decrease/increase the main count riverctl map normal $mod+Shift U send-layout-cmd river-ultitile "edit main-center.main max-views-1" riverctl map normal $mod+Shift I send-layout-cmd river-ultitile "edit main-center.main max-views+1" # Mod+{Up,Right,Down,Left} to change layout orientation riverctl map normal $mod Up send-layout-cmd river-ultitile "default layout vstack" riverctl map normal $mod Right send-layout-cmd river-ultitile "default layout hstack" riverctl map normal $mod Down send-layout-cmd river-ultitile "default layout main-center" riverctl map normal $mod Left send-layout-cmd river-ultitile "default layout main-left" # And for monocle riverctl map normal $mod M send-layout-cmd river-ultitile "default layout monocle" # Cycle through layout #riverctl map normal $mod W send-layout-cmd river-ultitile "main-location-cycle left,monocle" ultitile() { riverctl send-layout-cmd river-ultitile "$*" } ultitile new layout hstack type=hsplit padding=5 margin=5 max-views=unlimited ultitile new layout vstack type=vsplit padding=5 margin=5 max-views=unlimited ultitile new layout main-left type=hsplit padding=5 margin=5 ultitile new tile main-left.left type=vsplit stretch=40 order=2 ultitile new tile main-left.main type=vsplit stretch=60 order=1 max-views=1 ultitile new layout main-center type=hsplit padding=5 margin=5 ultitile new tile main-center.left type=vsplit stretch=25 order=2 suborder=0 ultitile new tile main-center.main type=vsplit stretch=50 order=1 max-views=1 ultitile new tile main-center.right type=vsplit stretch=25 order=2 suborder=1 ultitile new layout monocle type=overlay max-views=unlimited ultitile default layout main-center riverctl spawn 'foot sh -c "vi ~/todo2.txt; bash"' riverctl spawn 'foot sh -c "vi ~/todo.txt; bash"' sleep 0.2 riverctl set-view-tags $((1 << (10 - 1))) riverctl set-view-tags $((1 << (10 - 1))) sleep 0.2 riverctl spawn 'foot sh -c "toxic; bash"' sleep 0.2 riverctl set-view-tags $((1 << (11 - 1))) fi riverctl rule-add -app-id "Firefox" ssd riverctl rule-add -app-id "Tor Browser" ssd riverctl rule-add -app-id gramps ssd