summaryrefslogtreecommitdiff
path: root/window-rules.lua
blob: 407fdfd34938e2f2110803d1be7bccc4e6226502 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
-- 窗口规则配置(对应 window-rules.conf)
-- 注意:原 hyprland.conf 中 source = ./window-rules.conf 已被注释,
--       如需启用请在 hyprland.lua 中取消 require("window-rules") 的注释
-- 参考 https://wiki.hypr.land/Configuring/Basics/Window-Rules/

-- 浮动窗口特殊边框设置
hl.window_rule({
    name        = "floating-bordersize",
    match       = { float = true },
    border_size = 3,
})
hl.window_rule({
    name     = "floating-rounding",
    match    = { float = true },
    rounding = 8,
})

-- 为所有浮动窗口设置统一的边框颜色
-- hl.window_rule({
--     name         = "floating-border-color",
--     match        = { float = true },
--     border_color = "rgba(FF6B9CFF)",
-- })
-- hl.window_rule({
--     name         = "tiled-border-color",
--     match        = { float = false },
--     border_color = "rgba(FF6B9C64)",
-- })

-- "智能间隙" / "仅有一个窗口时无间隙"
-- hl.workspace_rule({ workspace = "w[tv1]", gaps_out = 0, gaps_in = 0 })
-- hl.workspace_rule({ workspace = "f[1]",   gaps_out = 0, gaps_in = 0 })
-- hl.window_rule({
--     name        = "no-gaps-wtv1",
--     match       = { float = false, workspace = "w[tv1]" },
--     border_size = 0,
--     rounding    = 0,
-- })
-- hl.window_rule({
--     name        = "no-gaps-f1",
--     match       = { float = false, workspace = "f[1]" },
--     border_size = 0,
--     rounding    = 0,
-- })

-- Flameshot 截图工具浮动窗口
-- hl.window_rule({ name = "flameshot-float",    match = { class = "^(flameshot)$" }, float = true })
-- hl.window_rule({ name = "flameshot-pin",      match = { class = "^(flameshot)$" }, pin = true })
-- hl.window_rule({ name = "flameshot-noborder", match = { class = "^(flameshot)$" }, decorate = false }) -- 旧版 noborder 在 0.56 中由 decorate = false 取代
-- hl.window_rule({ name = "flameshot-nofocus",  match = { class = "^(flameshot)$" }, no_focus = true })
-- hl.window_rule({ name = "flameshot-center",   match = { class = "^(flameshot)$" }, center = true })

-- Rofi 菜单透明度
-- hl.window_rule({
--     name    = "rofi-opacity",
--     match   = { title = "^(rofi)$" },
--     opacity = "0.6",
-- })

-- Wofi 菜单透明度
hl.window_rule({
    name    = "wofi-opacity",
    match   = { class = "^(wofi)$" },
    opacity = "0.9 0.8",
})
hl.window_rule({
    name       = "wofi-dimaround",
    match      = { class = "^(wofi)$" },
    dim_around = true,
})
hl.window_rule({
    name      = "wofi-animation",
    match     = { class = "^(wofi)$" },
    animation = "popin",
})
hl.window_rule({
    name     = "wofi-rounding",
    match    = { class = "^(wofi)$" },
    rounding = 10,
})

-- 忽略应用程序的最大化请求
hl.window_rule({
    name           = "suppress-maximize",
    match          = { class = ".*" },
    suppress_event = "maximize",
})

-- 修复 XWayland 的一些拖动问题
hl.window_rule({
    name       = "fix-xwayland-drags",
    match      = {
        class      = "^$",
        title      = "^$",
        xwayland   = true,
        float      = true,
        fullscreen = false,
        pin        = false,
    },
    no_focus   = true,
})

-- 示例窗口规则
-- hl.window_rule({
--     name  = "kitty-float",
--     match = { class = "^(kitty)$", title = "^(kitty)$" },
--     float = true,
-- })