- Makefile: directly install plasmoid to /usr/share instead of using
kpackagetool5 (which doesn't overwrite existing files, causing the
KF6 main.qml to persist over the KF5 version)
- olliedbusclient: fix portal FileChooser race condition by connecting
to Response signal before making the OpenFile call using a
predictable handle_token
Installs ollie.svg to hicolor scalable apps and org.ollie.gui.desktop
to /usr/share/applications. Sets desktopFileName so Plasma can match
the running window to the .desktop entry when pinned.
Session list with create/kill/rename, chat view, prompt input,
folder dialogs for cwd. Reuses OllieDBusClient from plasmoid plugin.
Supports both Qt5 (KF5) and Qt6 (KF6) builds.
Without -g, kpackagetool installs to the running user HOME.
Since the Makefile runs as root, the package ended up in
/root/.local/share/ instead of /usr/share/plasma/plasmoids/.
The remove+install approach could leave stale QML when the install
path changed. Using -u updates in-place, falling back to -i for
first-time installs.
All synchronous QDBusInterface::call() replaced with asyncCall() +
QDBusPendingCallWatcher. Adds coalescing flags to prevent piling up
refreshSessions/fetchChat requests during rapid signal bursts.
Also removes build dependency from install targets to prevent cmake
re-running over read-only installed artifacts.
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.
- 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
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.
- systemd user unit (services/ollie-kde.service)
- OpenRC user service (services/ollie-kde.openrc)
- Comprehensive README with build, install, usage, D-Bus API docs
- '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