summaryrefslogtreecommitdiff
path: root/arch/hyprland/.config/hypr/windowrules.conf
blob: 3408cbf549ea330a504508a1d4fe5cd0cc3a7c90 (plain)
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
# ── Spotify ──────────────────────────────────────────────────────
windowrule {
    name          = spotify-transparency
    match:class   = Spotify
    opacity       = 0.90 override
}

windowrule {
    name = spotify-special
    match:class = Spotify
    workspace = special:spotify silent
}

# ── Floating terminal ─────────────────────────
windowrule {
    name  = float-term
    match:class = float-term
    float        = true
    center       = true
    stay_focused = true
    size         = 900 600
}

# ── Wallpaper picker ─────────────────────────────────────────────────────────
windowrule {
    name  = wallpaper-picker
    match:class = wallpaper-picker
    float  = true
    center = true
    size   = 1200 700
}

# ── bemenu launcher window ────────────────────────────────────────────────────
windowrule {
    name  = launcher
    match:class = launcher
    float  = true
    center = true
    size   = 800 500
}

# ── Suppress maximize requests ────────────────────────────────────────────────
windowrule {
    name       = suppress-maximize
    match:class = .*
    suppress_event = maximize
}

# ── Fix XWayland drag artifacts ───────────────────────────────────────────────
windowrule {
    name            = fix-xwayland-drags
    match:class     = ^$
    match:title     = ^$
    match:xwayland  = true
    match:float     = true
    match:fullscreen = false
    match:pin       = false
    no_focus        = true
}

# ── Inhibit idle when fullscreen ─────────────────────────────────────────────
windowrule {
    name           = no-idle-fullscreen
    match:fullscreen = true
    idle_inhibit   = fullscreen
}

# ── Smart gaps ───────────────────────────────────────────────────────────────
workspace = w[tv1]s[false], gapsout:0, gapsin:0
workspace = f[1]s[false], gapsout:0, gapsin:0

windowrule {
    name = no-gaps-single
    match:float = false
    match:workspace = w[tv1]s[false]
    border_size = 0
    rounding = 0
    no_shadow = false
}

windowrule {
    name = no-gaps-fullscreen
    match:float = false
    match:workspace = f[1]s[false]
    border_size = 0
    rounding = 0
    no_shadow = false
}