diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-07-12 23:21:58 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-07-12 23:21:58 +0800 |
| commit | 1c259d7878c00592916dc6acdb6e22771b22bbf1 (patch) | |
| tree | e78c1513b184a0863e54e83f7365b110ea0301e8 /components | |
| parent | f2056f05b4649d49f9322d5fcea011a51bda2dfe (diff) | |
finish organize
Diffstat (limited to 'components')
| -rw-r--r-- | components/Icons.qml | 34 | ||||
| -rw-r--r-- | components/SimpleResource.qml | 26 |
2 files changed, 60 insertions, 0 deletions
diff --git a/components/Icons.qml b/components/Icons.qml new file mode 100644 index 0000000..4b3915c --- /dev/null +++ b/components/Icons.qml @@ -0,0 +1,34 @@ +import QtQuick +import QtQuick.Layouts + +import qs.config + +Text { + id: root + property real iconSize: General.iconSize + property real fill: 0 + property real truncatedFill: Math.round(fill * 100) / 100 // Reduce memory consumption spikes from constant font remapping + renderType: Text.NativeRendering + font { + hintingPreference: Font.PreferFullHinting + family: Style.font.family.symbols ?? "Symbols Nerd Font" + pixelSize: iconSize + weight: Font.Normal + (Font.DemiBold - Font.Normal) * fill + variableAxes: { + "FILL": truncatedFill, + // "wght": font.weight, + // "GRAD": 0, + "opsz": iconSize + } + } + verticalAlignment: Text.AlignVCenter + // color: Style.m3colors.m3onBackground + + // Behavior on fill { + // NumberAnimation { + // duration: Appearance?.animation.elementMoveFast.duration ?? 200 + // easing.type: Appearance?.animation.elementMoveFast.type ?? Easing.BezierSpline + // easing.bezierCurve: Appearance?.animation.elementMoveFast.bezierCurve ?? [0.34, 0.80, 0.34, 1.00, 1, 1] + // } + // } +} diff --git a/components/SimpleResource.qml b/components/SimpleResource.qml new file mode 100644 index 0000000..786e37b --- /dev/null +++ b/components/SimpleResource.qml @@ -0,0 +1,26 @@ +import QtQuick +import Quickshell +import QtQuick.Layouts +import qs.config as Config +import qs.components + +RowLayout { + id: root + required property string text + required property string icon + Item { + Layout.fillWidth: true + } + anchors.fill: parent + spacing: Config.Bar.resourceIconTextSpacing + + Icons { + text: root.icon + } + Text { + text: root.text + } + Item { + Layout.fillWidth: true + } +} |
