Prompt for what you were doing when returning from AFK and log it in ActivityWatch
Project description
AW Watcher AFK Prompt
This ActivityWatch "watcher" prompts you with a dialog when you return from an AFK (away from keyboard) break, asking what you were doing.
Installation
Install through pip or pipx or clone the repository and install using the Makefile:
git clone https://github.com/tobixen/aw-watcher-afk-prompt.git
cd aw-watcher-afk-prompt
make install
For a complete setup including systemd service:
make install-all
Running
Recommended: Using aw-qt
The recommended way to run this watcher is through aw-qt, which manages both the server and watchers automatically. After installing aw-watcher-afk-prompt, aw-qt should detect and start it automatically.
Alternative: Manual Start
If not using aw-qt, you can run it manually:
aw-watcher-afk-prompt
Make sure aw-server and aw-watcher-afk are running first, as this watcher monitors AFK events.
Alternative: systemd (Linux)
For users not using aw-qt who want automatic startup via systemd:
Quick setup with Makefile:
make enable-service
For Wayland users, also run:
make setup-wayland
This automatically configures your compositor to import the WAYLAND_DISPLAY environment variable.
Configuration
The watcher can be configured via a config file or command-line arguments. Command-line arguments override config file settings.
Config File
Configuration is stored in the ActivityWatch standard location:
~/.config/activitywatch/aw-watcher-afk-prompt/aw-watcher-afk-prompt.toml
The config file is created automatically with default values on first run if it doesn't exist.
Command-line Arguments
You can override config file settings using command-line arguments:
aw-watcher-afk-prompt --depth 15 --frequency 10 --length 3
Available options:
--depth: Minutes to look into the past for events (default: from config or 10)--frequency: Seconds between AFK event checks (default: from config or 5)--length: Minimum AFK minutes before prompting (default: from config or 5)--testing: Run in testing mode--verbose: Enable verbose logging
Lid Watcher Integration (Optional)
This watcher can integrate with aw-watcher-lid to also prompt you about laptop lid closures and system suspends, not just regular AFK periods.
Why use both watchers?
Lid events may sometimes be more accurate than the ordinary afk watcher (particularly for short-lived afk events), but won't catch cases where the laptop is left with the lid open, as well as when someone leaves the desktop computer.
Setup:
- Install aw-watcher-lid:
pipx install aw-watcher-lid - Start it (see aw-watcher-lid README for setup)
- aw-watcher-afk-prompt will automatically detect and use it
To disable lid integration:
I.e. if having an external keyboard it's possible to close the lid without being AFK. Set enable_lid_events = false in your config file - or skip installing the aw-watcher-lid.
Features
Split AFK Periods
Quite often one ends up doing multiple tasks in my afk periods, for instance it could be "lunch" for 20 minutes and "phone call" for 10 minutes. The pop-up dialog has a Split button for splitting the afk time on multiple event lines. You can add as many lines as needed and then edit either the start time or the duration of the event lines.
Contributing
Here are some helpful links:
History
This project was originally created by Jeremiah England as aw-watcher-ask-away. It was forked and renamed by Tobias Brox to aw-watcher-afk-prompt in 2026 due to inactive maintainer of the original project (see https://github.com/Jeremiah-England/aw-watcher-ask-away/issues/8).
License
aw-watcher-afk-prompt is distributed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aw_watcher_afk_prompt-0.1.6.tar.gz.
File metadata
- Download URL: aw_watcher_afk_prompt-0.1.6.tar.gz
- Upload date:
- Size: 61.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
747acaf388dfbe34174f4e1e8f6dc91875e2a978c84b248088c4edfc5d15fe25
|
|
| MD5 |
cd702f4d9abc0898233bf447171bf761
|
|
| BLAKE2b-256 |
7a9e89423142165093dee3379cdc5d4061d61959071e0acb3a94cad669c03f25
|
Provenance
The following attestation bundles were made for aw_watcher_afk_prompt-0.1.6.tar.gz:
Publisher:
publish.yml on tobixen/aw-watcher-afk-prompt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aw_watcher_afk_prompt-0.1.6.tar.gz -
Subject digest:
747acaf388dfbe34174f4e1e8f6dc91875e2a978c84b248088c4edfc5d15fe25 - Sigstore transparency entry: 1057894173
- Sigstore integration time:
-
Permalink:
tobixen/aw-watcher-afk-prompt@22fcf0c518ddecb4523dc1bde89697d613994a2e -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/tobixen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@22fcf0c518ddecb4523dc1bde89697d613994a2e -
Trigger Event:
push
-
Statement type:
File details
Details for the file aw_watcher_afk_prompt-0.1.6-py3-none-any.whl.
File metadata
- Download URL: aw_watcher_afk_prompt-0.1.6-py3-none-any.whl
- Upload date:
- Size: 35.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c11b95a10f2d69a77aadd51df7a3c16dfac1712d3bd06c25a0e02c37b0ced11
|
|
| MD5 |
35fdacec3cd547af95bc919d76310b7a
|
|
| BLAKE2b-256 |
532be5e6e0582a07e83908ebe84296cc9f33db49d0882516cb8aa42581f629aa
|
Provenance
The following attestation bundles were made for aw_watcher_afk_prompt-0.1.6-py3-none-any.whl:
Publisher:
publish.yml on tobixen/aw-watcher-afk-prompt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aw_watcher_afk_prompt-0.1.6-py3-none-any.whl -
Subject digest:
5c11b95a10f2d69a77aadd51df7a3c16dfac1712d3bd06c25a0e02c37b0ced11 - Sigstore transparency entry: 1057894202
- Sigstore integration time:
-
Permalink:
tobixen/aw-watcher-afk-prompt@22fcf0c518ddecb4523dc1bde89697d613994a2e -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/tobixen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@22fcf0c518ddecb4523dc1bde89697d613994a2e -
Trigger Event:
push
-
Statement type: