mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-05-08 04:48:27 -05:00
The old setupTray() called tray.destroy() before creating a new Tray. On Linux with KDE Plasma 6 Wayland, tray.destroy() does not actually remove the icon from plasmashell (electron/electron#49517), so the new Tray registers a fresh dbusmenu while plasmashell keeps talking to the orphaned one. Menu items still render (cached layout) but every com.canonical.dbusmenu.Event("clicked", ...) method call from plasmashell hits the destroyed handler and is dropped, so menu-item click callbacks stop firing after the frontend triggers a rebuild on login. Move the one-time Tray construction (icon, tooltip, click handler) behind a !tray guard and keep setContextMenu in the always-run path. The desktop:update-quick-entry-shortcut IPC handler keeps calling setupTray() and the accelerator label updates without touching the native Tray.
Vikunja desktop
The Vikunja frontend all repackaged as an electron app to run as a desktop app!
Dev
As this package does not contain any code, only a thin wrapper around electron, you will need to do this to get the actual frontend bundle and build the app:
First, build the frontend:
cd ../frontend
pnpm install
pnpm run build
Then, copy the frontend to this directory:
cd desktop
cp -r ../frontend/dist frontend/
sed -i 's/\/api\/v1//g' frontend/index.html # Make sure to trigger the "enter the Vikunja url" prompt
Then you can run the desktop app like this:
pnpm install
pnpm start
Building for release
- Run the snippet from above, but with a valid frontend version instead of
unstable - Change the version in
package.json(that's the one that will be used by electron-builder) pnpm installpnpm run dist --linux --windows
License
This project is licensed under the GPL-3.0-or-later license. See the LICENSE file for details.