diff --git a/config/alacritty/.gitignore b/config/alacritty/.gitignore deleted file mode 100644 index f84003c..0000000 --- a/config/alacritty/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -theme.yml -alacritty.yml diff --git a/config/i3/autorandrdefaultmenu b/config/i3/autorandrdefaultmenu deleted file mode 100755 index d2f2d25..0000000 --- a/config/i3/autorandrdefaultmenu +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -shopt -s nullglob globstar - -profile=$(echo -e "$(autorandr 2>&1 | cut -d' ' -f1)" | rofi -dmenu -p "Default profile" "$@") - -[[ -n $profile ]] || exit - -autorandr --default "$profile" - diff --git a/config/i3/autorandrloadmenu b/config/i3/autorandrloadmenu deleted file mode 100755 index 14c5a13..0000000 --- a/config/i3/autorandrloadmenu +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -shopt -s nullglob globstar - -profile=$(echo -e "common\nclone-largest\nhorizontal\nvertical\n$(autorandr 2>&1 | cut -d' ' -f1)" | rofi -dmenu -p "Load profile" "$@") - -[[ -n $profile ]] || exit - -autorandr --load "$profile" - diff --git a/config/i3/autorandrremovemenu b/config/i3/autorandrremovemenu deleted file mode 100755 index 323d72c..0000000 --- a/config/i3/autorandrremovemenu +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -shopt -s nullglob globstar - -profile=$(echo -e "$(autorandr 2>&1 | cut -d' ' -f1)" | rofi -dmenu -p "Remove profile" "$@") - -[[ -n $profile ]] || exit - -autorandr --remove "$profile" - diff --git a/config/i3/autorandrsavemenu b/config/i3/autorandrsavemenu deleted file mode 100755 index e24db48..0000000 --- a/config/i3/autorandrsavemenu +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -shopt -s nullglob globstar - -profile=$(echo -e "$(autorandr 2>&1 | cut -d' ' -f1)" | rofi -dmenu -p "Save profile" "$@") - -[[ -n $profile ]] || exit - -autorandr --save "$profile" - diff --git a/config/i3/config.j2 b/config/i3/config.j2 index d3a131c..d0e0381 100644 --- a/config/i3/config.j2 +++ b/config/i3/config.j2 @@ -65,20 +65,6 @@ for_window [urgent=latest] focus # Set shut down, restart and locking features set $locker $HOME/.config/i3/lock -set $mode_screen Screen setup [A] Auto [L] Load [S] Save [R] Remove [D] Default - "$mod+t" = "mode "$mode_screen""; -mode "$mode_screen" { - "a" = "exec autorandr --change --force, mode "default""; - "l" = "exec ~/.config/i3/autorandrloadmenu, mode "default""; - "s" = "exec ~/.config/i3/autorandrsavemenu, mode "default""; - "r" = "exec ~/.config/i3/autorandrremovemenu, mode "default""; - "d" = "exec ~/.config/i3/autorandrdefaultmenu, mode "default""; - - # back to normal: Enter or Escape - "Return" = "mode "default""; - "Escape" = "mode "default""; -} - # Screen temperature ("redness") setting "$mod+y" = "mode "$mode_temp""; set $mode_temp Temperature [R] Red [D] Dust storm [C] Campfire [O] Normal [A] All nighter [B] Blue diff --git a/config/nix/hm/desktop.nix b/config/nix/hm/desktop.nix index 132f85f..80fcc15 100644 --- a/config/nix/hm/desktop.nix +++ b/config/nix/hm/desktop.nix @@ -48,6 +48,7 @@ mode_resize = "Resize"; mode_pres_main = "Presentation (main display)"; mode_pres_sec = "Presentation (secondary display)"; + mode_screen = "Screen setup [A] Auto [L] Load [S] Save [R] Remove [D] Default"; in { terminal = "alacritty"; @@ -206,6 +207,7 @@ "${mod}+Escape" = "mode ${mode_system}"; "${mod}+r" = "mode ${mode_resize}"; "${mod}+Shift+p" = "mode ${mode_pres_main}"; + "${mod}+t" = "mode ${mode_screen}"; }; modes = let return_bindings = { "Return" = "mode default"; @@ -227,15 +229,34 @@ "l" = "resize grow width 10 px or 10 ppt; ${focus}"; } // return_bindings; "${mode_pres_main}" = { - "b" = "workspace 3, workspace 4, mode $mode_pres_sec"; + "b" = "workspace 3, workspace 4, mode ${mode_pres_sec}"; "q" = "mode default"; "Return" = "mode default"; }; "${mode_pres_sec}" = { - "b" = "workspace 1, workspace 2, mode $mode_pres_main"; + "b" = "workspace 1, workspace 2, mode ${mode_pres_main}"; "q" = "mode default"; "Return" = "mode default"; }; + "${mode_screen}" = + let + builtin_configs = [ "off" "common" "clone-largest" "horizontal" "vertical" "horizontal-reverse" "vertical-reverse" ]; + autorandrmenu = { title, option, builtin ? false }: pkgs.writeShellScript "autorandrmenu" + '' + shopt -s nullglob globstar + profiles="${if builtin then lib.strings.concatLines builtin_configs else ""}$(${pkgs.autorandr}/bin/autorandr | ${pkgs.gawk}/bin/awk '{ print $1 }')" + profile="$(echo "$profiles" | ${config.programs.rofi.package}/bin/rofi -dmenu -p "${title}")" + [[ -n "$profile" ]] || exit + ${pkgs.autorandr}/bin/autorandr ${option} "$profile" + ''; + in + { + "a" = "exec ${pkgs.autorandr}/bin/autorandr --change --force, mode default"; + "l" = "exec ${autorandrmenu {title="Load profile"; option="--load"; builtin = true;}}, mode default"; + "s" = "exec ${autorandrmenu {title="Save profile"; option="--save";}}, mode default"; + "r" = "exec ${autorandrmenu {title="Remove profile"; option="--remove";}}, mode default"; + "d" = "exec ${autorandrmenu {title="Default profile"; option="--default"; builtin = true;}}, mode default"; + } // return_bindings; }; }; }; @@ -339,7 +360,6 @@ xautolock xclip lemonbar-xft - autorandr keynav sct xorg.xinit