Merge quattro into clock-calendar
Both sides tightened the same center-layout assertion. Taking quattro's: it asserts the weather/update adjacency the test name is about instead of pinning the whole row, which is what kept breaking it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -38,6 +38,34 @@
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<!-- Urdu is conventionally set in Nastaliq, so keep it there. Without this
|
||||
the untargeted Naskh rule below would capture Urdu too. Appended rather
|
||||
than prepended so it only wins the last-resort race against that rule
|
||||
and never displaces the family the app actually asked for. -->
|
||||
<match target="pattern">
|
||||
<test name="lang" compare="contains">
|
||||
<string>ur</string>
|
||||
</test>
|
||||
<edit name="family" mode="append" binding="strong">
|
||||
<string>Noto Nastaliq Urdu</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<!-- Chromium and Electron resolve missing glyphs one character at a time
|
||||
without lang on the pattern, so the rules above never fire for them and
|
||||
fontconfig falls through to a raw charset scan that lands on Nastaliq
|
||||
(or on Kufi, once the latin alias chains have widened the pattern).
|
||||
Naming Naskh as a last-resort family covers that path. Appending keeps
|
||||
it behind every family the app actually asked for, and charset matching
|
||||
outranks family matching, so a font that does not cover the codepoint
|
||||
can never be pulled in: Latin, monospace, emoji, Nerd Font glyphs and
|
||||
CJK all resolve exactly as before. -->
|
||||
<match target="pattern">
|
||||
<edit name="family" mode="append" binding="strong">
|
||||
<string>Noto Naskh Arabic</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<alias>
|
||||
<family>system-ui</family>
|
||||
<prefer>
|
||||
|
||||
@@ -1,2 +1,8 @@
|
||||
-- DaVinci Resolve dialog focus handling.
|
||||
o.window(".*[Rr]esolve.*", { float = true, stay_focused = true })
|
||||
-- DaVinci Resolve window focus handling. Kept fully opaque: the default
|
||||
-- translucency distorts colour-critical grading work.
|
||||
o.window(".*[Rr]esolve.*", {
|
||||
float = true,
|
||||
stay_focused = true,
|
||||
tag = "-default-opacity",
|
||||
opacity = "1 1",
|
||||
})
|
||||
|
||||
@@ -9,8 +9,12 @@ o.window(
|
||||
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 = "(xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus)",
|
||||
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" })
|
||||
o.window("dev.tensaku.Tensaku", { float = true })
|
||||
|
||||
+23
-3
@@ -21,14 +21,34 @@ local function read_vconsole()
|
||||
return values
|
||||
end
|
||||
|
||||
-- Layouts that can't type Latin letters. Keep in sync with the list in
|
||||
-- etc/mkinitcpio.conf.d/omarchy_hooks.conf.
|
||||
local non_latin_layouts =
|
||||
" af am ara bd bg by et ge gr il in iq ir kg kh kz la lk mk mm mn mv np rs ru sy th tj ua "
|
||||
|
||||
local vconsole = read_vconsole()
|
||||
|
||||
local kb_layout = vconsole.XKBLAYOUT or "us"
|
||||
local kb_variant = vconsole.XKBVARIANT or ""
|
||||
local kb_options = "compose:caps,shift:both_capslock"
|
||||
|
||||
-- Hyprland resolves keybindings against the first entry in kb_layout, not the
|
||||
-- layout that's currently active, so Omarchy's Latin-keysym bindings (SUPER + W
|
||||
-- and friends) only fire when a Latin layout leads. Installing with a non-Latin
|
||||
-- one would otherwise leave the desktop unusable.
|
||||
if non_latin_layouts:find(" " .. kb_layout:match("^[^,]*") .. " ", 1, true) then
|
||||
kb_layout = "us," .. kb_layout
|
||||
kb_variant = "," .. kb_variant
|
||||
-- Reach the original layout with Left Alt + Right Alt.
|
||||
kb_options = kb_options .. ",grp:alts_toggle"
|
||||
end
|
||||
|
||||
hl.config({
|
||||
input = {
|
||||
kb_layout = vconsole.XKBLAYOUT or "us",
|
||||
kb_variant = vconsole.XKBVARIANT or "",
|
||||
kb_layout = kb_layout,
|
||||
kb_variant = kb_variant,
|
||||
kb_model = "",
|
||||
kb_options = "compose:caps,shift:both_capslock",
|
||||
kb_options = kb_options,
|
||||
kb_rules = "",
|
||||
follow_mouse = 1,
|
||||
sensitivity = 0,
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
"setup.default.browser.brave": {"icon":"","label":"Brave","when":"omarchy-cmd-present brave","checked":"[[ \"$(omarchy-default-browser)\" == \"brave\" ]]","action":"omarchy-default-browser brave"},
|
||||
"setup.default.browser.brave-origin": {"icon":"","label":"Brave Origin","when":"omarchy-cmd-present brave-origin","checked":"[[ \"$(omarchy-default-browser)\" == \"brave-origin\" ]]","action":"omarchy-default-browser brave-origin"},
|
||||
"setup.default.browser.edge": {"icon":"","label":"Edge","when":"omarchy-cmd-present microsoft-edge-stable","checked":"[[ \"$(omarchy-default-browser)\" == \"edge\" ]]","action":"omarchy-default-browser edge"},
|
||||
"setup.default.browser.firefox": {"icon":"","label":"Firefox","when":"omarchy-cmd-present firefox","checked":"[[ \"$(omarchy-default-browser)\" == \"firefox\" ]]","action":"omarchy-default-browser firefox"},
|
||||
"setup.default.browser.firefox": {"icon":"","label":"Firefox","when":"omarchy-cmd-present firefox","checked":"[[ \"$(omarchy-default-browser)\" == \"firefox\" ]]","action":"omarchy-default-browser firefox"},
|
||||
"setup.default.browser.zen": {"icon":"","label":"Zen","when":"omarchy-cmd-present zen-browser","checked":"[[ \"$(omarchy-default-browser)\" == \"zen\" ]]","action":"omarchy-default-browser zen"},
|
||||
"setup.default.terminal": {"icon":"","label":"Terminal"},
|
||||
"setup.default.terminal.alacritty": {"icon":"","label":"Alacritty","when":"omarchy-cmd-present alacritty","checked":"[[ \"$(omarchy-default-terminal)\" == \"alacritty\" ]]","action":"omarchy-default-terminal alacritty"},
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=Notify about pending Omarchy migrations
|
||||
# Login-only. There used to be an omarchy-update-user-notify.path watching
|
||||
# /usr/share/omarchy/migrations, but pacman writes that directory during every
|
||||
# update -- including the blessed `omarchy update`, which runs omarchy-migrate
|
||||
# itself a step later -- so the watcher notified about migrations that were
|
||||
# already being applied in the visible update terminal. Checking once per login
|
||||
# is the only trigger that cannot collide with a running update.
|
||||
ConditionPathIsDirectory=/usr/share/omarchy/migrations
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/omarchy-migrate-notify
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Save incoming Taildrop files to the downloads directory
|
||||
ConditionPathExists=/usr/bin/tailscale
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/omarchy-tailscale-receive
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
@@ -1,14 +0,0 @@
|
||||
[Unit]
|
||||
Description=Watch for Omarchy migrations
|
||||
|
||||
[Path]
|
||||
# Edge-triggered watch only. PathExistsGlob= is level-triggered: it re-fires
|
||||
# every time the triggered unit deactivates for as long as the glob matches,
|
||||
# and applied migrations stay on disk forever, so a glob here busy-loops the
|
||||
# oneshot service. The once-per-login check lives in the service's own
|
||||
# WantedBy=graphical-session.target instead.
|
||||
PathModified=/usr/share/omarchy/migrations
|
||||
Unit=omarchy-update-user-notify.service
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
@@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=Notify about pending Omarchy migrations
|
||||
ConditionPathIsDirectory=/usr/share/omarchy/migrations
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/omarchy-migrate-notify
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
Reference in New Issue
Block a user