{"id":13530580,"url":"https://github.com/ActivityWatch/aw-tauri","last_synced_at":"2025-04-01T18:32:03.900Z","repository":{"id":154238343,"uuid":"626593689","full_name":"ActivityWatch/aw-tauri","owner":"ActivityWatch","description":"WIP ActivityWatch distribution using Tauri","archived":false,"fork":false,"pushed_at":"2024-10-09T14:34:51.000Z","size":341,"stargazers_count":14,"open_issues_count":6,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-30T00:54:47.764Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ActivityWatch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["ActivityWatch"],"open_collective":"activitywatch","liberapay":"ActivityWatch","custom":["https://activitywatch.net/donate/"]}},"created_at":"2023-04-11T19:28:30.000Z","updated_at":"2024-10-09T14:35:13.000Z","dependencies_parsed_at":"2024-04-13T10:43:55.377Z","dependency_job_id":"cb8bc804-581c-4ef0-adf2-ddc63d76a6ba","html_url":"https://github.com/ActivityWatch/aw-tauri","commit_stats":{"total_commits":81,"total_committers":3,"mean_commits":27.0,"dds":"0.37037037037037035","last_synced_commit":"864a0b5ccaae98b6776a34e477f028de9c317e10"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActivityWatch%2Faw-tauri","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActivityWatch%2Faw-tauri/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActivityWatch%2Faw-tauri/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActivityWatch%2Faw-tauri/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ActivityWatch","download_url":"https://codeload.github.com/ActivityWatch/aw-tauri/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246691666,"owners_count":20818547,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T07:00:52.085Z","updated_at":"2025-04-01T18:32:03.894Z","avatar_url":"https://github.com/ActivityWatch.png","language":"Rust","readme":"aw-tauri\n========\n[![Build](https://github.com/ActivityWatch/aw-tauri/actions/workflows/build.yml/badge.svg)](https://github.com/ActivityWatch/aw-tauri/actions/workflows/build.yml)\n\nExperimenting with implementing ActivityWatch using [Tauri](https://tauri.app/).\n\nHolds great promise as a much simpler way to build a cross-platform version of ActivityWatch.\n\nFeatures:\n\n - Tray icon\n - Module manager for watchers\n - WebView serving the web UI\n - Uses aw-server-rust by default\n - Replaces aw-qt\n - Builds like a dream, minimal custom build \u0026 release config\n\nBenefits of Tauri:\n\n - Builds cross-platform nicely (see [their docs](https://tauri.app/v1/guides/building/cross-platform))\n   - Generates deb and AppImage with a simple `npx tauri build`\n   - Uses Gtk on Linux, and [tao](https://github.com/tauri-apps/tao) on Windows and macOS\n   - No more messy PyInstaller for the main entrypoint (aw-qt)\n   - Good [docs for code-signing](https://tauri.app/v1/guides/distribution/sign-windows) on all platforms\n   - Includes an [updater](https://tauri.app/v1/guides/distribution/updater) for `MSI`, `.AppImage`, `.app` bundle.\n - Contains a webview with an easy interface to Rust code\n - [Trayicon support](https://tauri.app/v1/guides/features/system-tray/)\n - Mobile support is [WIP](https://tauri.app/blog/2022/12/09/tauri-mobile-alpha/), and will support iOS.\n\n# Prerequisites\n\n - Tauri dependencies (see [their docs](https://v2.tauri.app/start/prerequisites/))\n - Node.js\n - Rust\n\n# Usage\n\nTo run:\n\n```sh\nnpm install\nmake dev\n```\nTo build:\n\n```sh\nmake build\n```\n\n# Repo stucture\n\n - The frontend is in the root folder (NOTE: not yet the actual aw-webui code)\n - All rust code is in `src-tauri/` (will likely be moved)\n\n# Roadmap\n\nPrimary goal is feature-parity with aw-qt.\nSecondary goal is to add extras supported by Tauri (updater, autostart).\n\n - [x] Run aw-server-rust as part of main executable\n - [x] Run ActivityWatch web app within WebView (wry)\n - [x] Get basic module manager working\n     - [x] Start watchers\n - [x] Tray icon\n     - [x] Basic version (open, exit)\n     - [x] Menu for module manager\n     - [x] Responsive running/stopped state for watchers (no \"update\" button)\n     - [x] Start/stop via modules menu\n     - [x] Detect bundled \u0026 system modules\n - [x] Polish\n     - [x] Remove placeholder Vue app\n         - Or replace with new UI for module management? (a bit redundant)\n     - [x] Build aw-webui as part of build process\n     - [x] Error dialog when module crashes, restart logic\n         - https://tauri.app/plugin/dialog/\n     - [x] https://tauri.app/plugin/autostart/\n     - [x] https://tauri.app/plugin/single-instance/\n\n---\n\nThis project was initialized with:\n\n```sh\nsh \u003c(curl https://create.tauri.app/sh)\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand original README\u003c/summary\u003e\n\n# Tauri + Vue 3 + TypeScript\n\nThis template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `\u003cscript setup\u003e` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.\n\n## Recommended IDE Setup\n\n- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)\n\n## Type Support For `.vue` Imports in TS\n\nSince TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can enable Volar's Take Over mode by following these steps:\n\n1. Run `Extensions: Show Built-in Extensions` from VS Code's command palette, look for `TypeScript and JavaScript Language Features`, then right click and select `Disable (Workspace)`. By default, Take Over mode will enable itself if the default TypeScript extension is disabled.\n2. Reload the VS Code window by running `Developer: Reload Window` from the command palette.\n\nYou can learn more about Take Over mode [here](https://github.com/johnsoncodehk/volar/discussions/471).\n\n\u003c/details\u003e\n","funding_links":["https://github.com/sponsors/ActivityWatch","https://opencollective.com/activitywatch","https://liberapay.com/ActivityWatch","https://activitywatch.net/donate/"],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FActivityWatch%2Faw-tauri","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FActivityWatch%2Faw-tauri","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FActivityWatch%2Faw-tauri/lists"}