Skip to content

olimorris/tmux-pomodoro-plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

74 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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