summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-07-12 23:21:58 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-07-12 23:21:58 +0800
commit1c259d7878c00592916dc6acdb6e22771b22bbf1 (patch)
treee78c1513b184a0863e54e83f7365b110ea0301e8 /components
parentf2056f05b4649d49f9322d5fcea011a51bda2dfe (diff)
finish organize
Diffstat (limited to 'components')
-rw-r--r--components/Icons.qml34
-rw-r--r--components/SimpleResource.qml26
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
+ }
+}