theme: calm YoRHa lock screen and power menu; nvim and btop follow
The lock screen and the power menu lose the last Persona motion: no split display type, no grid sweeping in behind a dark column, no tilted slabs, no skewed password blocks or hard shake. Both are now one small group of type in the dark — the porthole mark, a line of light display type, a status line, and either a rounded password field that fills with dots or a NieR menu whose selected row is a pill of light (rust for the session-ending three). The lock keeps the wallpaper almost whole; a wrong password nudges the field once and turns it to rust. P5Backdrop and the grid texture had no users left and go. Neovim moves to a local yorha colorscheme (nvim submodule) and btop gets a yorha theme with hairline boxes and grey-to-light gradients. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a8c19961e2
commit
63a910bf14
11 files changed
+581
-565
No files matched your search
@@ -1,91 +0,0 @@
|
||||
import QtQuick
|
||||
import "root:/config"
|
||||
import "root:/components"
|
||||
|
||||
// The shared ground for the two full-screen surfaces, in the NieR menu
|
||||
// pattern: a hairline grid that sweeps in from the left, a darker column down
|
||||
// the left-hand side for the menu or the clock to stand in, and a dot wash
|
||||
// over the top.
|
||||
//
|
||||
// The lock screen and the power menu both stand on this one component, which
|
||||
// is what makes them read as the same object seen twice rather than as two
|
||||
// guesses at the same brief.
|
||||
Item {
|
||||
id: root
|
||||
|
||||
// 0 = withdrawn, 1 = fully present. Drives the grid slide, the grid
|
||||
// opacity and the column together, so a caller animates one number instead
|
||||
// of keeping three in sync. The power menu runs it both ways on open and
|
||||
// close; the lock runs it once on entry.
|
||||
property real reveal: 1
|
||||
|
||||
property color tone: Theme.accent
|
||||
|
||||
// The column: a band of the void, edged by a hairline of the light.
|
||||
// `wedge*` names are kept from the Persona layout so callers did not have
|
||||
// to move; there is nothing wedge-shaped left.
|
||||
property bool wedge: true
|
||||
property real wedgeOpacity: 0.35
|
||||
property real wedgeLeft: 0
|
||||
property real wedgeSpan: 0.34
|
||||
|
||||
property bool stripes: true
|
||||
property real stripeOpacity: 0.05
|
||||
|
||||
property bool halftone: true
|
||||
property real halftoneOpacity: 0.05
|
||||
property color halftoneColor: Theme.primary
|
||||
|
||||
// Hairline grid, sliding in from off-screen left.
|
||||
Image {
|
||||
anchors.fill: parent
|
||||
visible: root.stripes && root.reveal > 0
|
||||
source: Theme.texGrid
|
||||
fillMode: Image.Tile
|
||||
opacity: root.stripeOpacity * root.reveal
|
||||
smooth: false
|
||||
|
||||
layer.enabled: true
|
||||
layer.effect: TintEffect {
|
||||
tintColor: root.tone
|
||||
}
|
||||
|
||||
transform: Translate {
|
||||
x: -root.width * (1 - root.reveal)
|
||||
}
|
||||
}
|
||||
|
||||
// The column. Drawn after the grid so it reads as a panel laid over it.
|
||||
Item {
|
||||
x: root.wedgeLeft * root.width
|
||||
width: root.wedgeSpan * root.width
|
||||
height: root.height
|
||||
visible: root.wedge && root.reveal > 0
|
||||
opacity: root.reveal
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: Theme.alpha(Theme.ink, root.wedgeOpacity)
|
||||
}
|
||||
|
||||
// Its edge, drawn top-down as the column arrives.
|
||||
Rectangle {
|
||||
anchors.right: parent.right
|
||||
width: 1
|
||||
height: parent.height * root.reveal
|
||||
color: Theme.alpha(root.tone, 0.35)
|
||||
}
|
||||
}
|
||||
|
||||
// Dot wash over the whole thing.
|
||||
Image {
|
||||
anchors.fill: parent
|
||||
visible: root.halftone
|
||||
source: Theme.texDots
|
||||
fillMode: Image.Tile
|
||||
opacity: root.halftoneOpacity
|
||||
smooth: false
|
||||
layer.enabled: true
|
||||
layer.effect: TintEffect { tintColor: root.halftoneColor }
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user