alpha
Login
or
Join now
seanaye.bsky.social
/
nixos-config
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
me like nix
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
hover for tray icons
author
Sean Aye
date
3 months ago
(Mar 22, 2026, 8:03 PM -0400)
commit
f75135ac
f75135acaa6b95068012f2ff8525a8a9b6dbfffa
parent
460dfba7
460dfba76d93afb50c58b7857a8054ab7a455cb2
change-id
yqsuyyvv
yqsuyyvvqysyqoqowvxpzlstzrsowtlm
+40
-6
2 changed files
Expand all
Collapse all
Unified
Split
hosts
common
quickshell
shell.qml
wallpapers.nix
+32
-6
hosts/common/quickshell/shell.qml
Reviewed
···
84
84
property string powerProfile: ""
85
85
property string powerBackend: "" // "system76" or "ppd"
86
86
property string weather: ""
87
87
+
property bool barHovered: false
87
88
88
89
anchors {
89
90
top: true
···
96
97
margins.right: 0
97
98
implicitHeight: 30
98
99
color: Qt.rgba(0.188, 0.204, 0.275, 0.85)
100
100
+
101
101
+
MouseArea {
102
102
+
z: -1
103
103
+
anchors.fill: parent
104
104
+
hoverEnabled: true
105
105
+
acceptedButtons: Qt.NoButton
106
106
+
onContainsMouseChanged: {
107
107
+
if (containsMouse) { trayHideTimer.stop(); root.barHovered = true }
108
108
+
else { trayHideTimer.restart() }
109
109
+
}
110
110
+
}
111
111
+
112
112
+
Timer {
113
113
+
id: trayHideTimer
114
114
+
interval: 500
115
115
+
onTriggered: root.barHovered = false
116
116
+
}
99
117
100
118
// CPU process
101
119
Process {
···
332
350
visible: root.weather !== ""
333
351
}
334
352
335
335
-
Rectangle { width: 1; height: 16; color: root.colOverlay0; visible: trayRepeater.count > 0 }
353
353
+
Rectangle {
354
354
+
width: 1; height: 16; color: root.colOverlay0
355
355
+
visible: trayRepeater.count > 0
356
356
+
opacity: root.barHovered ? 1.0 : 0.0
357
357
+
Behavior on opacity { NumberAnimation { duration: 200 } }
358
358
+
}
336
359
337
360
Repeater {
338
361
id: trayRepeater
···
340
363
delegate: Item {
341
364
id: trayDelegate
342
365
required property var modelData
343
343
-
width: trayIcon.width
344
344
-
height: trayIcon.height
366
366
+
Layout.preferredWidth: root.barHovered ? 28 : 0
367
367
+
Layout.preferredHeight: 30
368
368
+
opacity: root.barHovered ? 1.0 : 0.0
369
369
+
clip: true
370
370
+
371
371
+
Behavior on Layout.preferredWidth { NumberAnimation { duration: 200; easing.type: Easing.InOutQuad } }
372
372
+
Behavior on opacity { NumberAnimation { duration: 200 } }
345
373
346
374
IconImage {
347
375
id: trayIcon
348
376
implicitSize: 16
377
377
+
anchors.centerIn: parent
349
378
source: Quickshell.iconPath(trayDelegate.modelData.icon, true) || trayDelegate.modelData.icon
350
379
}
351
380
352
381
MouseArea {
353
382
anchors.fill: parent
354
354
-
cursorShape: Qt.PointingHandCursor
355
383
onClicked: {
356
384
if (trayDelegate.modelData.id.toLowerCase().indexOf("steam") !== -1) {
357
385
steamOpenProc.running = true
358
358
-
} else if (trayDelegate.modelData.onlyMenu || trayDelegate.modelData.hasMenu) {
359
359
-
trayDelegate.modelData.display(root, trayDelegate.x, root.height)
360
386
} else {
361
387
trayDelegate.modelData.activate()
362
388
}
+8
hosts/common/wallpapers.nix
Reviewed
···
36
36
url = "https://w.wallhaven.cc/full/85/wallhaven-852q62.png";
37
37
filename = "sunset.png";
38
38
}
39
39
+
{
40
40
+
url = "https://w.wallhaven.cc/full/ml/wallhaven-mlzzx8.png";
41
41
+
filename = "mimic.png";
42
42
+
}
43
43
+
{
44
44
+
url = "https://w.wallhaven.cc/full/9o/wallhaven-9oozpx.png";
45
45
+
filename = "neon.png";
46
46
+
}
39
47
]