Most common configuration options you need is in the Settings page of the web UI.

Other, more technical configuration options, are available through the config files. These are located in different places depending on your platform, see the directories documentation for where to find them.


In v0.11.0, the previous .ini config files used by all Python-based modules were replaced by .toml files (commented out by default, to allow for updates to the defaults). If you had made any modifications to the ini files prior to v0.11, you need to migrate them to the new files.

Configuration options for the server, client, and default watchers are listed below:


  • host Hostname to start the server on. Currently only localhost or are supported.

  • port Port number to start the server on.

  • storage Type of storage for holding buckets and events. Supported types are peewee, memory (useful in testing), or mongodb (MongoDB support will be removed in a future version).




  • server.hostname Hostname of the server to connect to.

  • server.port Port number of the server to connect to.

  • client.commit_interval How often to commit events to the server (in seconds).


  • timeout Time in seconds after which a period without keyboard or mouse activity is considered to be AFK (away from keyboard).

  • poll_time Time in seconds between checks for activity.

See aw_watcher_afk/ for the default config values.


  • poll_time Time in seconds between window checks.

  • exclude_title Don’t track window titles

  • strategy_macos The strategy to use on macOS to fetch the active window, can be “swift”, “jxa” or “applescript”. Swift strategy is preferred.