more river wm things
parent
bec94e82ac
commit
fe2d77e66d
|
@ -4,4 +4,5 @@
|
||||||
imports =
|
imports =
|
||||||
# [ ./nixos-common.nix ./desktop-sway ./alacritty/capibara.nix ./theming ];
|
# [ ./nixos-common.nix ./desktop-sway ./alacritty/capibara.nix ./theming ];
|
||||||
[ ./nixos-common.nix ./desktop-xmonad/capibara.nix ./alacritty/capibara.nix ./theming ];
|
[ ./nixos-common.nix ./desktop-xmonad/capibara.nix ./alacritty/capibara.nix ./theming ];
|
||||||
|
# [ ./nixos-common.nix ./desktop-river ./alacritty/capibara.nix ./theming ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ./init.nix ];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [ river foot ];
|
||||||
|
|
||||||
|
programs.zsh.loginExtra = ''
|
||||||
|
[[ -z "''${DISPLAY}" ]] && [[ "$(tty)" = "/dev/tty1" ]] && \
|
||||||
|
exec ${pkgs.river}/bin/river
|
||||||
|
'';
|
||||||
|
}
|
|
@ -0,0 +1,115 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
shell = "${pkgs.dash}/bin/dash";
|
||||||
|
riverctl = "${pkgs.river}/bin/riverctl";
|
||||||
|
rivertile = "${pkgs.river}/bin/rivertile";
|
||||||
|
foot = "${pkgs.foot}/bin/foot";
|
||||||
|
seq = "${pkgs.coreutils}/bin/seq";
|
||||||
|
in {
|
||||||
|
home.file.river_init = {
|
||||||
|
executable = true;
|
||||||
|
target = "${config.xdg.configHome}/river/init";
|
||||||
|
text = ''
|
||||||
|
|
||||||
|
# start an instance of foot
|
||||||
|
${riverctl} map normal Super Return spawn ${foot}
|
||||||
|
|
||||||
|
# close the focused view
|
||||||
|
${riverctl} map normal Super+Shift C close
|
||||||
|
|
||||||
|
# exit river
|
||||||
|
${riverctl} map normal Super+Shift Escape exit
|
||||||
|
|
||||||
|
# focus next/previous
|
||||||
|
${riverctl} map normal Super J focus-view next
|
||||||
|
${riverctl} map normal Super K focus-view previous
|
||||||
|
|
||||||
|
# swap next/previous
|
||||||
|
${riverctl} map normal Super+Shift J swap next
|
||||||
|
${riverctl} map normal Super+Shift K swap previous
|
||||||
|
|
||||||
|
# bump focused view to the top of the stack layout
|
||||||
|
${riverctl} map normal Super+Shift Return zoom
|
||||||
|
|
||||||
|
# increase/decrease the main ratio of rivertile
|
||||||
|
${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"
|
||||||
|
|
||||||
|
# increase/decrease the main count of rivertile
|
||||||
|
${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"
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# move/resize with mouse
|
||||||
|
${riverctl} map-pointer normal Super BTN_LEFT move-view
|
||||||
|
${riverctl} map-pointer normal Super BTN_RIGHT resize-view
|
||||||
|
|
||||||
|
${rivertile} -view-padding 6 -outer-padding 6
|
||||||
|
|
||||||
|
for i in $(${seq} 1 9); do
|
||||||
|
tags=$((1 << ($i - 1)))
|
||||||
|
|
||||||
|
# focus tag [0-8]
|
||||||
|
${riverctl} map normal Super $i set-focused-tags $tags
|
||||||
|
|
||||||
|
# tag focused view with tag [0-8]
|
||||||
|
${riverctl} map normal Super+Shift $i set-view-tags $tags
|
||||||
|
|
||||||
|
# toggle focus of tag [0-8]
|
||||||
|
${riverctl} map normal Super+Control $i toggle-focused-tags $tags
|
||||||
|
|
||||||
|
# toggle tag [0-8] of focused view
|
||||||
|
${riverctl} map normal Super+Shift+Control $i toggle-view-tags $tags
|
||||||
|
done
|
||||||
|
|
||||||
|
all_tags=$(((1 << 32) - 1))
|
||||||
|
# focus all tags
|
||||||
|
${riverctl} map normal Super 0 set-focused-tags $all_tags
|
||||||
|
# tag focused view with all tags
|
||||||
|
${riverctl} map normal Super+Shift 0 set-view-tags $all_tags
|
||||||
|
|
||||||
|
# toggle float
|
||||||
|
${riverctl} map normal Super T toggle-float
|
||||||
|
|
||||||
|
# toggle fullscreen
|
||||||
|
${riverctl} map normal Super M toggle-fullscreen
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Super+F11 to enter passthrough mode
|
||||||
|
${riverctl} map normal Super F11 enter-mode passthrough
|
||||||
|
|
||||||
|
# Super+F11 to return to normal mode
|
||||||
|
${riverctl} map passthrough Super F11 enter-mode normal
|
||||||
|
|
||||||
|
${riverctl} default-layout rivertile
|
||||||
|
${rivertile} -view-padding 6 -outer-padding 6
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue