https://github.com/pauldub/activity-watch-mode
Emacs plugin for automatic time tracking and metrics generated from your programming activity.
https://github.com/pauldub/activity-watch-mode
Last synced: 14 days ago
JSON representation
Emacs plugin for automatic time tracking and metrics generated from your programming activity.
- Host: GitHub
- URL: https://github.com/pauldub/activity-watch-mode
- Owner: pauldub
- Fork: true (wakatime/wakatime-mode)
- Created: 2018-10-15T08:29:07.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-03-13T07:54:22.000Z (about 1 year ago)
- Last Synced: 2024-03-13T08:49:22.708Z (about 1 year ago)
- Language: Emacs Lisp
- Homepage: https://activitywatch.net
- Size: 85 KB
- Stars: 66
- Watchers: 4
- Forks: 9
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY.rst
Awesome Lists containing this project
- awesome-activitywatch - activity-watch-mode - Emacs mode by @pauldub (Editor Watchers :pencil2:)
README
# Emacs Minor Mode for ActivityWatch
[](https://melpa.org/#/activity-watch-mode)
`activity-watch-mode` is an automatic time tracking extension for Emacs using [ActivityWatch](https://activitywatch.net/).
## Installation
Heads Up! ActivityWatch depends on [request.el](https://tkf.github.io/emacs-request/) being installed to work correctly.
It optionally depends on [Projectile](https://github.com/bbatsov/projectile) and [Magit](https://magit.vc) to detect project names.
1. Install activity-watch-mode for Emacs using [MELPA](https://melpa.org/#/activity-watch-mode).
3. Add `(global-activity-watch-mode)` to your `init.el` file, then restart Emacs.
6. Use Emacs with activity-watch-mode turned on and your time will be tracked for you automatically.
7. Visit http://localhost:5600 to see your logged time.
## Usage
Enable ActivityWatch for the current buffer by invoking `M-x activity-watch-mode`. If you wish to activate it globally, run `M-x global-activity-watch-mode`.
## Configuration
Set variable `activity-watch-api-host` to your activity watch local instance (default to `http://localhost:5600`).
By default, the extension will try to infer the name of the project by consulting Projectile and Magit. Users can add resolution methods by defining functions in the form `activity-watch-project-name-` and then adding `'NAME` to the list of resolvers `activity-watch-project-name-resolvers`. See its documentation for a list of predefined resolvers.
The default project name used when a proper one cannot be determined is "unknown" and can be customized via `activity-watch-project-name-default`.
## Acknowledgments
This mode is based of the [wakatime-mode](https://github.com/wakatime/wakatime-mode).