Skip to content

store: land the October 25 submissions - #149

Merged
neur0map merged 26 commits into
mainfrom
store/sweep-1025
Oct 25, 2026
Merged

neur0map merged 26 commits into
mainfrom
store/sweep-1025

Conversation

@neur0map

Copy link
Copy Markdown
Member

Lands #136, #137, #138, #139, #142, #144, #146, #147 and #148 with review fixes on top, plus a Microsoft fonts bundle requested in Ryoku-dev/ryoku#542. #147 replaces #133 and #134.

Satirito and others added 26 commits October 25, 2026 12:26
The installer finished by running `ryoku materialize`, which reloads the
compositor. On hybrid NVIDIA multi-monitor setups that re-initialises DRM/KMS,
blanks the monitors and can change the resolution just because someone
installed a Zed theme.

The initial `theme.ts --sync` already writes ryoku-dynamic.json, and the
Matugen post_hook registered right before it applies the theme on the next
palette change, so materialize was never needed. Drop it.

The settings editor was a line regex that only understood
`"theme": "..."`. Zed's current settings use
`"theme": { "mode": ..., "light": ..., "dark": ... }`, so the installer
aborted instead of selecting the theme. Replace the regex with a small
JSONC-aware editor: it masks comments and string bodies (UTF-16 safe, so
emojis do not shift offsets), reads the top-level theme value, and writes
either form while preserving comments, indentation and trailing commas.
Unparseable input is reported and left untouched rather than failing the
install.

Also create the sync command before install-sync.ts registers the hook, so
the hook can never point at a missing executable, and add a regression test
covering every shape, wired into the catalogue workflow.

Bump the bundle to 1.2.0.
The rail window was anchored to all four edges, so every frame of its
fade recomposited the whole output and it held a full-output swapchain
while compact. Anchor it left/top/bottom and size it to the rail.

The compact top bar toggled its PanelWindow's visible, which destroys
and rebuilds the surface on every switch. Keep it mapped and gate the
pills, the input mask and the exclusive zone on compact instead.

Refs itsKontra/ryoku-fedora#219
…i18n catalogue

The Nothing Interface lockscreen had three issues that needed fixing:

1. Password field did not receive focus on lockscreen open
   - Add a 300ms Timer that calls password.forceActiveFocus() after the
     greeter has settled (mirrors the clockwork/orbital pattern)
   - This ensures the field is ready to type immediately on Super+L

2. Media player always showed the first registered player (often stopped)
   - Rewrite bin/media.py to iterate all MPRIS players and select the one
     with status "Playing" (fallback to "Paused", then first player)
   - Query status and metadata from the same player instance

3. All labels were hardcoded in Russian instead of respecting the system language
   - Replace every visible string with I18n.tr("<English key>") calls
   - Use the theme-local I18n singleton (same reader as clockwork/orbital)
     that reads /usr/share/ryoku/i18n/langs.json via Qt.locale()
   - Add English source keys with fallback to English on missing translation
   - Change duration format from Cyrillic units to locale-neutral H:MM

Version bumped to 0.1.2 (manifest, registry, metadata.desktop).
The whole kit in one PR, superseding the separate design
(#133) and Roost (#134) submissions: the crow is not a
companion to the design — the bird is Yatagarasu and the
scrolls are her voice, so the kit lands whole or not at all.

notifications/yatagarasu v1.3.0 (dispatch-scroll card),
plugins/yatagarasu-roost v1.0.0 (the crow; her eye wears
the freshest word), bundles/yatagarasu v1.0.0 (the front
door — the format has no design item type, so the bundle
carries the Roost as a deferred plugin item and presents
the pair as one kit). Registry diffs are insertions only;
validate-catalogue green.
The plugin now talks only to a Docker socket the user can already reach.
Core fonts and the ClearType set on Arch and CachyOS; Fedora and Void say why they are unavailable.
# Conflicts:
#	lockscreens/registry.json
# Conflicts:
#	plugins/registry.json
# Conflicts:
#	bundles/registry.json
@neur0map
neur0map merged commit aebe014 into main Oct 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants