<< back

Stretchly 1.12.0

break time reminder app

Category: Health & Fitness
Price: Free
Popularity: Low
Version String: 1.12.0
Release Date: 2022-09-24
Architecture: Intel
Minimum OS: macOS 10.11.0
Vendor Name: Jan Hovancik
Homepage: hovancik.net

Version History 1.12.0




break time reminder app

_stretchly_ is a cross-platform electron app that reminds you to take
breaks when working on your computer.

By default, it runs in your tray and displays a reminder window
containing an idea for a microbreak for 20 seconds every 10 minutes.

Every 30 minutes, it displays a window containing an idea for a longer 5
minute break.

User gets notified 30 seconds before break (and 10 seconds before
microbreak) to be able to prepare to pause the work.

When break/microbreak starts, you can postpone it once for 5 and 2
minutes respectively. After a specific time interval passes, you can
finish it early.

Both actions are available by clicking the link at the bottom of window
or by using Ctrl/Cmd + x keyboard shortcut (except finishing early in
strict mode).

You can pause/resume _stretchly_’s break reminders. On Windows and
macOS, you can set the app to start at login. Also, Do Not Disturb mode
is respected on those platforms.

You can also skip to the next break or microbreak anytime from the menu,
or reset (restart) breaks.

The tray tooltip shows information about how much time is left till the
next (micro)break, the number of microbreaks until the next break, or
the time remaining in pause till breaks resume.

Tray menu displays the time and type of next break as well.

Microbreaks and breaks can be customized: - you can set the duration and
interval of breaks - you can enable/disable breaks - you can
enable/disable strict mode (breaks can’t be finished early) - you can
enable/disable ability to postpone breaks

- you can choose from different color schemes
- you can pick a sound to be played at the end of the break

- you can set the break window to be fullscreen
- you can disable (micro)break ideas
- you can disable pre-(micro)break notifications
- you can disable notification sounds
- you can disable monitoring of system idle time for natural breaks
(when user leaves and after return idle time is greater then break
duration, _stretchly_ will reset breaks)
- you can disable monitoring of DND (Do Not Disturb) mode on MacOS and
Windows (breaks are not shown in DND mode)
- you can disable the display of breaks on all of your monitors
- you can change the default monochrome tray icon to a colorful
- you can change the interface language

All settings can be reset to defaults.

On firts run, stretchly will present you with Welcome window, where you
can set your locale and read Tutorial.

You can view Tutorial again anytime from About window.

Advanced settings

All settings are saved in a JSON file. To learn more about how to find
it, read this or use Ctrl/Cmd + d shortcut in About window. Related code
looks like this:

const dir = app.getPath('userData')
const settingsFile = `${dir}/config.json`

Editing break/microbreak ideas

In the config file, change useIdeasFromSettings: false, to
useIdeasFromSettings: true, and edit breakIdeas and microbreakIdeas.

Editing break/microbreak notification interval

In the config file, change breakNotificationInterval: 30000, to whatever
value you want. 30000 is 30 seconds. Same goes for microbreak.

Editing sunrise time to pause breaks until morning

In the config file you can set the morningHour setting to pause until
that hour this or next day Otherwise, you can set morningHour: 'sunrise'
and set posLatitude, posLongitude in settings to pause until the actual
sunrise in your area. E.g. if you live in Boston you would set:
morningHour: 'sunrise', posLatitude: 42.3, posLongitude: 71

Editing postpone functionality

In the config file, you can edit microbreakPostpone and breakPostpone to
enable or disable ability to postopne breaks, microbreakPostponeTime and
breakPostponeTime to change postopone time in milliseconds,
microbreakPostponesLimit and breakPostponesLimit to change number of
allowed postpones per break, and finally,
microbreakPostponableDurationPercent and breakPostponableDurationPercent
to change percentage of break in which user can postpone the break.

New version notification

In the config file, set notifyNewVersion: false, to disable new version


Latest installers for macOS, Windows, Linux and FreeBSD can be found

On macOS you can install _stretchly_ by running
brew update && brew cask install stretchly.

On Windows, you can install _stretchly_ for all users silently by
running this as administrator: installer.exe /S /allusers.

You can create an installer by running npm run pack or npm run dist
after npm install --no-save.

Running from source

To run app you will need nodejs. Clone the repo, run npm install and
then simply run npm start to start _stretchly_.

It should run on any electron supported platform. Tested on macOS,
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_. For Natural breaks, you might need some packages too


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 so that the changes will be


One can use Ctrl/Cmd + d shortcut in About window to show debug
information: - location of settings file - debug information for break

Known issues

- users who upgraded to Windows 10 from previous versions might be in
“Do not disturb mode” all the time so they need to go to the 3th
settings page and uncheck “monitor Do Not Disturb mode”
- tray tooltip does not work correctly on macOS
- fullscreen does not work on Linux (electron/electron#11632)
- fullscreen is not shown on all displays on Windows
- power monitoring not working properly (electron/electron#8560)
- tray icon is not rendered correctly on Linux

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 and #327)
- ☐ history/timeline of breaks
- ☒ localization support (l12n, gettetxt via Crowdin, Weblate or so)


_(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
- Mael, @laem
- Marian Dolinský, @bramborman
- midpoint, @midpoint
- stothew, @stothew
- Zhivko Kabaivanov, @unholyHub
- sergiopjf, @sergiopjf
- William Chang, @wilicw
- Purva, @purva98
- Riddhi, @riddhi99
- Fahim Dalvi, @fdalvi, fdalvi.github.io
- Nic Desjardins, @nicdesjardins
- Vladislav Kuznecov, @fizvlad
- Oleg V., @neooleg
- Manuel Jesús Aguilera Castro, @manueljaguilera
- Ciprian Rusen, www.digitalcitizen.life
- Carlo Gandolfi, @cgand
- Kavya Jain, @kavya-jain
- Denys Otrishko, @lundibundi
- p-bo, @p-bo
- Alina Leuca, @alinaleuca
- Sabine van der Eijk, @Sabin_E
- JavaScript Joe, (https://github.com/jsjoeio)
- Ismail Demirbilek, (https://github.com/dbtek)
- Giacomo Rossetto, (https://github.com/jackymancs4)
- Hum4n01d, (https://github.com/hum4n01d)
- Ary Borenszweig, (https://github.com/asterite)
- Jonatan Nyberg, @jony0008
- Gowee (https://github.com/Gowee)
- William Lin, (https://github.com/FanciestW)
- Hisman Yosika, (https://github.com/dnjstlr555)
- Mehmet Fatih Yıldız, (https://github.com/mfyz)
- Sunny Dhoke, (https://github.com/sunn-e)

Humans and Tools

- https://www.icoconverter.com/ to generate .ico
- http://www.img2icnsapp.com/ to create .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
- https://www.ninds.nih.gov/News-Events/News-and-Press-Releases/Press-Releases/Want-learn-new-skill-Take-some-short-breaks
- https://www.painscience.com/articles/chair-trouble.php
- https://www.painscience.com/articles/microbreaking.php
- https://github.com/CognirelTech/Quillpad-Server #### 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
- tic toc by magundah14, available under the Creative Commons 0
- silence by parcodeisuoni, available under the Attribution License.

Fonts credits

This app uses Lato fonts under the OFL license. See OFL.txt file.


See LICENSE file.