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>
46 lines
1.2 KiB
QML
46 lines
1.2 KiB
QML
import QtQuick
|
|
import "root:/config"
|
|
|
|
// Nerd Font glyph with an optional pulse, used for every status indicator.
|
|
Text {
|
|
id: root
|
|
|
|
property bool pulsing: false
|
|
property real pulseScale: 1.18
|
|
|
|
font.family: Theme.fontIcon
|
|
font.pixelSize: Theme.fsLarge
|
|
color: Theme.primary
|
|
verticalAlignment: Text.AlignVCenter
|
|
horizontalAlignment: Text.AlignHCenter
|
|
renderType: Text.NativeRendering
|
|
|
|
Behavior on color {
|
|
ColorAnimation { duration: Theme.durBase }
|
|
}
|
|
|
|
SequentialAnimation on scale {
|
|
running: root.pulsing
|
|
loops: Animation.Infinite
|
|
alwaysRunToEnd: true
|
|
NumberAnimation { to: root.pulseScale; duration: 620; easing.type: Easing.OutExpo }
|
|
NumberAnimation { to: 1.0; duration: 620; easing.type: Easing.InOutQuad }
|
|
}
|
|
|
|
function bump() {
|
|
bumpAnim.restart();
|
|
}
|
|
|
|
SequentialAnimation {
|
|
id: bumpAnim
|
|
NumberAnimation {
|
|
target: root; property: "scale"
|
|
to: 1.12; duration: Theme.durFast; easing.type: Easing.OutExpo
|
|
}
|
|
NumberAnimation {
|
|
target: root; property: "scale"
|
|
to: 1.0; duration: Theme.durSlow; easing.type: Easing.OutCubic
|
|
}
|
|
}
|
|
}
|