aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/island
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-07 12:23:51 +0100
committerDanilo M. <danix@danix.xyz>2026-11-07 12:23:51 +0100
commit27e5bfb21627c73b53623c5ccbf93841a221bfb2 (patch)
tree8fce980fd08acf404c77156ca5f42869b0968679 /desktop/island
parent1763a372be1aa7d9a9668fd6db76bd7dac63b658 (diff)
downloadquickshell-27e5bfb21627c73b53623c5ccbf93841a221bfb2.tar.gz
quickshell-27e5bfb21627c73b53623c5ccbf93841a221bfb2.zip
island: shuffle and repeat as two Sonix buttons
The one mode button cycled all five SonixLink modes and showed repeat-off as its first state, so shuffle looked missing. Shuffle is now a toggle on the left and repeat a cycle on the right. SonixLink has no shuffle with repeat one, so with shuffle on repeat goes off and all only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/island')
-rw-r--r--desktop/island/README.md2
-rw-r--r--desktop/island/SonixPanel.qml10
2 files changed, 9 insertions, 3 deletions
diff --git a/desktop/island/README.md b/desktop/island/README.md
index 7adf9ad..1b1a3f2 100644
--- a/desktop/island/README.md
+++ b/desktop/island/README.md
@@ -54,7 +54,7 @@ page now (`desktop/modules/perf/`).
- **Sonix player icon** shows while a HiBy R1 running Sonix Player is on
the network (its SonixLink beacon). A dot under it while it plays. Click
opens its panel: cover, title, a heart for the track's favourite,
- quality, seek, transport, mode, volume (sent once it settles), battery.
+ quality, seek, transport, shuffle and repeat, volume (sent once it settles), battery.
See `desktop/modules/sonix/README.md`.
- **Headphones icon** shows while Sony headphones are connected (a BlueZ
name starting `WH-`, `WF-` or `LinkBuds`). Click opens the headphones
diff --git a/desktop/island/SonixPanel.qml b/desktop/island/SonixPanel.qml
index 609afda..09e7b1c 100644
--- a/desktop/island/SonixPanel.qml
+++ b/desktop/island/SonixPanel.qml
@@ -281,9 +281,15 @@ Column {
}
TransportButton {
+ anchors { left: parent.left; verticalCenter: parent.verticalCenter }
+ glyph: panel.glyph(S.shuffleGlyph(panel.p.mode))
+ onClicked: Sonix.command({ do: "mode", value: S.toggleShuffle(panel.p.mode) }, null, panel.report)
+ }
+
+ TransportButton {
anchors { right: parent.right; verticalCenter: parent.verticalCenter }
- glyph: panel.glyph(S.modeGlyph(panel.p.mode))
- onClicked: Sonix.command({ do: "mode", value: S.nextMode(panel.p.mode) }, null, panel.report)
+ glyph: panel.glyph(S.repeatGlyph(panel.p.mode))
+ onClicked: Sonix.command({ do: "mode", value: S.nextRepeat(panel.p.mode) }, null, panel.report)
}
}