Coder Social home page Coder Social logo

gnome-shell-pomodoro's Introduction

Pomodoro extension for GNOME Shell

This GNOME Shell extension intends to help manage time according to Pomodoro Technique.

Features

  • Countdown timer in the GNOME Shell top panel
  • Full screen notifications that can be easily dismissed
  • Reminders to nag you about taking a break
  • Sets your IM (Empathy) status to busy
  • Hides any notifications until the start of break

Pomodoro image

What is the pomodoro technique?

The Pomodoro Technique is a time and focus management method which improves productivity and quality of work. The name comes from a kitchen timer, which can be used to keep track of time. In short, you are supposed to focus on work for around 25 minutes and then have a well deserved break in which you should relax. This cycle repeats once it reaches 4th break – then you should take a longer break (have a walk or something). It's that simple. It improves your focus, physical health and mental agility depending on how you spend your breaks and how strictly you follow the routine.

You can read more on pomodoro technique here.

This project is not affiliated with, authorized by, sponsored by, or otherwise approved by GNOME Foundation and/or the Pomodoro Technique®. The GNOME logo and GNOME name are registered trademarks or trademarks of GNOME Foundation in the United States or other countries. The Pomodoro Technique® and Pomodoro™ are registered trademarks of Francesco Cirillo.

Installation

Web based (recommended)

https://extensions.gnome.org/extension/53/pomodoro/

Archlinux

Get from AUR

Fedora 17 and later

Install using yum:

    $ su -c 'yum install gnome-shell-extension-pomodoro'

Gentoo

Available at Maciej's overlay here. Instructions here.

Direct from source

  1. Get zipball

  2. Build it and install

     ./autogen.sh --prefix=/usr
     make zip
     unzip _build/gnome-shell-pomodoro.0.8.zip -d ~/.local/share/gnome-shell/extensions/[email protected]
    

    To install it system-wide, you could do

     ./autogen.sh --prefix=/usr
     sudo make install
    

    …and after a successful installation remove the local extension

     rm -R ~/.local/share/gnome-shell/extensions/[email protected]
    
  3. Enable the extension using gnome-tweak-tool (Shell Extensions → Pomodoro) or via following commandline:

     gsettings get org.gnome.shell enabled-extensions
     gsettings set org.gnome.shell enabled-extensions [<values from get above>, [email protected]]
    
  4. Press Alt + F2, and r in command to restart GNOME Shell

Usage

  • Use toggle switch (or Ctrl+Alt+P) to toggle timer on/off
  • You can configure behavior of the extension in Options menu

...and there are a couple of options:

  • Reset Counts and Timers: Resets your pomodoro session count.
  • Away From Desk: Automatically start next pomodoro session after pause. Useful if you're sitting away from computer.
  • Control Presence Status: During a pomodoro session, mark your IM presence status to Busy.
  • Fullscreen Notifications: After completion of a pomodoro session, show a dialog box (system modal) that will force you to take a break :)
  • Sound Notifications: Notify completion of pomodoro by playing a sound.

Settings

We recommend you use the Options menu to configure Pomodoro extension. If you still want to tinker with settings, you can use dconf-editor or gsettings via commandline. Settings for Pomodoro are in /org/gnome/shell/extensions/pomodoro tree.

Change notification sound

You can customize notification sound with:

    SCHEMADIR=~/.local/share/gnome-shell/extensions/[email protected]/schemas/
    gsettings --schemadir $SCHEMADIR set org.gnome.shell.extensions.pomodoro sound-uri "/usr/share/sounds/freedesktop/stereo/complete.oga"

…or if installed system-wide

    gsettings set org.gnome.shell.extensions.pomodoro sound-uri "/usr/share/sounds/freedesktop/stereo/complete.oga"

For the sound file used in this example you may need to install package sound-theme-freedesktop.

Change keyboard shortcut

Hotkey to toggle the timer Ctrl+Alt+P may be used in one of your apps (Emacs, Sublime Text, etc.), in which case it will toggle the timer. You can change the shortcut by:

    SCHEMADIR=~/.local/share/gnome-shell/extensions/[email protected]/schemas/
    gsettings --schemadir $SCHEMADIR set org.gnome.shell.extensions.pomodoro toggle-pomodoro-timer "['<Super>p']"

…or if installed system-wide

    gsettings set org.gnome.shell.extensions.pomodoro toggle-pomodoro-timer "['<Super>p']"

Reset settings to default

If you ever need to reset settings, you can use

    SCHEMADIR=~/.local/share/gnome-shell/extensions/[email protected]/schemas/
    gsettings --schemadir $SCHEMADIR reset-recursively org.gnome.shell.extensions.pomodoro

…or if installed system-wide

    gsettings reset-recursively org.gnome.shell.extensions.pomodoro

For more options see gsettings --help

Debugging

If you experience the extension causing problems, please run gnome-shell with error log redirected to a file:

    DISPLAY=:0 gnome-shell --replace > gnome-shell.log 2>&1

You can also recover from most gnome-shell crashes using the same command.

License

GPL3. See COPYING for details.

Thanks

Thanks to our GitHub contributors.

Changelog

Version 0.8

  • Support for GNOME Shell 3.8 (thanks @haaja)
  • Brazilian Portuguese translation (thanks @aleborba)
  • Minor bug fixes

Version 0.7

  • Support for GNOME Shell 3.4 and 3.6
  • Feature: Full screen notifications
  • Feature: Reminders
  • Chinese translation (thanks @mengzhuo)
  • Czech translation (thanks @veverjak)

Version 0.6

  • Support for GNOME Shell 3.4
  • Breaking change: Dropped support for older gnome-shell versions due to incompatible APIs
  • Feature: Support for "Away from desk" mode
  • Feature: Ability to change IM presence status based on pomodoro activity
  • New translation: Persian (thanks @arashm)
  • Fixed issues #38, #39, #41, #42, #45 and more

Version 0.5

  • Bunch of cleanups, user interface awesomeness [Issue #37, Patch from @kamilprusko]
  • Config options are changed to more meaningful names [above patch]

Version 0.4

  • Sound notification at end of a pomodoro break [Issue #26, Patch from @kamilprusko]
  • System wide config file support [Patch from @mgrela]
  • Support to skip breaks in case of persistent message [Patch from @amanbh]
  • Some minor bug fixes, and keybinder3 requirement is now optional

gnome-shell-pomodoro's People

Contributors

amanbh avatar arashm avatar codito avatar gbraad avatar haaja avatar jwerak avatar kamilprusko avatar liberumed avatar mbooth101 avatar mengzhuo avatar nevon avatar nzjrs avatar tommyblue avatar unsolvedcypher avatar

Watchers

 avatar

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.