| Age | Commit message (Collapse) | Author | Files | Lines |
|
A settings page under Appearance > Fonts holds one pixel size for the
whole desktop and an override wherever a system needs its own, saved as
~/.config/keystone/fonts.json, all in px. At scale 1 the logical DPI is
96, so a point is 4/3 px, and each system is written in its own unit:
Theme.fontSize reads the json itself, so every shell follows live;
qt5ct/qt6ct and the GTK settings files are edited in place, size only,
plus gsettings; kitty, rofi and hyprlock read generated files under
~/.config/keystone that their configs include over designed fallbacks;
the groupbar is a keystone.lua line.
rofi and hyprlock are sections of designed sizes that scale together
from their body text, the smallest entry, each keeping its ratio unless
given its own size. The design is read from the fallbacks themselves,
var(kf-..., "Family N") in the rofi files and $kf_... = N in
hyprlock.conf, so a new entry appears on the page with no list to keep.
With no fonts.json the page starts from what the files say, base 16 and
an override per system at its current size, so the first save changes
nothing; seeded to 0.01px, since 0.1 scaled rofi's 72pt glyph to 72.2.
Each stepper shows px then pt in fixed columns, the system's own unit
highlighted.
Check: node desktop/modules/fonts/test_fonts.js
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
For the keybind reminder's macropad keycaps. blue reads termblue, not
blue: udt-palette's blue is the active-border role, magenta under
candy-night, and termblue is the terminal's actual blue. The defaults
are Macchiato's, as for the rest.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
unified-desktop-theme moved its generated files out of ~/.cache/wal, which
pywal used to own and nothing writes any more. The palette udt-accent
generates is now at ~/.cache/udt/udt-palette.qml.
shared/Theme.qml is the only code change; every component reaches it through
a symlink. The module READMEs cite the path, so they move with it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
Glyphs are Nerd Font private-use codepoints, and relying on per-codepoint fontconfig fallback from Noto Sans let the same codepoint resolve to a different glyph in a different Nerd Font.
A Theme.iconFamily now names the render family once, and every glyph Text uses it, while fontFamily stays Noto Sans for words and labels. The ethernet glyph moves from \uf6ff to \uef44, the fa-ethernet codepoint present in Inconsolata.
|
|
The four copies had already drifted, which is the argument for doing this
now rather than when a palette change has to be made four times and lands
in three of them. vm-manager was missing surfaceAlt; volume-osd was missing
green, yellow and surfaceAlt. The shared file is the superset, so the two
thin ones gain properties they never had and nothing loses one.
A symlink rather than a shared import path: a singleton outside the config
directory needs a qmldir beside it, the same friction that already keeps
the generated palette parsed rather than imported. Quickshell follows the
link and resolves the singleton with no qmldir, so no consumer changes and
no component stops running standalone under qs -p.
All four load clean with Configuration Loaded and no QML resolution error.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TvHeJEXJzdfAaCCYqURAWp
|