aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/companion/README.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-23 19:50:40 +0200
committerDanilo M. <danix@danix.xyz>2026-10-23 19:50:40 +0200
commit923c0563f0389c4011c99b93a3edcfb09f5f3309 (patch)
tree47a82512016b4d97ac48e81c74182d8d1defd0c3 /desktop/companion/README.md
parent540aa76b6088025dfca284a731002cec6b6c607c (diff)
downloadquickshell-923c0563f0389c4011c99b93a3edcfb09f5f3309.tar.gz
quickshell-923c0563f0389c4011c99b93a3edcfb09f5f3309.zip
companion: sing when the Sony headphones connect
She now reacts to the headphones connecting with a short singing pose: eyes shut, blindfold gone, mouth wide open, headphones on, a few musical notes. The frames are new klein edits in frames.txt (dress/sing from dress/base, leotard/sing from dress/sing), so a post-self-destruct sing has its own art. Detection is the island's rule (StatusPill.qml): by model prefix, since BlueZ gives no class that says "headphones". The device's BlueZ Name is WH-CH720N, which the alias does not affect. The reaction is a one-shot hold in Mood.js (singHold, 4 s), placed after wave like the other event reactions. A 4 s startup grace keeps a shell start with the headphones already on from counting as a connection, since Bluetooth reads empty for about 2 s.
Diffstat (limited to 'desktop/companion/README.md')
-rw-r--r--desktop/companion/README.md5
1 files changed, 5 insertions, 0 deletions
diff --git a/desktop/companion/README.md b/desktop/companion/README.md
index a1ec12d..37aab16 100644
--- a/desktop/companion/README.md
+++ b/desktop/companion/README.md
@@ -72,6 +72,11 @@ frame falls back to its outfit's `base`.
minutes. Checked on `workspacev2` and `closewindow`, and whenever she
stops being away. Her monitor's wallpaper comes from wallp's
`wallp.conf` outputs and `wall_h`/`wall_v`.
+- Sony headphones connecting are the island's rule (`island/StatusPill.qml`:
+ `WH-`/`WF-`/`LinkBuds` by name, since BlueZ has no headphones class): she
+ sings once for `Mood.T.singHold`, 4 s, and says a line if the usual 30 s
+ cooldown allows it. A shell start with them already on is not a connection:
+ Bluetooth reads empty for ~2 s, then populates.
- She only feels the pointer while it is over her: Quickshell has no
global pointer and Hyprland sends no motion events. Hence the 0.6 s
dodge rather than moving away as the pointer approaches.