- KRunner: rewritten to use plan9port 9p command for all operations
(list sessions, kill, one-shot generate). No D-Bus dependency.
- Tray: removed. Was a thin D-Bus status wrapper, not useful enough
to justify maintaining.
- Plasmoid: removed. GUI is standalone now.
- Kate: temporarily disabled in CMake. Header partially converted to
9P (D-Bus includes removed, QProcess/9P helpers declared). Full
conversion is next.
- All ninepBin() helpers use $PLAN9/bin/9p (not hardcoded path).
- CMake: removed Qt5::DBus, KF5::Notifications, KF5::Plasma deps.
Only remaining link deps: Qt5::Core, Qt5::Widgets, Qt5::Quick,
Qt5::QuickControls2, KF5::Runner.
- Daemon: async-signal-safe SIGTERM/SIGINT via socketpair
- Tray: survives daemon restart, watches for service appear/disappear
- KRunner: skips matches if daemon unreachable
- Kate: shows error message if daemon not running or session creation fails
- 'ollie <prompt>': one-shot mode (create, submit, await, notify, kill)
- 'ollie list': show active sessions with state
- 'ollie kill <id>': terminate a session
- KNotification shows result when one-shot completes
- Installs to /usr/lib64/qt6/plugins/kf6/krunner/