rebelok / stretchly

break time reminder app

Home Page:https://hovancik.net/stretchly

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

stretchly Build StatusBuild statusJavaScript Style Guide bitHound Overall Score bitHound Dependencies bitHound Dev Dependencies bitHound Codecodecov

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 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.

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 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.

Install Github All Releases

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.

TODOs and Ideas

  • tests
  • PR tools
  • make installers/executables
  • create about page
  • only one instance
  • notification on 2nd instance
  • create longer breaks (5min every 30 minutes)
  • create settings for breaks
  • remember settings after restart
  • autostart app
  • start break anytime from menu
  • create keyboard shortcuts
  • color-picker for themes
  • sound notification at the end of the break
  • information about when will be the next break
  • strict mode (can't finish break early)

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

Humans and Tools

Sounds credits

Sounds used in this application are listed here.

License

See LICENSE file.

Support on Beerpay

Hey dude! Help me out for a couple of 🍻!

Beerpay Beerpay

About

break time reminder app

https://hovancik.net/stretchly

License:BSD 2-Clause "Simplified" License


Languages

Language:JavaScript 82.4%Language:HTML 14.2%Language:CSS 3.4%