Coder Social home page Coder Social logo

aw-tauri's Introduction

aw-tauri

Experimenting with implementing ActivityWatch using Tauri.

Holds great promise as a much simpler way to build a cross-platform version of ActivityWatch.

Features:

  • Tray icon
  • Module manager for watchers
  • WebView serving the web UI
  • Uses aw-server-rust by default
  • Replaces aw-qt
  • Builds like a dream, minimal custom build & release config

Benefits of Tauri:

  • Builds cross-platform nicely (see their docs)
    • Generates deb and AppImage with a simple npx tauri build
    • Uses Gtk on Linux, and tao on Windows and macOS
    • No more messy PyInstaller for the main entrypoint (aw-qt)
    • Good docs for code-signing on all platforms
    • Includes an updater for MSI, .AppImage, .app bundle.
  • Contains a webview with an easy interface to Rust code
  • Trayicon support
  • Mobile support is WIP, and will support iOS.

Usage

To run:

npm install
npm run tauri dev

Repo stucture

  • The frontend is in the root folder (NOTE: not yet the actual aw-webui code)
  • All rust code is in src-tauri/ (will likely be moved)

Roadmap

  • Run aw-server-rust as part of main executable
  • Run ActivityWatch web app within WebView (wry)
  • Get basic module manager working
    • Start watchers
  • Tray icon
    • Basic version (open, exit)
    • Menu for module manager

This project was initialized with:

sh <(curl https://create.tauri.app/sh)

Below is the original README it created:


Tauri + Vue 3 + TypeScript

This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 <script setup> SFCs, check out the script setup docs to learn more.

Recommended IDE Setup

Type Support For .vue Imports in TS

Since 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:

  1. 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.
  2. Reload the VS Code window by running Developer: Reload Window from the command palette.

You can learn more about Take Over mode here.

aw-tauri's People

Contributors

erikbjare avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.