aboutsummaryrefslogtreecommitdiffstats
path: root/window-switcher
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-16 10:19:46 +0200
committerDanilo M. <danix@danix.xyz>2026-10-16 10:19:46 +0200
commit1e0cb0bc16d5971e6e42c105622443d955ccdf5e (patch)
treeb28783d823f1511d78d5dd30ae8d54e9fe4a572f /window-switcher
parent22db61bebaba4fdc58110f8bcc07313d330ac658 (diff)
downloadquickshell-1e0cb0bc16d5971e6e42c105622443d955ccdf5e.tar.gz
quickshell-1e0cb0bc16d5971e6e42c105622443d955ccdf5e.zip
feat(shared): one faded glow for hovers across the shells
Hover and attention effects were solid: a flat accent ring round the user page's avatar, a flat quarter-disc in the hot corner, and thick accent or white borders on window cards, keycaps and knobs. Glow.qml is a RectangularShadow in the accent, fading out from the shape's edge and in over 140ms, linked into desktop, window-switcher and keybinds like Theme.qml, and all five places use it. Selection borders in the appearance tabs stay: they mark state, not hover. The avatar also gains the hover cue in the first place: the hand cursor never showed under a hyprcursor-only theme, so without it the picture gave no sign it could be clicked. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'window-switcher')
l---------window-switcher/Glow.qml1
-rw-r--r--window-switcher/HotCorner.qml12
-rw-r--r--window-switcher/WindowCard.qml8
3 files changed, 15 insertions, 6 deletions
diff --git a/window-switcher/Glow.qml b/window-switcher/Glow.qml
new file mode 120000
index 0000000..779c66a
--- /dev/null
+++ b/window-switcher/Glow.qml
@@ -0,0 +1 @@
+../shared/Glow.qml \ No newline at end of file
diff --git a/window-switcher/HotCorner.qml b/window-switcher/HotCorner.qml
index cb7d863..eebcf05 100644
--- a/window-switcher/HotCorner.qml
+++ b/window-switcher/HotCorner.qml
@@ -87,15 +87,17 @@ PanelWindow {
}
}
- // A quarter circle centred on the corner, growing with the dwell.
- Rectangle {
- readonly property real r: corner.width * corner.progress
+ // A glow centred on the corner, growing with the dwell. The disc is
+ // smaller than the window so the fade fits inside it.
+ Glow {
+ readonly property real r: corner.width * 0.5 * corner.progress
x: corner.width - r
y: -r
width: 2 * r
height: 2 * r
radius: r
- color: Theme.accent
- opacity: 0.6 * corner.progress
+ blur: r
+ on: true
+ opacity: 0.8 * corner.progress
}
}
diff --git a/window-switcher/WindowCard.qml b/window-switcher/WindowCard.qml
index 177aac9..be97427 100644
--- a/window-switcher/WindowCard.qml
+++ b/window-switcher/WindowCard.qml
@@ -40,13 +40,19 @@ Item {
HoverHandler { id: cardHover }
+ Glow {
+ anchors.fill: box
+ radius: box.radius
+ on: cardHover.hovered
+ }
+
Rectangle {
id: box
anchors.fill: parent
radius: 10
color: Theme.surface
border.color: cardHover.hovered ? Theme.accent : Theme.surfaceAlt
- border.width: cardHover.hovered ? 3 : 1
+ border.width: 1
// The rect already has the window's shape, so the preview fills it.
// The fit is kept for the moment before a capture lands: an