Skip to content

lockscreens: Fūin — Jurai's Threshold as an SDDM greeter theme - #140

Closed
SourceAura wants to merge 1 commit into
Ryoku-dev:mainfrom
SourceAura:jurai-fuin
Closed

SourceAura wants to merge 1 commit into
Ryoku-dev:mainfrom
SourceAura:jurai-fuin

Conversation

@SourceAura

Copy link
Copy Markdown

Fūin 封印 — a lockscreen (SDDM greeter theme) for the Jurai suite.

Jurai's Threshold — the lock face of the Jurai shell — seated on SDDM. Threshold was written against a small contract (the gate): the face never learns who checks the password. In the shell it already serves the session lock on PAM and the greetd greeter; this theme is its third host. content/Main.qml implements the gate against SDDM (sddm.login, userModel, sessionModel), and the face's own files stand as they are in the shell.

The face

  • The wallpaper, blurred past reading behind a drawn veil — nothing behind it can be read
  • The time in the bell's expressive face, with the dial (hour fill, minute orbit), and the date
  • The portrait badge and the login name; a password field that grows from its middle, rimmed in slow prism light; a failure answers with a sentence under the field, in the alert colour
  • The welcome: on a correct password the portrait and name stay, "Welcome to" and the Jurai logotype open out, hold, and fade to black before the session
  • User and session choices at the foot of the screen, in the face's own typography — shown only when a real choice exists

Shape

  • Drawn QML only — no video, no bundled photograph (the resting state is the sealed dark door; theme.conf's background seats any picture of the user's own). Light on the proving floor (a 2-core EliteBook): no media decoders, no image sequences
  • Bundles the faces it speaks in — Spectral + Orbitron (SIL OFL, content/fonts/OFL.txt)
  • Ships a qmldir: SDDM's greeter resolves sibling types from the folder but registers pragma Singleton files only when the folder stands as a module (noted in PROVENANCE — a face that loads and paints nothing is the symptom)
  • One documented repair against upstream: Metrics.cellHeight, which Threshold's badge has always sized itself by and the shell never defined

Proof (on Ryoku, against this exact tree)

  • sddm-greeter-qt6 --test-mode: resting face renders, password field focused, dial live
  • Failure and welcome states framed and included in the source repo (SourceAura/fuin, docs/)
  • tests/validate-catalogue.sh green; manifest verified by hash (lockscreens carry hand-built manifests)
  • Full cycle on the local catalogue: install → greeter proof → remove → reinstall

Source: https://github.com/SourceAura/fuin (the shell: https://github.com/SourceAura/jurai-shell). Sibling submissions: #133 (Yatagarasu notifications), #134 (Yatagarasu Roost), #135 (Jurai Fastfetch).

One item per PR, per CONTRIBUTING.

@SourceAura

Copy link
Copy Markdown
Author

Superseded by #141. Threshold was the port I filed first, but the lock screen I actually built — the one that wears my name — is the Kitsune. Closing this in its favor; the Fūin work stays in its repo (SourceAura/fuin) for the record. — 0xSrcAura

@SourceAura SourceAura closed this Oct 25, 2026
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.

1 participant