gitwtfhub

wtf is focusd?

bibekbhusal0/focusd — explained in plain English

Analysis updated 2026-05-18

34RustAudience · developerComplexity · 2/5LicenseSetup · easy

TL;DR

A terminal-based pomodoro timer for Linux and macOS with a background daemon, a visual TUI, history tracking, and Waybar status bar integration.

Mindmap

mindmap
  root((focusd))
    What it does
      Background daemon timer
      Terminal TUI
      History and stats
      Notifications
    Tech stack
      Rust
      Waybar integration
      Hyprland keybinds
    Use cases
      Focused work tracking
      Status bar display
      Custom presets
    Audience
      Linux terminal users
      Tiling WM users
    Requirements
      Homebrew or yay or cargo

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Track focused work sessions with a pomodoro timer that keeps running in the background.

REASON 2

Show your current timer status and streak directly in a Waybar status bar module.

REASON 3

Review history and statistics of past focus sessions.

REASON 4

Switch between different timer presets like standard pomodoro or a longer deep work block.

What's in the stack?

RustWaybarHyprland

How it stacks up

bibekbhusal0/focusdironic-org/ironicnesthings/fuskyom
Stars343434
LanguageRustRustRust
Setup difficultyeasymoderatemoderate
Complexity2/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min
Use, modify, and distribute freely, including for commercial purposes, as long as you keep the copyright notice.

Wtf does this do

FocusD is a pomodoro timer that lives in your terminal, built for people who want more than a basic countdown clock. It runs as a background process, called a daemon, so your timer keeps counting even if you close the visual interface, and multiple terminal windows can show the same, synced timer state. The main way to use FocusD is through its text based interface, which shows a timer page, a history of past sessions, and a statistics page with details like your current streak of focused days. You start and control the timer with simple keyboard shortcuts, such as pressing space to start or pause, or jumping ahead to the next work or break session. The tool also sends a notification when a timer finishes. FocusD supports different presets, so you are not locked into the traditional twenty five minute work block. The default configuration file lets you set custom work, short break, and long break lengths, and you can define multiple named presets, such as a longer deep work block, and switch between them. For people using the Waybar status bar on Linux, common on window managers like Hyprland, FocusD can output its current status as JSON, which Waybar can display directly, including icons and colors that change depending on whether you are working or on a break. The README also shows examples of wiring FocusD into custom keyboard shortcuts and quick launch menus. The project is written in Rust and can be installed through Homebrew on macOS, through the AUR helper yay on Arch Linux, or built from source using Cargo. It is licensed under the MIT license. The author describes this as a personal project built partly to learn Rust, and notes that it is still under active development, so some rough edges are expected. Pull requests are not currently being accepted, though bug reports and feature suggestions are welcome.

Yoink these prompts

Prompt 1
Help me install focusd on Arch Linux using yay and set it up with a custom deep work preset.
Prompt 2
Show me how to add a focusd Waybar module that changes icon and color based on work or break state.
Prompt 3
Explain how to set up Hyprland keybindings to start, pause, and skip focusd sessions.
Prompt 4
Walk me through building focusd from source with cargo and configuring config.toml.

Frequently asked questions

wtf is focusd?

A terminal-based pomodoro timer for Linux and macOS with a background daemon, a visual TUI, history tracking, and Waybar status bar integration.

What language is focusd written in?

Mainly Rust. The stack also includes Rust, Waybar, Hyprland.

What license does focusd use?

Use, modify, and distribute freely, including for commercial purposes, as long as you keep the copyright notice.

How hard is focusd to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is focusd for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.