diff --git a/.luarc.json b/.luarc.json new file mode 100644 index 0000000..62faf36 --- /dev/null +++ b/.luarc.json @@ -0,0 +1,10 @@ +{ + "workspace": { + "library": [ + "/usr/share/hypr/stubs" + ] + }, + "diagnostics": { + "globals": ["hl"] + } +} diff --git a/hyprland.conf b/hyprland.conf deleted file mode 100644 index 840e1d3..0000000 --- a/hyprland.conf +++ /dev/null @@ -1,7 +0,0 @@ -source = ./modules/env.conf -source = ./modules/macchiato.conf -source = ./modules/settings.conf -source = ./modules/binds.conf -source = ./modules/executes.conf -source = ./modules/windowrules.conf -source = ./modules/monitors.conf diff --git a/hyprland.lua b/hyprland.lua new file mode 100644 index 0000000..b9584ef --- /dev/null +++ b/hyprland.lua @@ -0,0 +1,6 @@ +require("modules.binds") +require("modules.env") +require("modules.executes") +require("modules.monitors") +require("modules.settings") +require("modules.windowrules") diff --git a/modules/binds.conf b/modules/binds.conf deleted file mode 100644 index 49a5fc1..0000000 --- a/modules/binds.conf +++ /dev/null @@ -1,68 +0,0 @@ -bindm = SUPER,mouse:272,movewindow -bindm = SUPER,mouse:273,resizewindow - -bind = SUPER,RETURN,exec, foot -bind = SUPER,Q,killactive -bind = SUPER,M,exit -bind = SUPER,E,exec, dolphin -bind = SUPER,S,togglefloating -bind = SUPER,P,pseudo -bind = SUPER,B,exec, firefox - -bind = SUPER,H,movefocus,l -bind = SUPER,L,movefocus,r -bind = SUPER,K,movefocus,u -bind = SUPER,J,movefocus,d -binde = SUPER SHIFT,L,resizeactive, 50 0 -binde = SUPER SHIFT,H,resizeactive, -50 0 -binde = SUPER SHIFT,K,resizeactive, 0 -50 -binde = SUPER SHIFT,J,resizeactive, 0 50 - -bind = SUPER,1,workspace,1 -bind = SUPER,2,workspace,2 -bind = SUPER,3,workspace,3 -bind = SUPER,4,workspace,4 -bind = SUPER,5,workspace,5 -bind = SUPER,6,workspace,6 -bind = SUPER,7,workspace,7 -bind = SUPER,8,workspace,8 -bind = SUPER,9,workspace,9 -bind = SUPER,0,workspace,10 -bind = ALT,1,movetoworkspace,1 -bind = ALT,2,movetoworkspace,2 -bind = ALT,3,movetoworkspace,3 -bind = ALT,4,movetoworkspace,4 -bind = ALT,5,movetoworkspace,5 -bind = ALT,6,movetoworkspace,6 -bind = ALT,7,movetoworkspace,7 -bind = ALT,8,movetoworkspace,8 -bind = ALT,9,movetoworkspace,9 -bind = ALT,0,movetoworkspace,10 -bind = SUPER,mouse_down,workspace,e+1 -bind = SUPER,mouse_up,workspace,e-1 -bind = SUPER,g,togglegroup -bind = SUPER,tab,changegroupactive - -bind = SUPER, F,fullscreen -bind = SUPER, D, exec, fuzzel -bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -bindel = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -bindel = , F14, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle -bindel = , F15, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -bindel = , F17, exec, wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%+ -bindel = , F16, exec, wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%- - -bindl = , XF86AudioPlay, exec, playerctl play-pause -bindl = , XF86AudioPrev, exec, playerctl previous -bindl = , XF86AudioNext, exec, playerctl next - -# bind = , PRINT, exec, hyprshot -m region -z - -# zshell -bind = , PRINT, global, zshell:screenshotFreeze -bind = SUPER, R, global, zshell:toggle-launcher -bind = SUPER, A, global, zshell:toggle-nc -bind = SUPER, V, global, zshell:toggle-drawing -bind = SUPER, F1, global, zshell:lock -bind = SUPER, F2, global, zshell:toggle-settings diff --git a/modules/binds.lua b/modules/binds.lua new file mode 100644 index 0000000..120e2f1 --- /dev/null +++ b/modules/binds.lua @@ -0,0 +1,57 @@ +hl.bind("SUPER + mouse:272", hl.dsp.window.drag(), { mouse = true }) +hl.bind("SUPER + mouse:273", hl.dsp.window.resize(), { mouse = true }) + +hl.bind("SUPER + Q", hl.dsp.window.close()) +hl.bind("SUPER + M", hl.dsp.exit()) +hl.bind("SUPER + RETURN", hl.dsp.exec_cmd("ghostty")) +hl.bind("SUPER + E", hl.dsp.exec_cmd("dolphin")) +hl.bind("SUPER + B", hl.dsp.exec_cmd("firefox")) + +hl.bind("SUPER + H", hl.dsp.focus({ direction = "l" })) +hl.bind("SUPER + L", hl.dsp.focus({ direction = "r" })) +hl.bind("SUPER + K", hl.dsp.focus({ direction = "u" })) +hl.bind("SUPER + J", hl.dsp.focus({ direction = "d" })) +hl.bind("SUPER + SHIFT + L", hl.dsp.window.resize({ x = 50, y = 0, relative = true }), { repeating = true }) +hl.bind("SUPER + SHIFT + H", hl.dsp.window.resize({ x = -50, y = 0, relative = true }), { repeating = true }) +hl.bind("SUPER + SHIFT + K", hl.dsp.window.resize({ x = 0, y = -50, relative = true }), { repeating = true }) +hl.bind("SUPER + SHIFT + J", hl.dsp.window.resize({ x = 0, y = 50, relative = true }), { repeating = true }) + +for i = 1, 10 do + local key = i % 10 -- 10 maps to key 0 + hl.bind("SUPER" .. " + " .. key, hl.dsp.focus({ workspace = i })) + hl.bind("ALT" .. " + " .. key, hl.dsp.window.move({ workspace = i, follow = true })) + -- hl.bind("SUPER" .. " + " .. key, hl.dsp.window.move({ workspace = i, follow = false })) +end + +hl.bind("SUPER + F", hl.dsp.window.fullscreen()) +hl.bind("SUPER + D", hl.dsp.exec_cmd("fuzzel")) +hl.bind( + "XF86AudioRaiseVolume", + hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"), + { repeating = true, locked = true } +) +hl.bind( + "XF86AudioLowerVolume", + hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), + { repeating = true, locked = true } +) +hl.bind( + "XF86AudioMute", + hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), + { repeating = true, locked = true } +) +hl.bind("code:192", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { repeating = true, locked = true }) +hl.bind("code:193", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { repeating = true, locked = true }) +hl.bind("code:194", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%-"), { repeating = true, locked = true }) +hl.bind("code:195", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%+"), { repeating = true, locked = true }) + +hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true }) +hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true }) +hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true }) + +hl.bind("PRINT", hl.dsp.global("zshell:screenshotFreeze")) +hl.bind("SUPER + R", hl.dsp.global("zshell:toggle-launcher")) +hl.bind("SUPER + A", hl.dsp.global("zshell:toggle-nc")) +hl.bind("SUPER + V", hl.dsp.global("zshell:toggle-drawing")) +hl.bind("SUPER + F1", hl.dsp.global("zshell:lock")) +hl.bind("SUPER + F2", hl.dsp.global("zshell:toggle-settings")) diff --git a/modules/env.conf b/modules/env.conf deleted file mode 100644 index 594086f..0000000 --- a/modules/env.conf +++ /dev/null @@ -1,32 +0,0 @@ -env = ZSH,/usr/share/oh-my-zsh/ -env = BROWSER,firefox -env = TERM,tmux-256color -env = VISUAL,nvim -env = EDITOR,nvim - -env = HYPRCURSOR_THEME,catppuccin-macchiato-light-cursors -env = HYPRCURSOR_SIZE,24 - -ent = ELECTRON_OZONE_PLATFORM_HINT,auto -env = QT_AUTO_SCREEN_SCALE_FACTOR,1 -env = QT_QPA_PLATFORM,wayland -env = QT_QPA_PLATFORMTHEME,qt6ct -env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 - -env = XDG_SESSION_DESKTOP,Hyprland -env = XDG_SESSION_TYPE,wayland -env = CLUTTER_BACKEND,wayland -env = GDK_BACKEND,wayland -env = SDL_VIDEODRIVER,wayland - -env = XDG_CONFIG_HOME,$HOME/.config -env = XDG_CACHE_HOME,$HOME/.cache -env = XDG_DATA_HOME,$HOME/.local/share -env = XDG_PICTRES_HOME,$HOME/Pictures -env = HYPRSHOT_DIR,$HOME/Pictures/Screenshots - -env = RUSTICL_ENABLE,radeonsi -env = AMD_VULKAN_ICD,RADV - -env = HSA_OVERRIDE_GFX_VERSION,12.0.1 -env = HCC_AMDGPU_TARGET,gfx1201 diff --git a/modules/env.lua b/modules/env.lua new file mode 100644 index 0000000..fab1d38 --- /dev/null +++ b/modules/env.lua @@ -0,0 +1,32 @@ +hl.env("ZSH","/usr/share/oh-my-zsh/") +hl.env("BROWSER","firefox") +hl.env("TERM","tmux-256color") +hl.env("VISUAL","nvim") +hl.env("EDITOR","nvim") + +hl.env("HYPRCURSOR_THEME","catppuccin-macchiato-light-cursors") +hl.env("HYPRCURSOR_SIZE","24") + +hl.env("ELECTRON_OZONE_PLATFORM_HINT","auto") +hl.env("QT_AUTO_SCREEN_SCALE_FACTOR","1") +hl.env("QT_QPA_PLATFORM","wayland") +hl.env("QT_QPA_PLATFORMTHEME","qt6ct") +hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION","1") + +hl.env("XDG_SESSION_DESKTOP","Hyprland") +hl.env("XDG_SESSION_TYPE","wayland") +hl.env("CLUTTER_BACKEND","wayland") +hl.env("GDK_BACKEND","wayland") +hl.env("SDL_VIDEODRIVER","wayland") + +hl.env("XDG_CONFIG_HOME","$HOME/.config") +hl.env("XDG_CACHE_HOME","$HOME/.cache") +hl.env("XDG_DATA_HOME","$HOME/.local/share") +hl.env("XDG_PICTRES_HOME","$HOME/Pictures") +hl.env("HYPRSHOT_DIR","$HOME/Pictures/Screenshots") + +hl.env("RUSTICL_ENABLE","radeonsi") +hl.env("AMD_VULKAN_ICD","RADV") + +hl.env("HSA_OVERRIDE_GFX_VERSION","12.0.1") +hl.env("HCC_AMDGPU_TARGET","gfx1201") diff --git a/modules/executes.conf b/modules/executes.conf deleted file mode 100644 index 022ca39..0000000 --- a/modules/executes.conf +++ /dev/null @@ -1,7 +0,0 @@ -exec-once = zshell-cli shell start -exec-once = fcitx5 -exec-once = wl-paste --type text --watch cliphist store -exec-once = wl-paste --type image --watch cliphist store -exec-once = nextcloud --background -exec-once = hyprsunset -i -exec-once = nm-applet diff --git a/modules/executes.lua b/modules/executes.lua new file mode 100644 index 0000000..9061232 --- /dev/null +++ b/modules/executes.lua @@ -0,0 +1,8 @@ +hl.on("hyprland.start", function() + hl.exec_cmd("zshell-cli shell start") + hl.exec_cmd("nm-applet") + hl.exec_cmd("fcitx5") + hl.exec_cmd("wl-paste --type text --watch cliphist store") + hl.exec_cmd("wl-paste --type image --watch cliphist store") + hl.exec_cmd("hyprsunset -i") +end) diff --git a/modules/macchiato.conf b/modules/macchiato.conf deleted file mode 100644 index a179511..0000000 --- a/modules/macchiato.conf +++ /dev/null @@ -1,77 +0,0 @@ -$rosewater = rgb(f4dbd6) -$rosewaterAlpha = f4dbd6 - -$flamingo = rgb(f0c6c6) -$flamingoAlpha = f0c6c6 - -$pink = rgb(f5bde6) -$pinkAlpha = f5bde6 - -$mauve = rgb(c6a0f6) -$mauveAlpha = c6a0f6 - -$red = rgb(ed8796) -$redAlpha = ed8796 - -$maroon = rgb(ee99a0) -$maroonAlpha = ee99a0 - -$peach = rgb(f5a97f) -$peachAlpha = f5a97f - -$yellow = rgb(eed49f) -$yellowAlpha = eed49f - -$green = rgb(a6da95) -$greenAlpha = a6da95 - -$teal = rgb(8bd5ca) -$tealAlpha = 8bd5ca - -$sky = rgb(91d7e3) -$skyAlpha = 91d7e3 - -$sapphire = rgb(7dc4e4) -$sapphireAlpha = 7dc4e4 - -$blue = rgb(8aadf4) -$blueAlpha = 8aadf4 - -$lavender = rgb(b7bdf8) -$lavenderAlpha = b7bdf8 - -$text = rgb(cad3f5) -$textAlpha = cad3f5 - -$subtext1 = rgb(b8c0e0) -$subtext1Alpha = b8c0e0 - -$subtext0 = rgb(a5adcb) -$subtext0Alpha = a5adcb - -$overlay2 = rgb(939ab7) -$overlay2Alpha = 939ab7 - -$overlay1 = rgb(8087a2) -$overlay1Alpha = 8087a2 - -$overlay0 = rgb(6e738d) -$overlay0Alpha = 6e738d - -$surface2 = rgb(5b6078) -$surface2Alpha = 5b6078 - -$surface1 = rgb(494d64) -$surface1Alpha = 494d64 - -$surface0 = rgb(363a4f) -$surface0Alpha = 363a4f - -$base = rgb(24273a) -$baseAlpha = 24273a - -$mantle = rgb(1e2030) -$mantleAlpha = 1e2030 - -$crust = rgb(181926) -$crustAlpha = 181926 diff --git a/modules/macchiato.lua b/modules/macchiato.lua new file mode 100644 index 0000000..f2caa68 --- /dev/null +++ b/modules/macchiato.lua @@ -0,0 +1,58 @@ +local M = {} + +M.colors = { + + rosewaterAlpha = "rgb(f4dbd6)", + + flamingoAlpha = "rgb(f0c6c6)", + + pinkAlpha = "rgb(f5bde6)", + + mauveAlpha = "rgb(c6a0f6)", + + redAlpha = "rgb(ed8796)", + + maroonAlpha = "rgb(ee99a0)", + + peachAlpha = "rgb(f5a97f)", + + yellowAlpha = "rgb(eed49f)", + + greenAlpha = "rgb(a6da95)", + + tealAlpha = "rgb(8bd5ca)", + + skyAlpha = "rgb(91d7e3)", + + sapphireAlpha = "rgb(7dc4e4)", + + blueAlpha = "rgb(8aadf4)", + + lavenderAlpha = "rgb(b7bdf8)", + + textAlpha = "rgb(cad3f5)", + + subtext1Alpha = "rgb(b8c0e0)", + + subtext0Alpha = "rgb(a5adcb)", + + overlay2Alpha = "rgb(939ab7)", + + overlay1Alpha = "rgb(8087a2)", + + overlay0Alpha = "rgb(6e738d)", + + surface2Alpha = "rgb(5b6078)", + + surface1Alpha = "rgb(494d64)", + + surface0Alpha = "rgb(363a4f)", + + baseAlpha = "rgb(24273a)", + + mantleAlpha = "rgb(1e2030)", + + crustAlpha = "rgb(181926)", +} + +return M diff --git a/modules/monitors.conf b/modules/monitors.conf deleted file mode 100644 index b29a890..0000000 --- a/modules/monitors.conf +++ /dev/null @@ -1,9 +0,0 @@ -monitor= DP-2, 2560x1440@240, 1728x0, 1, bitdepth, 10, cm, srgb -monitor = DP-3, 3840x2160@60, 0x0, 1.25, bitdepth, 10, transform, 1 - -#monitor = DP-3, 3840x2160@60, 0x0, 1.25, bitdepth, 10, transform, 1, icc, /home/koyomi/.config/colorprofiles/lg4k.icm - -render { - cm_auto_hdr = 0 - cm_fs_passthrough = 1 -} diff --git a/modules/monitors.lua b/modules/monitors.lua new file mode 100644 index 0000000..7256cea --- /dev/null +++ b/modules/monitors.lua @@ -0,0 +1,18 @@ +hl.monitor({ + output = "DP-2", + mode = "2560x1440@240", + position = "1728x0", + scale = 1, + bitdepth = 10, + cm = "srgb", +}) + +hl.monitor({ + output = "DP-3", + mode = "3840x2160@60", + position = "0x0", + scale = 1.25, + bitdepth = 10, + cm = "srgb", + transform = 1, +}) diff --git a/modules/settings.conf b/modules/settings.conf deleted file mode 100644 index 96b5969..0000000 --- a/modules/settings.conf +++ /dev/null @@ -1,80 +0,0 @@ -input { - kb_layout = us - kb_variant = intl - kb_model = - kb_options = fkeys:basic_13-24 - kb_rules = - sensitivity = 0 - accel_profile = flat - follow_mouse = 1 -} - -general { - gaps_in = 2 - gaps_out = 2 - border_size = 1 - col.active_border = $mauve $teal $green $sapphire $lavender 90deg - col.inactive_border = $surface1 90deg -} - -decoration { - rounding = 1 - shadow { - enabled = false - range = 6 - render_power = 6 - color = $base - color_inactive = $mantle - } - blur { - enabled = false - size = 2 - passes = 2 - new_optimizations = on - ignore_opacity = true - contrast = 1.0 - brightness = 1.0 - vibrancy = 0 - vibrancy_darkness = 0 - xray = false - noise = 0.05 - popups = true - input_methods = true - } - -} - -layerrule = blur_popups on, match:namespace ZShell-Bar -layerrule = ignore_alpha 0.5, match:namespace ZShell-Bar -layerrule = blur on, match:namespace ZShell-Bar - -layerrule = blur_popups on, match:namespace ZShell-Auth -layerrule = ignore_alpha 0.5, match:namespace ZShell-Auth -layerrule = blur on, match:namespace ZShell-Auth - -animations { - enabled = 1 - bezier = overshot,0.13,0.99,0.29,1.1 - animation = windows,1,4,overshot,slide - animation = border,1,4,default - animation = fade,1,4,default - animation = workspaces,1,4,overshot,slidevert -} - -dwindle { - pseudotile = true - preserve_split = true -} - -ecosystem { - no_donation_nag = true - no_update_news = true -} - -misc { - disable_hyprland_logo = true -} - -debug { - full_cm_proto = true -} diff --git a/modules/settings.lua b/modules/settings.lua new file mode 100644 index 0000000..8933362 --- /dev/null +++ b/modules/settings.lua @@ -0,0 +1,116 @@ +local C = require("modules.macchiato") + +hl.layer_rule({ + name = "blur_popups_bar", + blur = true, + match = { namespace = "ZShell-Bar" }, + ignore_alpha = 0.5, +}) + +hl.layer_rule({ + name = "blur_popups_auth", + blur = true, + match = { namespace = "ZShell-Auth" }, + ignore_alpha = 0.5, +}) + +hl.config({ + input = { + kb_layout = "us", + kb_variant = "intl", + kb_options = "fkeys:basic_13-24", + sensitivity = 0, + accel_profile = "flat", + follow_mouse = 1, + }, + general = { + gaps_in = 2, + gaps_out = 2, + border_size = 2, + col = { + active_border = { + colors = { C.colors.mauveAlpha, C.colors.greenAlpha, C.colors.sapphireAlpha, C.colors.lavenderAlpha }, + angle = 90, + }, + inactive_border = { + colors = { C.colors.surface1Alpha }, + angle = 90, + }, + }, + }, + decoration = { + rounding = 1, + shadow = { + enabled = false, + range = 6, + render_power = 6, + color = C.colors.baseAlpha, + color_inactive = C.colors.mantleAlpha, + }, + blur = { + enabled = false, + size = 2, + passes = 2, + new_optimizations = true, + ignore_opacity = true, + contrast = 1.0, + brightness = 1.0, + vibrancy = 0, + vibrancy_darkness = 0, + xray = false, + noise = 0.05, + popups = true, + input_methods = true, + }, + }, + ecosystem = { + no_donation_nag = true, + no_update_news = true, + }, + misc = { + disable_hyprland_logo = true, + }, + debug = { + full_cm_proto = true, + }, + dwindle = { + preserve_split = true, + }, +}) + +local animations = { + { leaf = "border", enabled = true, speed = 4, bezier = "linear" }, + { leaf = "borderangle", enabled = true, speed = 3, bezier = "linear", style = "loop" }, + { leaf = "fadeOut", enabled = true, speed = 3, bezier = "default" }, + { leaf = "fadeIn", enabled = true, speed = 4, bezier = "default" }, + { leaf = "fadeLayers", enabled = true, speed = 1, bezier = "default" }, + { leaf = "fadePopups", enabled = true, speed = 1, bezier = "default" }, + { leaf = "global", enabled = true, speed = 6, bezier = "default" }, + { leaf = "layers", enabled = true, speed = 5, bezier = "cubic-bezier", style = "fade" }, + { leaf = "windows", enabled = true, speed = 3, bezier = "wind", style = "popin" }, + { leaf = "windowsIn", enabled = true, speed = 3, bezier = "winIn", style = "popin 90%" }, + { leaf = "windowsOut", enabled = true, speed = 3, bezier = "winOut", style = "popin 90%" }, + { leaf = "windowsMove", enabled = true, speed = 1, bezier = "wind", style = "slide" }, + { leaf = "workspaces", enabled = true, speed = 4, bezier = "default" }, +} + +local curves = { + { name = "wind", config = { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1 } } } }, + { name = "winIn", config = { type = "bezier", points = { { 0.1, 1.0 }, { 0.1, 1 } } } }, + { name = "winOut", config = { type = "bezier", points = { { 1, 0.35 }, { 1, 1 } } } }, + { name = "linear", config = { type = "bezier", points = { { 1, 1 }, { 1, 1 } } } }, + { name = "cubic-bezier", config = { type = "bezier", points = { { 0.215, 0.61 }, { 0.355, 1 } } } }, + { name = "easeOutQuint", config = { type = "bezier", points = { { 0.23, 1 }, { 0.32, 1 } } } }, + { name = "easeInOutCubic", config = { type = "bezier", points = { { 0.65, 0.05 }, { 0.36, 1 } } } }, + { name = "almostLinear", config = { type = "bezier", points = { { 0.5, 0.5 }, { 0.75, 1 } } } }, + { name = "quick", config = { type = "bezier", points = { { 0.15, 0 }, { 0.1, 1 } } } }, + { name = "easy", config = { type = "spring", mass = 1, stiffness = 71.2633, dampening = 15.8273644 } }, +} + +for _, curve in ipairs(curves) do + hl.curve(curve.name, curve.config) +end + +for _, animation in ipairs(animations) do + hl.animation(animation) +end diff --git a/modules/windowrules.conf b/modules/windowrules.conf deleted file mode 100644 index 8aa1ec0..0000000 --- a/modules/windowrules.conf +++ /dev/null @@ -1,44 +0,0 @@ -windowrule { - name = windowrule-1 - opacity = 0.0 override - no_anim = on - no_initial_focus = on - max_size = 1 1 - no_blur = on - no_focus = on - match:class = ^(xwaylandvideobridge)$ -} - - -windowrule { - name = windowrule-2 - idle_inhibit = fullscreen - match:class = .* -} - -windowrule { - name = windowrule-3 - idle_inhibit = always - match:content = video -} - -windowrule { - name = windowrule-4 - idle_inhibit = always - match:content = game -} - -windowrule { - name = windowrule-5 - idle_inhibit = always - match:fullscreen_state_internal = client - match:fullscreen_state_client = 2 -} - -windowrule { - name = windowrule-6 - idle_inhibit = always - match:fullscreen_state_internal = internal - match:fullscreen_state_client = 2 -} - diff --git a/modules/windowrules.lua b/modules/windowrules.lua new file mode 100644 index 0000000..e353559 --- /dev/null +++ b/modules/windowrules.lua @@ -0,0 +1,34 @@ +hl.window_rule({ + name = "xwayland", + opacity = "0.0 override", + no_anim = true, + no_initial_focus = true, + max_size = { 1, 1 }, + no_blur = true, + no_focus = true, + match = { class = "^(xwaylandvideobridge)$" }, +}) + +hl.window_rule({ + name = "fullscreen_idling", + idle_inhibit = "fullscreen", + match = { class = ".*" }, +}) + +hl.window_rule({ + name = "video_idling", + idle_inhibit = "always", + match = { content = "video" }, +}) + +hl.window_rule({ + name = "game_idling", + idle_inhibit = "always", + match = { content = "game" }, +}) + +hl.window_rule({ + name = "match_fullscreen", + idle_inhibit = "always", + match = { fullscreen_state_internal = 2, fullscreen_state_client = 2 }, +})