feat: add toggle to rofi and wlogout

This commit is contained in:
DACHXY 2025-04-29 14:21:05 +08:00
parent e6c4ca5e04
commit c73aa5436f
2 changed files with 26 additions and 5 deletions

View file

@ -1,4 +1,8 @@
{ mainMod, nvidia-offload-enabled }: {
mainMod,
nvidia-offload-enabled,
pkgs,
}:
let let
firefox = "firefox-nightly"; firefox = "firefox-nightly";
prefix = if nvidia-offload-enabled then "nvidia-offload" else ""; prefix = if nvidia-offload-enabled then "nvidia-offload" else "";
@ -12,6 +16,22 @@ let
# clipboard-only = "${clipboardOnly}"; # clipboard-only = "${clipboardOnly}";
screenshotFolder = "--output-folder ~/Pictures/Screenshots"; screenshotFolder = "--output-folder ~/Pictures/Screenshots";
clipboardOnly = "${screenshotFolder}"; clipboardOnly = "${screenshotFolder}";
toggleWlogout = pkgs.writeShellScriptBin "toggle" ''
if ${pkgs.busybox}/bin/pgrep wlogout > /dev/null; then
${pkgs.busybox}/bin/pkill wlogout
else
${pkgs.wlogout}/bin/wlogout --protocol layer-shell
fi
'';
toggleRofi = pkgs.writeShellScriptBin "toggle" ''
if ${pkgs.busybox}/bin/pgrep rofi > /dev/null; then
${pkgs.busybox}/bin/pkill rofi
else
rofi "$@"
fi
'';
in in
[ [
''${mainMod}, F, exec, ${browser}'' ''${mainMod}, F, exec, ${browser}''
@ -19,10 +39,10 @@ in
''CTRL ALT, T, exec, ${terminal}'' ''CTRL ALT, T, exec, ${terminal}''
''${mainMod}, Q, killactive, '' ''${mainMod}, Q, killactive, ''
''${mainMod}, M, exec, wlogout --protocol layer-shell'' ''${mainMod}, M, exec, ${toggleWlogout}/bin/toggle''
''${mainMod}, E, exec, ${filemanager}'' ''${mainMod}, E, exec, ${filemanager}''
''${mainMod}, V, togglefloating, '' ''${mainMod}, V, togglefloating, ''
''ALT, SPACE, exec, rofi -config ~/.config/rofi/apps.rasi -show drun'' ''ALT, SPACE, exec, ${toggleRofi}/bin/toggle -config ~/.config/rofi/apps.rasi -show drun''
''${mainMod} ALT, W, exec, ${scripts}/waybarRestart.sh'' ''${mainMod} ALT, W, exec, ${scripts}/waybarRestart.sh''
''${mainMod}, P, pseudo, # dwindle'' ''${mainMod}, P, pseudo, # dwindle''
''${mainMod}, S, togglesplit, # dwindle'' ''${mainMod}, S, togglesplit, # dwindle''
@ -34,8 +54,8 @@ in
''CTRL SHIFT ${mainMod}, s, exec, hyprshot -m output ${clipboardOnly} ${freezeShot}'' ''CTRL SHIFT ${mainMod}, s, exec, hyprshot -m output ${clipboardOnly} ${freezeShot}''
''CTRL ALT, s, exec, hyprshot -m active -m window ${clipboardOnly} ${freezeShot}'' ''CTRL ALT, s, exec, hyprshot -m active -m window ${clipboardOnly} ${freezeShot}''
''${mainMod}, PERIOD, exec, rofi -modi emoji -show emoji'' ''${mainMod}, PERIOD, exec, ${toggleRofi}/bin/toggle -modi emoji -show emoji''
''CTRL ${mainMod}, c, exec, rofi -show calc -modi calc -no-show-match -no-sort'' ''CTRL ${mainMod}, c, exec, ${toggleRofi}/bin/toggle -show calc -modi calc -no-show-match -no-sort''
''${mainMod}, X, exec, sleep 0.1 && swaync-client -t -sw'' ''${mainMod}, X, exec, sleep 0.1 && swaync-client -t -sw''
''${mainMod} SHIFT, C, centerwindow'' ''${mainMod} SHIFT, C, centerwindow''
'',F11, fullscreen'' '',F11, fullscreen''

View file

@ -64,6 +64,7 @@ in
}; };
bind = import ./hypr/bind.nix { bind = import ./hypr/bind.nix {
inherit mainMod; inherit mainMod;
inherit pkgs;
nvidia-offload-enabled = osConfig.hardware.nvidia.prime.offload.enableOffloadCmd; nvidia-offload-enabled = osConfig.hardware.nvidia.prime.offload.enableOffloadCmd;
}; };
bindm = import ./hypr/bindm.nix { inherit mainMod; }; bindm = import ./hypr/bindm.nix { inherit mainMod; };