ProductPromotion
Logo

Rust

made by https://0x3d.site

GitHub - ShadoySV/work-break: Work-break balancer for Windows / MacOS / Linux desktops
Work-break balancer for Windows / MacOS / Linux desktops - ShadoySV/work-break
Visit Site

GitHub - ShadoySV/work-break: Work-break balancer for Windows / MacOS / Linux desktops

GitHub - ShadoySV/work-break: Work-break balancer for Windows / MacOS / Linux desktops

work-break

Introduction

This balancer can track your work time and suggest resting time. It uses this graph by default, where the horizontal axis is for work time, and the vertical axis is for resting time. It passes through the Pomodoro Technique (25/5) and the 52/17 rule. The formula can be adjusted (see the configuration section below).

The more you work, the more rest you need per work minute. Sometimes, you have to start working without waiting until you have rested suggested time. In this case, this balancer accumulates strain by subtracting the actual rest time from the needed rest time and converting the result into work time back. It adds up to the following work on the next break.

This balancer sends you notifications on the following events:

  • Work lasted for 25 minutes (can be changed)
  • It lasted for 52 minutes (can be changed)
  • It lasted for the daily work time limit if it is configured
  • Break ended

The notification contains the current phase, strain and today work time, needed break, its end if it starts.

How to install

Compatibility

Windows 8+ (may require MS Visual C++ 2015, tested on Windows 10/11)

MacOS 10+ (tested on MacOS 11.7)

Linux/BSD: should work with many distributions (tested on Arch Linux)

Download a binary

Download a suitable binary from releases page.

Arch Linux based distributions

The app can be installed using the PKGBUILD work-break, available on the AUR. This can be built and installed using an AUR helper or by hand in the usual way.

With Cargo

You will need the Rust programming language (v1.59.0+) and its cargo package manager installed on your system. See the official documentation here.

Run this command to install the app (make sure that the cargo bin directory is in $PATH):

cargo install work-break

Configure a shortcut key or create a desktop icon to switch between work and rest time:

work-break

Configure the following command to launch the balancer on startup to get notifications (optional, but recommended):

work-break autorun

Configure a shortcut key or create a desktop icon to notify about the current status (optional):

work-break notify

To print the current status in CLI, you can use this (MacOS / Linux):

work-break status

Configuration

After the first app launch, you can change the app's configuration by editing the following configuration file:

Windows
%APPDATA%\work-break\config\default-config.toml
MacOS
~/Library/Application\ Support/rs.work-break/default-config.toml
Linux
~/.config/work-break/default-config.toml

or you can delete the file to get the defaults:

Defaults
coefficient_a = 0.00147884224225867
coefficient_b = 1.67098454496329
coefficient_c = 0
coefficient_d = 0

daily_work_time_limit = 0
work_days_start_at = 0

phase1_ends_at = 25
phase1_name = "Pomodoro"
phase2_ends_at = 52
phase2_name = "Efficiency"
phase3_name = "Injury"

The coefficients are used for the formula: break = a * (work ^ (b + d * today_work)) + c. Variables work, today_work and break represent in seconds. Consider setting coefficient_d to 0.00001528 to see how today work time can increase resting time.

daily_work_time_limit represents in minutes, sends you notification when today work time reaches the limit, zero turns the notification off.

work_days_start_at defines an hour when work days start at and count resets (from 0 to 23).

phase1_ends_at and phase2_ends_at define current strain's thresholds to send you notifications.

phase1_name, phase2_name, and phase3_name define phases' names to print in notifications.

Restart your system or ask the app to apply the changed configuration:

work-break reload

Troubleshooting

Windows 11: App does not run and its notifications do not appear. "Do not disturb" mode is off.

Look at how to restore PowerShell notifications

Similar projects

Bartib is a simple time tracker for the command line. It saves a log of all tracked activities as a plaintext file and allows you to create flexible reports.

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory