Code Monkey home page Code Monkey logo

tmux-pomodoro-plus's Introduction

Tmux Pomodoro Plus

Tmux Pomodoro Plus

Incorporate the Pomodoro technique into your tmux setup. Forked from Tmux Pomodoro

Please subscribe to this issue to be notified of any breaking changes to the plugin

✨ Features

  • Toggle a Pomodoro and see the countdown and the break in the status bar
  • Skip, pause and resume a Pomodoro/break at any point
  • Customise the Pomodoro duration, break times and intervals
  • Restart your Pomodoros to automatically or be prompted
  • Desktop alerts for Pomodoros and breaks (MacOS and Linux only)
  • Custom keybindings

πŸ“· Screenshots

Pomodoro counting down: Image

Pomodoro on a break: Image

Pomodoro counting down in real-time: Image

Pomodoro timer menu: Image

πŸ“¦ Installation

  1. Using TPM, add the following line to your ~/.tmux.conf file:
set -g @plugin 'olimorris/tmux-pomodoro-plus'

Note: The above line should be before run '~/.tmux/plugins/tpm/tpm'

  1. Then press tmux-prefix + I (capital i, as in Install) to fetch the plugin as per the TPM installation instructions

πŸš€ Usage

Default keybindings

  • <tmux-prefix> p to toggle between starting/pausing a Pomodoro/break
  • <tmux-prefix> P to cancel a Pomodoro/break
  • <tmux-prefix> _ to skip a Pomodoro/break
  • <tmux-prefix> e to restart a Pomodoro
  • <tmux-prefix> C-p to open the Pomodoro timer menu
  • <tmux-prefix> M-p to set a custom Pomodoro timer

The Pomodoro timer menu and custom Pomodoro input are always <ctrl>/<alt> + [your start Pomodoro key].

Status bar

To incorporate into your status bar:

set -g status-right "#{pomodoro_status}"

πŸ”§ Configuration

Note: On Linux, notifications depend on notify-send/libnotify-bin

The default configuration:

set -g @pomodoro_toggle 'p'                    # Start/pause a Pomodoro/break
set -g @pomodoro_cancel 'P'                    # Cancel the current session
set -g @pomodoro_skip '_'                      # Skip a Pomodoro/break

set -g @pomodoro_mins 25                       # The duration of the Pomodoro
set -g @pomodoro_break_mins 5                  # The duration of the break after the Pomodoro completes
set -g @pomodoro_intervals 4                   # The number of intervals before a longer break is started
set -g @pomodoro_long_break_mins 25            # The duration of the long break
set -g @pomodoro_repeat 'off'                  # Automatically repeat the Pomodoros?
set -g @pomodoro_disable_breaks 'off'          # Turn off breaks

set -g @pomodoro_on " πŸ…"                      # The formatted output when the Pomodoro is running
set -g @pomodoro_complete " βœ”οΈŽ"                 # The formatted output when the break is running
set -g @pomodoro_pause " ⏸︎"                    # The formatted output when the Pomodoro/break is paused
set -g @pomodoro_prompt_break " ⏲︎ break?"      # The formatted output when waiting to start a break
set -g @pomodoro_prompt_pomodoro " ⏱︎ start?"   # The formatted output when waiting to start a Pomodoro

set -g @pomodoro_menu_position "R"             # The location of the menu relative to the screen
set -g @pomodoro_sound 'off'                   # Sound for desktop notifications (Run `ls /System/Library/Sounds` for a list of sounds to use on Mac)
set -g @pomodoro_notifications 'off'           # Enable desktop notifications from your terminal
set -g @pomodoro_granularity 'off'             # Enables MM:SS (ex: 00:10) format instead of the default (ex: 1m)

Customising the status line

The output from the plugin can be customised to fit in with your statusline:

set -g @pomodoro_on "#[fg=$text_red]πŸ… "
set -g @pomodoro_complete "#[fg=$text_green]πŸ… "
set -g @pomodoro_pause "#[fg=$color_yellow]πŸ… "
set -g @pomodoro_prompt_break "#[fg=$color_green]πŸ•€ ? "
set -g @pomodoro_prompt_pomodoro "#[fg=$color_gray]πŸ•€ ? "

The current and total number of intervals can also be displayed:

set -g @pomodoro_interval_display "[%s/%s]"

Note: If you provide just 1 %s then the current interval count will be displayed only

A real-time countdown can be also be displayed:

set -g @pomodoro_granularity 'on'
set -g status-interval 1                       # Refresh the status line every second

πŸ‘ Credits

πŸ“ƒ License

MIT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.