nowfocus: the open source task-tracking self-control panel.
Project description
nowfocus
Open-source task timer for linux
Avoid multifailing. Master your to-do lists. Track your time.
nowfocus is a clean, keyboard-driven project time tracker build with python + GTK that flexibly connects multiple to-do lists with multiple time trackers and displays your current task and time spent in the status bar.
Features
- Unlimited flexible combinations of to-do lists and time tracking systems
- Infinitely nestable lists
- Inactivity detection that automatically pauses time tracking
- Pomodoro timer
- Task prioritization
- Time targets: set a minimum or maximum time for any task or list of tasks and get reminded to follow though
- Randomness interrupt bell (optional) to keep you on track with tracking your time
- Keyboard-driven interface
- Offline to-do list cache
- CLI
- Run a command (or launch an application) when a task is started
Currently Supported To-do List Backends
- Simple text or markdown file with indentation based sub-lists
- Any to-do list that supports CalDav todos
- todotxt format
- TaskWarrior
- Vikunja
- Photosynthesis Timetracker
- Trello
Currently Supported Time Tracker Backends
Installation
- Run the following in terminal to install and setup:
# Install dependencies
sudo apt install pipx gir1.2-appindicator3-0.1 meson libdbus-glib-1-dev patchelf libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev
# Set up pipx
pipx ensurepath
# At this point you may need to restart your terminal window
# Install nowfocus
pipx install nowfocus
# Enter application directory
cd ~/.local/share/pipx/venvs/nowfocus/lib/python3.12/site-packages/nowfocus/desktop-extras
# Copy .desktop and icon to /usr/share
sudo cp nowfocus.desktop /usr/share/applications/nowfocus.desktop
sudo cp nowfocus.svg /usr/share/icons/hicolor/scalable/apps/nowfocus.svg
# and now Focus!
nowfocus
-
Set up a keybinding (on Ubuntu or Linux Mint), open Settings > Keyboard > Keyboard Shortcuts > Custom Shortcuts, set the command to
nowfocus, and pick whatever key combo you'd like. -
Add the following command to your startup applications:
nowfocus --force
Usage
Set up to-do lists and time trackers
Open nowfocus Settings from the indicator menu or tasks window and connect your to-do lists and time tracker(s)
Task Window Keybindings
F11Toggle fullscreenEscClose task windowEnterStart top/selected task (or make a new task with current search phrase if no results)Shift EnterorShift ClickTransfer current session time to selected task (or top task if none selected)Control EnterorControl Clickshow opetions menu for selected (or top) taskAlt EnterorAlt ClickOpen todolist for selected (or top) taskCtrl + PPause current taskCtrl + DPause current task and mark it DoneCtrl + XCancel current taskCtrl + NNew taskCtrl + RRefresh todolistsCtrl + LorCtrl + FFocus the task search
Commandline Interface
- To raise the task window use simply:
nowfocus - If nowfocus has crashed or failed to shut down nicely use
nowfocus --force - To start timing a task: add the task name as the first positional argument.
nowfocus "checking email" - To stop timing use
nowfocus stop - Start with verbose logging use:
nowfocus -l 3 - Start with targeted verbose logging use:
nowfocus -s trello
Development
Install from Source
- Install dependencies from above.
- Clone this repo somewhere (referred to as
YOUR_INSTALL_PATH) - Change to
YOUR_INSTALL_PATHdirectory withcd YOUR_INSTALL_PATH/nowfocus - build python module with
python3 -m build(this should be done in a venv and will require some dependecies...) - pipx install -e --force YOUR_INSTALL_PATH/monotask/
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 nowfocus-0.2.7.tar.gz.
File metadata
- Download URL: nowfocus-0.2.7.tar.gz
- Upload date:
- Size: 397.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20611f3a60f1161ef4fe22e4da639f5ac799bb31b2e8bf7e12ec3d3e7785844f
|
|
| MD5 |
fa6d5ee53235e258657313704aac28cc
|
|
| BLAKE2b-256 |
e5d6f3bca432cdcb73ec1e23a9ea4f5a14b0d7ad2b89d78731aca9a2e71b7e0d
|
File details
Details for the file nowfocus-0.2.7-py3-none-any.whl.
File metadata
- Download URL: nowfocus-0.2.7-py3-none-any.whl
- Upload date:
- Size: 421.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6fb6b95aaf2f177670e2e6ce94756e6965d42b993768d15b89b7afb9e89bb69
|
|
| MD5 |
b352a86f255733fbd041da4b1f8de5a0
|
|
| BLAKE2b-256 |
c134f3f74746ca3b82e8294fda4ee87345efb0575cdfd0ab40029388914252bf
|