{inputs, pkgs, lib, config, ...}: let cfg = config.nix-config.hypr; in { config = { wayland.windowManager.hyprland = { settings = { master = { # TODO - I am not yet happy about the layout + toggle keybinds orientation = "center"; # equivalent toalways_center_master = true; slave_count_for_center_master = 0; # new_is_master = false; # allow_small_split = true; # special_scale_factor = 0.80; mfact = 0.34; inherit_fullscreen = false; # always_center_master = false; # allow a maximum of 3 windows in the master area for 3-column layout }; #create special workspaces with no gaps workspace = [ "w[t1], gapsout:0, gapsin:0" "w[tg1], gapsout:0, gapsin:0" "f[1], gapsout:0, gapsin:0" ]; # automatically assign windows to workspaces when there is only one window windowrulev2 = [ "bordersize 0, floating:0, onworkspace:w[t1]" "rounding 0, floating:0, onworkspace:w[t1]" "bordersize 0, floating:0, onworkspace:w[tg1]" "rounding 0, floating:0, onworkspace:w[tg1]" "bordersize 0, floating:0, onworkspace:f[1]" "rounding 0, floating:0, onworkspace:f[1]" ]; misc = { vfr = false; disable_hyprland_logo = true; }; # Keybind to toggle between 2 and 3 column master layout bind = [ # Toggle master layout between 2 and 3 columns "$mod, m, exec, hyprctl dispatch layoutmsg orientationleft" "$mod, m, exec, hyprctl dispatch layoutmsg mfact exact 0.5" # "SUPER_SHIFT,C,exec,hyprctl dispatch layoutmsg swap_master_count 2 3" ]; }; }; }; }