--############################# --## WINDOWS AND WORKSPACES ### --############################# -- See https://wiki.hypr.land/Configuring/Window-Rules/ for more -- See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules hl.window_rule({ name = "scrcpy", match = {class = "scrcpy"}, border_size = 5, float = true, dim_around = true, move = {5, 40}, }) hl.window_rule({ name = "compiler-window", match = { tag = "compiler"}, border_color = "0xccaaffee", border_size = 2, float = false, }) hl.window_rule({ name = "gaming", match = { class = "steam", initial_class = "steam" }, workspace = "special:gaming" }) -- Catch any window launched with the initial class 'browser-popup' and tag it hl.window_rule({ match = { initial_class = "^browser-popup$" }, tag = "popup" }) hl.window_rule({ match = { tag = "popup" }, float = true, border_size = 2, size = {"(monitor_w * 0.5)", "(monitor_h * 0.7)"}, }) hl.window_rule({ match = { tag = "large-popup" }, float = true, border_size = 2, size = {"(monitor_w * 0.9)", "(monitor_h * 0.9)"}, }) hl.window_rule( { -- Ignore maximize requests from all apps. You'll probably like this. name = "suppress-maximize-events", match = {class = ".*"}, suppress_event = "maximize", }) hl.window_rule( { -- Fix some dragging issues with XWayland name = "fix-xwayland-drags", match = { class = "^$", title = "^$", xwayland = true, float = true, fullscreen = false, pin = false }, no_focus = true, }) hl.workspace_rule({ workspace = "s[true]", gaps_out = 10 }) -- Set firefox floating player to float and pin it hl.window_rule( { name = "floating player", match = {class = "^firefox", initial_title = "^Picture-in-Picture"}, float = true, pin = true, center = true, -- keepaspectratio = true, move = {"3500", "50" }, keep_aspect_ratio = true, persistent_size = true }) -- Set noctalia settings window to float. hl.window_rule( { name = "noctalia-settings", match = {class = "dev.noctalia.Noctalia", initial_title = "Noctalia Settings"}, float = true, center = true, size = {"monitor_w*.5", "monitor_h*.8"}, }) -- Set Obsidian settings window to float. hl.window_rule( { name = "obsidian-settings", match = {initial_class = "md.obsidian.Obsidian"},--, initial_title = "Settings - Notes - Obsidian*"}, float = true, center = true, size = {"monitor_w*.5", "monitor_h*.8"}, }) -- Hyprland-run hl.window_rule( hl.window_rule( { name = "move-hyprland-run", move = {20,"monitor_h-120"}, float = true, }) hl.window_rule( { name = "calc-term", match = {class = "calc-term"}, pseudo = true, float = true, center = true, opacity = 1, -- move = {"cursor_x-10", "cursor_y-10"}, size = {"monitor_w*.4", "monitor_h*.4"}, }) hl.workspace_rule( { workspace = "w[tv1]", gaps_out = 1, gaps_in = 1, border_size = 1, no_rounding = false, }) -- Sample Config Snippets hl.window_rule({ --float TOR and Mullvad browsers to keep default window size name = "privacy-browsers-float", match = { class = "^(Tor Browser|Mullvad Browser)$" }, float = true, center = true, fullscreen_state = "0 0", suppress_event = "maximize", })