diff --git a/user/dot_config/hypr/hyprland-binds.lua b/user/dot_config/hypr/hyprland-binds.lua index fef1972..7b584d4 100644 --- a/user/dot_config/hypr/hyprland-binds.lua +++ b/user/dot_config/hypr/hyprland-binds.lua @@ -45,6 +45,11 @@ hl.bind("SUPER + S", hl.dsp.window.pin({action="toggle"}), { description = "Pin hl.bind("SUPER + mouse:272", hl.dsp.window.drag(), { description = "Move Window", mouse = true }) hl.bind("SUPER + mouse:273", hl.dsp.window.resize(), { description = "Resize Window", mouse = true }) +hl.bind("SUPER + asciicircum", hl.dsp.focus({urgent_or_last = true }), { description = "Focus Last or Urgent Window" }) +hl.bind("SUPER + Tab", hl.dsp.focus({last = true }), { description = "Focus Last Window" }) +hl.bind("ALT + Tab", hl.dsp.window.cycle_next({next = true, tiled = true, floating = true}), { description = "Cycle Focus" }) +hl.bind("ALT + SHIFT + Tab", hl.dsp.window.cycle_next({next = false, tiled = true, floating = true}), { description = "Cycle Focus" }) + local function smart_focus(direction) local window = hl.get_active_window() if not window then return end diff --git a/user/dot_config/hypr/hyprland-variables.lua b/user/dot_config/hypr/hyprland-variables.lua index d58a853..d4ed095 100644 --- a/user/dot_config/hypr/hyprland-variables.lua +++ b/user/dot_config/hypr/hyprland-variables.lua @@ -108,7 +108,7 @@ return { border_size = 3, gaps_in = 10, gaps_out = 20, - float_gaps = 10, + float_gaps = 0, gaps_workspaces = 0, col = { inactive_border = color_overlay0, @@ -120,7 +120,7 @@ return { snap = { enabled = true, -- floating windows should snap to each other respect_gaps = true, -- respect gaps_in when snapping - window_gap = 20, -- distance between windows before snapping + window_gap = 0, -- distance between windows before snapping }, }, decoration = { diff --git a/user/dot_config/hypr/hyprland-windowrules.lua b/user/dot_config/hypr/hyprland-windowrules.lua index 4b0b140..9c7f469 100644 --- a/user/dot_config/hypr/hyprland-windowrules.lua +++ b/user/dot_config/hypr/hyprland-windowrules.lua @@ -229,6 +229,8 @@ rule( ) -- Librewolf and Firefox +-- FIXME: Title is evaluated only once at start of application and then never again +-- So these rules will not apply. But i have not found a fix for it yet rule( { matches_class("^(firefox|librewolf)$"), matches_title("^(Picture-in-Picture)$") }, { float() } @@ -259,12 +261,12 @@ rule( { tile() } ) rule( - { matches_class("^(java-lang-Thread|net-sourceforge-jnlp-runtime-Boot)$"), matches_title("^(BÜ Zeiten|Elementname|Verspätungsmeldung.*)$") }, - { float(), pin() } + { matches_class("^(java-lang-Thread|net-sourceforge-jnlp-runtime-Boot)$"), matches_title("^(BÜ Zeiten|Elementname)$") }, + { float(), pin(), no_initial_focus() } ) rule( { matches_class("^(java-lang-Thread|net-sourceforge-jnlp-runtime-Boot)$"), matches_title("^(Verspätungsmeldung.*)$") }, - { stay_focused() } + { float(), center() } ) rule( { matches_title("^(.*StellwerkSim.*)$") },