* Fit the About window to its rendered content The About fastfetch layout needs more columns than the shared 875x600 float provides, and the terminal's grid often only reaches its final size after fastfetch has printed, leaving the output wrapped over the logo or clipped at the initial 80-column grid (#6465). Give About a dedicated org.omarchy.about app id so launch-or-focus can actually match it, render through a loop that repaints on window size or branding changes, and measure the rendered content to fit the window around it with even padding, whatever the terminal font or About logo. Fixes #6465 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Spacing --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
57 lines
2.1 KiB
Lua
57 lines
2.1 KiB
Lua
-- Floating windows.
|
|
o.window({ tag = "floating-window" }, { float = true })
|
|
o.window({ tag = "floating-window" }, { center = true })
|
|
o.window({ tag = "floating-window" }, { size = { 875, 600 } })
|
|
|
|
o.window(
|
|
"(org.omarchy.btop|org.omarchy.terminal|org.omarchy.bash|org.codeberg.dnkl.foot|org.gnome.NautilusPreviewer|org.gnome.Evince|Omarchy|About|TUI.float|imv|mpv)",
|
|
{
|
|
tag = "+floating-window",
|
|
}
|
|
)
|
|
|
|
-- The portal only ever shows dialogs — file pickers, screen shares, permission
|
|
-- prompts — so every one of its windows belongs in the floating treatment,
|
|
-- whatever the app that asked for it titled it.
|
|
o.window("xdg-desktop-portal-gtk", { tag = "+floating-window" })
|
|
o.window({
|
|
class = "(sublime_text|DesktopEditors|org.gnome.Nautilus)",
|
|
title = "^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files|.*wants to [open|save].*|[C|c]hoose.*)",
|
|
}, { tag = "+floating-window" })
|
|
|
|
-- The About fastfetch layout needs more columns than the standard float provides.
|
|
-- This size only positions the first paint: omarchy-launch-about then measures
|
|
-- the rendered content and fits the window to it exactly.
|
|
o.window("org.omarchy.about", { float = true })
|
|
o.window("org.omarchy.about", { center = true })
|
|
o.window("org.omarchy.about", { size = { 920, 480 } })
|
|
|
|
o.window("dev.tensaku.Tensaku", { float = true })
|
|
o.window("dev.tensaku.Tensaku", { center = true })
|
|
o.window("omacalc", { float = true })
|
|
|
|
-- Fullscreen screensaver.
|
|
o.window("org.omarchy.screensaver", { fullscreen = true })
|
|
o.window("org.omarchy.screensaver", { float = true })
|
|
o.window("org.omarchy.screensaver", { animation = "slide" })
|
|
|
|
-- 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 })
|
|
|
|
-- Prevent idle while open.
|
|
o.window({ tag = "noidle" }, { idle_inhibit = "always" })
|