Make application transparency opt-in (#14253)
* Make application transparency opt-in * Use the transparency helper for Kanagawa * Address transparency review findings * Toggle transparency for opaque windows too
This commit is contained in:
1 parent
6520ac7d25
commit
54e3b53b88
19 files changed
+55
-62
No files matched your search
@@ -1,12 +1,10 @@
|
||||
-- Browser tags and styling.
|
||||
o.window("((google-)?[cC]hrom(e|ium)|[bB]rave-browser|[mM]icrosoft-edge|Vivaldi-stable|helium)", { tag = "+chromium-based-browser" })
|
||||
o.window("([fF]irefox|zen|librewolf)", { tag = "+firefox-based-browser" })
|
||||
o.window({ tag = "chromium-based-browser" }, { tag = "-default-opacity", tile = true, opacity = "1.0 0.985" })
|
||||
o.window({ tag = "firefox-based-browser" }, { tag = "-default-opacity", opacity = "1.0 0.985" })
|
||||
o.window({ tag = "chromium-based-browser" }, { tile = true })
|
||||
|
||||
-- Video apps: remove chromium browser tag so they don't get opacity applied.
|
||||
-- Video apps: remove the chromium browser tag so they can float.
|
||||
o.window("(^.+-youtube\\.com__.*$|^.+-app\\.zoom\\.us__wc_home.*$)", { tag = "-chromium-based-browser" })
|
||||
o.window("(^.+-youtube\\.com__.*$|^.+-app\\.zoom\\.us__wc_home.*$)", { tag = "-default-opacity" })
|
||||
|
||||
-- Hide screen sharing notification windows.
|
||||
o.window({ title = ".*is sharing.*" }, { workspace = "special silent" })
|
||||
@@ -1,12 +1,9 @@
|
||||
-- DaVinci Resolve window focus handling. Kept fully opaque: the default
|
||||
-- translucency distorts colour-critical grading work.
|
||||
-- DaVinci Resolve window focus handling.
|
||||
o.window(".*[Rr]esolve.*", {
|
||||
float = true,
|
||||
stay_focused = true,
|
||||
-- Prevent modal dialog pointer warps when focus follows the mouse.
|
||||
no_follow_mouse = true,
|
||||
tag = "-default-opacity",
|
||||
opacity = "1 1",
|
||||
})
|
||||
|
||||
o.window({ class = ".*[Rr]esolve.*", title = "^DaVinci Resolve( Studio)? - .+$" }, { fullscreen = true })
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
-- Hermes Desktop's frameless HUD manages its own geometry.
|
||||
o.window({ class = "^Hermes$", title = "^Hermes HUD$" }, {
|
||||
tag = "-default-opacity",
|
||||
float = true,
|
||||
border_size = 0,
|
||||
opacity = "1 1",
|
||||
})
|
||||
@@ -1,3 +1,5 @@
|
||||
-- Float LocalSend and fzf file picker.
|
||||
o.window("(Share|localsend)", { float = true, center = true })
|
||||
o.window("localsend", { size = { 1100, 700 } })
|
||||
local localsend = "(org\\.localsend\\.)?localsend(_app)?"
|
||||
o.window("Share", { float = true, center = true })
|
||||
o.window(localsend, { float = true, center = true, size = { 1100, 700 } })
|
||||
o.transparent_window(localsend)
|
||||
@@ -1,24 +1,20 @@
|
||||
-- Picture-in-picture overlays.
|
||||
o.window({ title = "(Picture.?in.?[Pp]icture)" }, { tag = "+pip" })
|
||||
o.window({ tag = "pip" }, {
|
||||
tag = "-default-opacity",
|
||||
float = true,
|
||||
pin = true,
|
||||
size = { 600, 338 },
|
||||
keep_aspect_ratio = true,
|
||||
border_size = 0,
|
||||
opacity = "1 1",
|
||||
move = { "(monitor_w-window_w-40)", "(monitor_h*0.04)" },
|
||||
})
|
||||
|
||||
-- Google Meet PiP uses the meeting title instead of "Picture-in-Picture".
|
||||
o.window({ tag = "chromium-based-browser", title = "^Meet - .+" }, {
|
||||
tag = "-default-opacity",
|
||||
float = true,
|
||||
pin = true,
|
||||
size = { 600, 338 },
|
||||
keep_aspect_ratio = true,
|
||||
border_size = 0,
|
||||
opacity = "1 1",
|
||||
move = { "(monitor_w-window_w-40)", "(monitor_h-window_h-40)" },
|
||||
})
|
||||
@@ -1 +0,0 @@
|
||||
o.window("qemu", { tag = "-default-opacity", opacity = "1 1" })
|
||||
@@ -1,6 +1,4 @@
|
||||
o.window("com.libretro.RetroArch", {
|
||||
fullscreen = true,
|
||||
tag = "-default-opacity",
|
||||
opacity = "1 1",
|
||||
idle_inhibit = "fullscreen",
|
||||
})
|
||||
@@ -1,4 +1,3 @@
|
||||
o.window("steam", { float = true, idle_inhibit = "fullscreen" })
|
||||
o.window({ class = "steam", title = "Steam" }, { center = true, size = { 1100, 700 } })
|
||||
o.window("steam.*", { tag = "-default-opacity", opacity = "1 1" })
|
||||
o.window({ class = "steam", title = "Friends List" }, { size = { 460, 800 } })
|
||||
@@ -37,20 +37,6 @@ o.window("org.omarchy.screensaver", { animation = "slide" })
|
||||
-- where its fullscreen rule cannot take fullscreen from a window.
|
||||
o.window("org.omarchy.screensaver", { workspace = "special:screensaver silent" })
|
||||
|
||||
-- No transparency on media windows.
|
||||
o.window(
|
||||
"^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$",
|
||||
{
|
||||
tag = "-default-opacity",
|
||||
}
|
||||
)
|
||||
o.window(
|
||||
"^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$",
|
||||
{
|
||||
opacity = "1 1",
|
||||
}
|
||||
)
|
||||
|
||||
-- Popped window rounding.
|
||||
o.window({ tag = "pop" }, { rounding = 8 })
|
||||
|
||||
|
||||
@@ -16,10 +16,8 @@ o.window("^WebcamOverlay-large$", {
|
||||
-- The dedicated app id keeps this out of mpv's generic centered floating rules,
|
||||
-- so the camera appears at its final corner position.
|
||||
o.window({ class = "^WebcamOverlay-(small|medium|large)$", title = "^WebcamOverlay$" }, {
|
||||
tag = "-default-opacity",
|
||||
float = true,
|
||||
pin = true,
|
||||
no_initial_focus = true,
|
||||
no_dim = true,
|
||||
opacity = "1 1",
|
||||
})
|
||||
@@ -1,5 +0,0 @@
|
||||
-- Keep the Windows VM display opaque instead of applying the default window opacity.
|
||||
o.window({ class = "^xfreerdp$", title = "^Windows VM - Omarchy$" }, {
|
||||
tag = "-default-opacity",
|
||||
opacity = "1 1",
|
||||
})
|
||||
Reference in new issue
Block a user