[river] Add river configuration
This commit is contained in:
parent
dc91c35031
commit
04965032ac
2 changed files with 224 additions and 0 deletions
180
river/init
Executable file
180
river/init
Executable file
|
@ -0,0 +1,180 @@
|
|||
#!/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
|
|
@ -84,6 +84,50 @@ bar:
|
|||
#default: {string: {text: "{name}", foreground: *col_fg_alt, margin: 7}}
|
||||
#conditions:
|
||||
#state == focused: {string: {text: "{name}", margin: 7}}
|
||||
#
|
||||
- river:
|
||||
content:
|
||||
map:
|
||||
margin: 7
|
||||
default:
|
||||
string:
|
||||
foreground: *col_fg
|
||||
text: "{id}: {state}"
|
||||
conditions:
|
||||
state == focused:
|
||||
string:
|
||||
foreground: *col_fg
|
||||
text: "{id}"
|
||||
state == unfocused:
|
||||
string:
|
||||
foreground: *col_visible_ws
|
||||
text: "{id}"
|
||||
state == urgent:
|
||||
string:
|
||||
foreground: *col_fg_alert
|
||||
text: "{id}"
|
||||
~occupied: {empty: {}}
|
||||
state == invisible:
|
||||
string:
|
||||
foreground: *col_fg_alt
|
||||
text: "{id}"
|
||||
title:
|
||||
- map:
|
||||
default: {empty: {}}
|
||||
conditions:
|
||||
seat != default: {string: { text: "{seat}" }}
|
||||
- map:
|
||||
default: {empty: {}}
|
||||
conditions:
|
||||
mode != normal: {string: { text: "{mode}" }}
|
||||
- map:
|
||||
default:
|
||||
string:
|
||||
text: "{title}"
|
||||
left-margin: 10
|
||||
foreground: *col_fg_alt
|
||||
conditions:
|
||||
title == "": {empty: {}}
|
||||
|
||||
- script:
|
||||
path: /home/midgard/.config/yambar/sway.py
|
||||
|
|
Loading…
Reference in a new issue