From 68aa7a16f81cc1eba4a66c1d6f27622f56541072 Mon Sep 17 00:00:00 2001 From: alejandro-angulo Date: Sun, 15 Feb 2026 14:40:40 -0800 Subject: [PATCH] Add bind to switch layouts --- modules/home/windowManagers/hyprland/default.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/modules/home/windowManagers/hyprland/default.nix b/modules/home/windowManagers/hyprland/default.nix index 96254fa..aba89ff 100644 --- a/modules/home/windowManagers/hyprland/default.nix +++ b/modules/home/windowManagers/hyprland/default.nix @@ -24,6 +24,14 @@ let emoji_picker = "${pkgs.bemoji}/bin/bemoji -t"; terminal = "${pkgs.kitty}/bin/kitty"; + layout_toggle_script = pkgs.writeShellScriptBin "layout-toggle" '' + current_layout="$(${pkgs.hyprland}/bin/hyprctl getoption general:layout -j | ${pkgs.jq}/bin/jq -r .str)" + case "$current_layout" in + master) ${pkgs.hyprland}/bin/hyprctl -q keyword general:layout dwindle ;; + dwindle) ${pkgs.hyprland}/bin/hyprctl -q keyword general:layout master ;; + esac + ''; + generate_grim_command = target: '' exec mkdir -p ~/screenshots \ && ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" \ @@ -147,6 +155,11 @@ in preserve_split = true; }; + # Master layout + master = { + orientation = "center"; + }; + # Window rules windowrule = [ "suppress_event maximize, match:class .*" @@ -208,6 +221,7 @@ in "$mod SHIFT, o, movetoworkspace, 9" # Layout + "$mod, g, exec, ${layout_toggle_script}/bin/layout-toggle" "$mod, v, togglesplit" "$mod, f, fullscreen" "$mod SHIFT, f, togglefloating"