KF6 enforces X-KDE-AuthorizeAction=shell_access strictly, causing
"not authorized" errors on context menu actions. The KF6 version
drops the authorize line (actions only invoke D-Bus helpers, not
raw shell). KF5 keeps it in a separate ollie-actions-kf5.desktop.
Use switchWidth/switchHeight instead of hardcoded preferredRepresentation
so the full view is shown directly when placed on the desktop (Planar
form factor) while panels still get the compact icon.
- Double-click session name in list to rename inline (RET to confirm, ESC to cancel)
- Double-click cwd heading to open folder picker and change working directory
- Add setConfig() to QML D-Bus client
- Fix capi.go: chat/state callbacks used stale sessID after rename
- Makefile: kf5 target uses trap to always restore CMakeLists.txt
- Add activeCwd property to OllieDBusClient (fetched via GetConfig)
- Add colored status dot to compact and full representations
- Show session cwd path in the header label
- Remove .substring(0,14) / .left(12) / .left(14) truncations
from plasmoid, kate plugin, tray, and daemon notifications
Kate on KF5 loads plugins from plugins/ktexteditor/, not
plugins/kf5/ktexteditor/. The kf5/ prefix is a CMake install namespace
but not where Kate actually searches.
- 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
- systemd user unit (services/ollie-kde.service)
- OpenRC user service (services/ollie-kde.openrc)
- Comprehensive README with build, install, usage, D-Bus API docs
- Side panel (right dock) with live chat view, streaming via ChatUpdated
- Prompt input at bottom, enter to send
- Context actions: 'Ask File' (describe current file), 'Explain' (explain selection)
- Auto-creates session in current file's directory
- Adopts existing sessions on load
- '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/
- KStatusNotifierItem with status indication (passive/active/attention)
- Tooltip: session count and active count
- Right-click menu: New Session, Sessions submenu (per-session kill),
Stop All, Quit Daemon
- Live updates via D-Bus signals (SessionCreated, SessionKilled,
StateChanged)
- Builds as ollie-tray (104KB), links KF6StatusNotifierItem + Qt6
- lib/capi.go: 18 cgo exports wrapping ollie/core (session lifecycle,
interaction, state queries, callbacks)
- daemon/: Qt6 D-Bus service (org.ollie.SessionManager) bridging C API
to D-Bus methods/signals
- Makefile: orchestrates Go c-shared build then CMake build