break time reminder app
stretchly is cross-platform electron app that reminds you to take breaks when working with computer.
By default, it runs in your tray and shows reminder window every 10 minutes, that is open for 20 seconds, containing idea for microbreak.
Every 30 minutes, it shows window containing idea for longer 5 minute break.
You can finish break or microbreak early, by clicking the link at the bottom
or by using Ctrl/Cmd + x
keyboard shortcut (when not in strict mode).
You can pause/resume reminding of breaks. On Windows and macOS, you can set app to start at login.
You can also skip to the next break or microbreak anytime from menu, or reset (restart) breaks.
Tray tooltip shows information about time left till next (micro)break, number of microbreaks until next break or time left in pause till breaks resume.
Microbreaks and breaks can be customized:
- you can set duration and interval of break
- you can enable/disable breaks
- you can enable/disable strict mode (breaks can't be finished early)
- you can set break window to be fullscreen
- you can choose from different color schemes
- you can pick a sound to be played at the end of the break
All settings can be reset to defaults.
Advanced settings
All settings are saved in JSON file. To learn more about how to find it, read this. Related code looks like this:
const dir = app.getPath('userData')
const settingsFile = `${dir}/config.json`
Editing break/microbreak ideas
In config file, change useIdeasFromSettings: false,
to useIdeasFromSettings: true,
and edit
breakIdeas
and microbreakIdeas
.
Latest installers for macOS, Windows, Linux and FreeBSD can be found here.
On macOS you can install it by running brew update && brew cask install stretchly
You can create installer by running npm run pack
or npm run dist
after npm install
.
Running from source
To run app you will need nodejs. Clone the repo, run npm install
and then simply do npm start
to start stretchly.
It should run on any electron supported platform. Tested on OS X, Windows and Ubuntu Linux.
Linux note
Please see http://electron.atom.io/docs/api/tray/ for Electron's Tray Linux specifics. Having libappindicator1
installed should be enough for stretchly.
Development
Feel free to join development of this app via Issues and Pull Requests. Before implementing a feature, please open an Issue first, so we can be sure that no-one else is working on it and that the changes will be accepted.
Debugging
- one can use
Ctrl/Cmd + d
shortcut in About window to show debug information:- location of settings file
- time left and reference of break planner
Known issues
- tray tooltip does not work correctly on macOS (electron/electron#9447)
TODOs and Ideas
- tests
- PR tools
- make installers/executables
- create about page
- only one instance
- create longer breaks (5min every 30 minutes)
- create settings for breaks
- remember settings after restart
- autostart app
- start break anytime from menu
- sound notification at the end of the break
- strict mode (can't finish break early)
- information about when will be the next break
- create keyboard shortcuts
- color-picker for themes
- some kind of silent mode (see #44)
- history/timeline of breaks
- localization support (l12n, gettetxt via Crowdin, Weblate or so)
Contributors
(by date of the first contribution)
- Jan Hovancik, @hovancik, hovancik.net
- Martina Mocinecova, (stretchly logo), color schemes
- Jason Barry, @JCBarry, jcbarry.com
- Alex Alekseyenko, @alexalekseyenko
- Sean Manton, @sxmanton
- Yuriy Gromchenko, @gromchen
Humans and Tools
- https://github.com/typefoo/node-icns
- https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
- http://web.stanford.edu/dept/EHS/prod/general/ergo/microbreaks.html
- https://www.spineuniverse.com/wellness/ergonomics/workstation-ergonomics-take-break
- http://www.lifehack.org/articles/productivity/21-counter-intuitive-break-ideas-to-boost-your-productivity-at-work.html
- http://www.latofonts.com/lato-free-fonts/
- http://www.huffingtonpost.com/2012/07/24/sitting-at-work-why-its-dangerous-alternatives_n_1695618.html
- http://www.unm.edu/~lkravitz/Article%20folder/sittingUNM.html
Sounds credits
Sounds used in this application are listed here.
crystal glass
by mlteenie, available under the Attribution License.wind chime
by GnoteSoundz, available under the Creative Commons 0 License.tic toc
by magundah14, available under the Creative Commons 0 License.silence
by parcodeisuoni, available under the Attribution License.
License
See LICENSE file.
Support on Beerpay
Hey dude! Help me out for a couple of ๐ป!