{{- $tags := .chezmoi.config.data.tags -}} hl.config({ group = { auto_group = true, insert_after_current = true, focus_removed_window = true, drag_into_group = 1, merge_groups_on_drag = true, merge_groups_on_groupbar = true, merge_floated_into_tiled_on_groupbar = true, group_on_movetoworkspace = false, -- colors to be integrated via theme table groupbar = { enabled = true, height = 12, font_family = "GeistMono Nerd Font", font_size = 8, font_weight_active = "semibold", font_weight_inactive = "normal", stacked = false, gradients = true, gradient_rounding = 5, indicator_height = 0, rounding = 0, gradient_round_only_edges = true, render_titles = true, scrolling = true, priority = 3 } } }) -- Permissions (NEW in v0.55) hl.permission({ binary = "/usr/bin/grim", type = "screencopy", mode = "allow" }) -- Window Rules hl.window_rule({ match = { class = ".*" }, suppress_event = "maximize" }) -- XWayland fixes hl.window_rule({ match = { class = "^$", title = "^$", xwayland = true, float = true, fullscreen = false, pin = false }, no_focus = true }) hl.window_rule({ match = { xwayland = true }, no_initial_focus = true }) -- Communication hl.window_rule({ match = { class = "^(info\\.mumble\\.Mumble|discord|vesktop|teamspeak-client|TeamSpeak|TeamSpeak 3|teamspeak3)$" }, workspace = "2" }) hl.window_rule({ match = { class = "^(Element)$" }, workspace = "3" }) -- Mail hl.window_rule({ match = { class = "^(org\\.mozilla\\.Thunderbird)$" }, workspace = "1" }) -- Notes hl.window_rule({ match = { class = "^(@joplin/app-desktop)$" }, workspace = "4" }) {{- if index $tags "entertainment" }} -- Multimedia hl.window_rule({ match = { class = "Spotify" }, workspace = "6" }) {{- end }} {{- if index $tags "cs2" }} -- Gaming hl.window_rule({ match = { class = "^(steam)$" }, workspace = "5" }) {{- end }} -- System hl.window_rule({ match = { class = "com.saivert.pwvucontrol" }, float = true }) hl.window_rule({ match = { class = "scrrec" }, float = true, pin = true, idle_inhibit = "always", rounding = 10, opacity = 0.6, border_size = 0, size = { 300, 100 }, move = { "1%", "1%" }, monitor = 0, no_initial_focus = true }) hl.window_rule({ match = { class = "com.gabm.satty" }, float = true, min_size = { 700, 400 } }) -- Layer Rules hl.layer_rule({ match = { namespace = "quickshell:.*" }, blur = true, ignore_alpha = 0.79 }) hl.layer_rule({ match = { namespace = "quickshell:popout" }, animation = "bouncy" })