Skip to main content

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 time management dashboard 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 apps
  • Inactivity detection that automatically pauses time tracking
  • Task prioritization
  • Infinitely nestable lists
  • Pomodoro timer
  • 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 interface
  • Run a command (or launch an application) when a task is started
  • Not built with Electron ♥
  • Follows system dark-mode
  • Lightening fast task search

Currently Supported To-do List Backends

Currently Supported Time Tracker Backends

Installation

  1. Run the following in terminal to install and setup:

    # Install dependencies
    sudo apt install pipx gir1.2-ayatanaappindicator3-0.1 libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev xprintidle 
    
    # Set up pipx   
    pipx ensurepath
    source ~/.bashrc 
    
    # Install nowfocus
    pipx install nowfocus
    
    # and now Focus!
    nowfocus
    
    
  2. Set up a keybinding (on Ubuntu or Linux Mint), open Settings > Keyboard > Keyboard Shortcuts > Custom Shortcuts, set the keystroke to Ctrl + Space (or the combination of your choice) set the command to:

    bash -c "echo 'open_task_window' > /tmp/nowfocus-pipe"
    
  3. 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

  • F11 Toggle fullscreen
  • Esc Close task window
  • Enter Start top/selected task (or make a new task with current search phrase if no results)
  • Shift Enter or Shift Click Transfer current session time to selected task (or top task if none selected)
  • Control Enter or Control Click show opetions menu for selected (or top) task
  • Alt Enter or Alt Click Open todolist for selected (or top) task
  • Conrol + S Pause and save current session
  • Conrol + D Pause current session and mark task Done
  • Conrol + Q Quit and discard current session
  • Ctrl + N New task
  • Ctrl + R Refresh todolists
  • Ctrl + L or Ctrl + F Focus 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

Reporting Issues

Open an issue on Codeberg (Please include as much detail as you can.)

Development

Fork nowfocus source code on Codeberg (GPL)

Install From Source

git clone https://codeberg.org/AltruistEnterprises/nowfocus.git
cd nowfocus
python3 -m venv .venv/nowfocus-build
source .venv/nowfocus-build/bin/activate 
pip install -r build-requirements.txt
python3 -m build
pipx install -e --force YOUR_INSTALL_PATH

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nowfocus-0.5.0.tar.gz (400.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nowfocus-0.5.0-py3-none-any.whl (426.7 kB view details)

Uploaded Python 3

File details

Details for the file nowfocus-0.5.0.tar.gz.

File metadata

  • Download URL: nowfocus-0.5.0.tar.gz
  • Upload date:
  • Size: 400.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for nowfocus-0.5.0.tar.gz
Algorithm Hash digest
SHA256 0e1e6263995053c5d61b2142c4e38917ba25a75ab0642a8112cba31dd1661c9a
MD5 205c7863c9096bcd94adaaf93e74c8b6
BLAKE2b-256 bce23533c4321abb726c57ccac9a0345c3e6d0bd322ed2497650434c5155d24d

See more details on using hashes here.

File details

Details for the file nowfocus-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: nowfocus-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 426.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for nowfocus-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e22ffc1e58286315119160913d4691392fae77bd98a9e3d54ebbd69a7442d7b
MD5 5e6b76c5a2a436ac885300af5c83d35d
BLAKE2b-256 2ab3fed4f27f682b1f2089422b931bcc30b4980ca8a903794c74851b3469e8a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page