Skip to content

Questions on Debian Packaging Defaults for ActivityWatch + awatcher Bundle #1146

@philippedev101

Description

@philippedev101

Hi,

i'm working on a Debian package for Ubuntu 24.04 that bundles activitywatch (core, rust server, qt), awatcher (rust), and focused-window-dbus. My goal is a good out-of-the-box experience. I have a few questions about how aw-qt and aw-server-rust handle defaults, which impacts packaging. I used the latest commit for all packages.

  1. API Browser Link: When i click "Open API browser" in aw-qt, it goes to http://localhost:5600/api, which gives a 404. The server log says "No matching routes for GET /api text/html." Specific endpoints like /api/0/info work fine. Is the /api link in aw-qt configurable, or is there an expectation that /api itself should serve something?

  2. Tray Icon Path: aw-qt shows a clickable area in the system tray, but no visible icon. My package installs icons to /usr/share/icons/hicolor/ and the .desktop file specifies Icon=activitywatch. strace suggests aw-qt might be looking for icon files in paths relative to where it was run (like icons:logo.png or media/application_exit.png) instead of just using the system theme. Where does aw-qt expect to find its tray icon?

  3. Desktop Launcher Icon Size: The launcher icon for aw-qt appears very small. I'm installing SVG and various PNG sizes (512, 128, and planning to add 256, 64, 48 from SVG). The ActivityWatch project has its own .deb build. Do you have advice on how you get full-sized launcher icons to display reliably from your .desktop file?

  4. aw-qt.toml Configuration Path: aw-qt seems to only look for ~/.config/activitywatch/aw-qt/aw-qt.toml. If it's not there, it uses internal defaults (which try to start Python watchers that fail on Wayland) and creates a new user config. It doesn't seem to use a system-wide default like /etc/xdg/activitywatch/aw-qt/aw-qt.toml as a fallback. This makes it hard to ship a package where aw-qt uses our preferred settings (e.g., to start aw-awatcher instead of the Python watchers) without user action after install. Does aw-qt check any other system-wide paths for aw-qt.toml if the user's file is missing? Or is the current behavior intended?

  5. Systemd Service for aw-server-rust: My package runs aw-server-rust as a systemd user service (activitywatch-server.service), which users enable. Do you have any recommendations or concerns about this approach for the server? Is a systemd service generally a good idea for aw-server-rust?

Thanks for any help or pointers on these.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions