Switching to a tray menu whose items were not currently loaded collapsed fullHeight at the instant of the switch, so the chrome morphed DOWN to a stub and replayed the vertical grow when the items landed, rather than moving across from the previous panel. An empty Card is not height 0 but 2*cardPad, so loaded-ness has to come from the model: menuLoaded tracks menuOpener.children. While a newly assigned menu is loading, fullHeight holds the last loaded height, so the morph stays continuous and the correction on arrival is small — nil when it is the same menu as last time. ui.nix radius knob at 20. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
16 lines
679 B
Nix
16 lines
679 B
Nix
# settings/ui.nix — shared UI metrics.
|
|
#
|
|
# Single source of truth for corner rounding. Both the quickshell shell
|
|
# (settings/quickshell.nix -> Theme.qml) and hyprland's window decoration
|
|
# (settings/hyprland.nix) read `radius` from here, and every other rounding
|
|
# value is derived from it, so this one number rescales the roundness of the
|
|
# whole desktop — panels, cards, pills, hover rows and window corners.
|
|
#
|
|
# Derived values live next to their consumers:
|
|
# Theme.radiusCard = radius - panelGap (concentric nesting, see Theme.qml)
|
|
# Theme.radiusSmall = radius * 0.75
|
|
# Theme.radiusTiny = radius * 0.5
|
|
# hyprland decoration.rounding = radius
|
|
{
|
|
radius = 20;
|
|
}
|