Hyprland: - Windows round at 8px, concentric with the porthole's 18px corners at the 10px gap, instead of square corners inside a rounded opening. - Group tabs are solid hull slabs; the titles used to float over the wallpaper. The current tab is lifted a step with its title in the light. - Motion rewritten to glide and settle: no overshoot curve, gentler popin, workspaces slide-fade a short way instead of sweeping the whole screen, and layers only fade so they never stack on quickshell's own slides. Quickshell: - Album art in the bar and the media popout is square in a hairline frame, not masked to a leaning chamfered shape; the accent slab under the popout art is gone, and a track change dips the title instead of tilting the art. - The bar's equaliser is a five-hairline signal meter that rests as dots. - Segment meters (system, battery, OSD) are 4px rows instead of 10-12px blocks; the toast fuse is a hairline; the clock's accent slab is a neutral divider. - No hover pops: rail icons, tray icons, media transport buttons and P5Button no longer scale up or lunge sideways; the icon bump is reduced. Terminal: ANSI bright black drops to #464d44. TUIs use it as a panel fill, and at the outline grey it read as a flat light slab. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
68 lines
1.7 KiB
QML
68 lines
1.7 KiB
QML
import QtQuick
|
|
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.
|
|
Item {
|
|
id: root
|
|
|
|
property string title: ""
|
|
property string subtitle: ""
|
|
property string icon: ""
|
|
property color accent: Theme.primary
|
|
|
|
implicitHeight: 34
|
|
|
|
Row {
|
|
anchors.left: parent.left
|
|
anchors.top: parent.top
|
|
spacing: Theme.padM
|
|
|
|
Icon {
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
visible: root.icon !== ""
|
|
text: root.icon
|
|
color: root.accent
|
|
font.pixelSize: Theme.fsTitle
|
|
}
|
|
|
|
SplitText {
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
text: root.title.toUpperCase()
|
|
pixelSize: Theme.fsLarge
|
|
}
|
|
}
|
|
|
|
Text {
|
|
anchors.right: parent.right
|
|
anchors.top: parent.top
|
|
anchors.topMargin: 6
|
|
visible: root.subtitle !== ""
|
|
text: root.subtitle
|
|
color: Theme.subtext
|
|
font.family: Theme.fontMono
|
|
font.pixelSize: Theme.fsMicro
|
|
font.letterSpacing: 1
|
|
renderType: Text.NativeRendering
|
|
}
|
|
|
|
Rectangle {
|
|
anchors.bottom: parent.bottom
|
|
anchors.bottomMargin: (Theme.marker - 1) / 2
|
|
anchors.left: parent.left
|
|
anchors.right: endMark.left
|
|
height: 1
|
|
color: Theme.alpha(root.accent, 0.6)
|
|
}
|
|
|
|
Rectangle {
|
|
id: endMark
|
|
anchors.bottom: parent.bottom
|
|
anchors.right: parent.right
|
|
width: Theme.marker
|
|
height: Theme.marker
|
|
color: Theme.accent
|
|
}
|
|
}
|