aboutsummaryrefslogtreecommitdiffstats
path: root/AGENTS.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-14 19:23:11 +0200
committerDanilo M. <danix@danix.xyz>2026-09-14 19:23:11 +0200
commit32f88e68dfa9489ef09408b3dd34180b76357750 (patch)
tree5de488805b6e040a1459da58b4e7289ad04c18c3 /AGENTS.md
parentf8156ce853b1a74fb0bd6db4c5734a42933daee2 (diff)
downloadquickshell-32f88e68dfa9489ef09408b3dd34180b76357750.tar.gz
quickshell-32f88e68dfa9489ef09408b3dd34180b76357750.zip
docs: record the KDE Connect traps
No D-Bus module means shell-outs and no push; the daemon and the indicator are separate; the battery plugin is not on every device; and qdbus reads properties and methods through one call shape.
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md15
1 files changed, 15 insertions, 0 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 82a2b2e..facbdfd 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -159,6 +159,21 @@ changing that component. The ones that generalise:
device action in the bluetooth module.
- **`WifiNetwork.signalStrength` is `0..1`, not a percentage.** The known
networks a scan has not refreshed report a cached `1`.
+- **Quickshell 0.3.1 has no generic D-Bus module**, only `Quickshell.DBusMenu`.
+ KDE Connect state therefore comes from `qdbus6` shell-outs, not a binding,
+ which means there is no push and the drawer polls 5s while it is open. The
+ poll is gated on the tile's lifetime, since the tile exists exactly while the
+ drawer panel is loaded.
+- **`kdeconnectd` and `kdeconnect-indicator` are separate.** The daemon runs
+ from a system autostart; the indicator was started from the live Hyprland
+ config. The phone-to-PC clipboard is the daemon's clipboard plugin
+ (`KSystemClipboard`), so removing the indicator does not touch it.
+- **The KDE Connect battery plugin is not on every device.** `qdbus6` errors on
+ `.../devices/<id>/battery` for a device without it, so an absent battery is an
+ empty field, never a zero.
+- **`qdbus` resolves a bare `org.kde.kdeconnect.device.<name>` as either a
+ property or a method**, so `name`, `isReachable` and the `verificationKey()`
+ method all use the same call shape.
## Theme