theme: soften the YoRHa shapes; SUPER+D opens the dashboard
The square markers, block meters and hard-cornered fills read as boxy next to the porthole. The desktop is now soft throughout: the porthole is the shape everything is built around and every smaller surface echoes it. - Theme gains radiusS / radiusM / radiusL. radiusL is frameRadius - padS, so anything inset padS inside one of the frame's curves is concentric with it. - P5Panel and Skew draw rounded rectangles (Geom.roundedRect) whenever they neither lean nor are chopped, which is always now; the polygon path is kept for shapes brought back on purpose. - Markers are dots; workspace pips, toggles, transport and media chips, notification actions and today's date are pills or discs; the slider handle is round. Meters are one continuous rounded line that glides to its level instead of a row of segments. - Album art is rounded with ClippingRectangle in the bar, the media popout and the dashboard. - Free-standing panels (launcher, ask) drop the corner brackets and take the frame radius. - Fix: a hovered notification's wash was a full-bleed square, so in the drawer's bottom corner it ran past the drawer's curve. It is inset by padS/2 and rounded by radiusL, which keeps it inside the curve. Hyprland: the discord special workspace and its window rule are gone, SUPER+S stays the only scratchpad, and SUPER+D now opens the dashboard (it was on SUPER+I). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d6de04eaaf
commit
a8c19961e2
24 files changed
+188
-110
No files matched your search
@@ -130,7 +130,8 @@ Popout {
|
||||
Skew {
|
||||
anchors.centerIn: parent
|
||||
width: 26
|
||||
height: 24
|
||||
height: 26
|
||||
radius: 13
|
||||
visible: cell.modelData.today
|
||||
color: Theme.accent
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import QtQuick
|
||||
import QtQuick.Shapes
|
||||
import Quickshell
|
||||
import Quickshell.Widgets
|
||||
import "root:/config"
|
||||
import "root:/components"
|
||||
import "root:/services"
|
||||
@@ -32,14 +33,15 @@ Popout {
|
||||
subtitle: Media.identity
|
||||
}
|
||||
|
||||
// Cover art in a hairline frame.
|
||||
Rectangle {
|
||||
// Cover art, rounded, in a hairline frame.
|
||||
ClippingRectangle {
|
||||
id: artFrame
|
||||
anchors.top: header.bottom
|
||||
anchors.topMargin: Theme.padM
|
||||
anchors.left: parent.left
|
||||
width: 108
|
||||
height: 108
|
||||
radius: Theme.radiusL
|
||||
color: Theme.surface
|
||||
border.width: 1
|
||||
border.color: Theme.overlay
|
||||
@@ -216,6 +218,7 @@ Popout {
|
||||
|
||||
Skew {
|
||||
anchors.fill: parent
|
||||
radius: height / 2
|
||||
color: !chip.enabled
|
||||
? Theme.treatmentDisabledFill
|
||||
: (chip.activeFocus
|
||||
@@ -287,6 +290,7 @@ Popout {
|
||||
|
||||
Skew {
|
||||
anchors.fill: parent
|
||||
radius: width / 2
|
||||
color: {
|
||||
if (!tb.enabled) return "transparent";
|
||||
if (tb.activeFocus) return Theme.treatmentFocusFill;
|
||||
|
||||
@@ -3,7 +3,7 @@ import "root:/config"
|
||||
import "root:/components"
|
||||
|
||||
// Title bar for a popout, in the NieR header pattern: glyph, tracked heading,
|
||||
// right-aligned status text, and a hairline rule that ends in a square.
|
||||
// right-aligned status text, and a hairline rule that ends in a dot.
|
||||
Item {
|
||||
id: root
|
||||
|
||||
@@ -62,6 +62,7 @@ Item {
|
||||
anchors.right: parent.right
|
||||
width: Theme.marker
|
||||
height: Theme.marker
|
||||
radius: width / 2
|
||||
color: Theme.accent
|
||||
}
|
||||
}
|
||||
@@ -17,14 +17,16 @@ P5Panel {
|
||||
// Zero, not a transparent fill: P5Panel re-applies this opacity to the
|
||||
// fill colour, which turned "transparent" into 97% black.
|
||||
fillOpacity: attached ? 0 : 0.97
|
||||
// The frame is structure: a neutral hairline. The tone goes into the
|
||||
// corner ticks, which is where NieR puts the one bright mark on a panel.
|
||||
// The frame is structure: a neutral hairline. A free-standing panel takes
|
||||
// the frame's own corner radius, so it reads as a piece of the hull set
|
||||
// down somewhere else rather than as a hard card.
|
||||
border: Theme.surfaceAlt
|
||||
borderWidth: attached ? 0 : Theme.stroke
|
||||
halftone: textured
|
||||
halftoneColor: tone
|
||||
halftoneOpacity: 0.06
|
||||
ticks: !attached
|
||||
ticks: false
|
||||
radius: Theme.frameRadius
|
||||
tickColor: tone
|
||||
padding: Theme.padM
|
||||
}
|
||||
@@ -106,6 +106,7 @@ Column {
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: Theme.padS
|
||||
anchors.rightMargin: Theme.padS
|
||||
radius: Theme.radiusM
|
||||
color: row.hovered ? Theme.accent : "transparent"
|
||||
|
||||
Behavior on color {
|
||||
|
||||
Reference in new issue
Block a user