All Projects β†’ fgrosse β†’ go-home

fgrosse / go-home

Licence: BSD-3-Clause license
An OpenGL based progress bar that lets you know when you should really go home after a long day πŸ•™

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to go-home

autoscreen
Automated screen capture utility
Stars: ✭ 76 (+442.86%)
Mutual labels:  productivity
pmy
πŸš€ General purpose context-aware zsh completion engine powered by fuzzy finder.
Stars: ✭ 119 (+750%)
Mutual labels:  productivity
run
πŸ‘Ÿ run npm scripts interactively
Stars: ✭ 13 (-7.14%)
Mutual labels:  productivity
timebox
A timer script for Windows/Linux/Unix/macOS to practice timeboxing (the time management technique)
Stars: ✭ 42 (+200%)
Mutual labels:  productivity
xplr
A hackable, minimal, fast TUI file explorer
Stars: ✭ 2,271 (+16121.43%)
Mutual labels:  productivity
tabToWindow
Chrome extension to move the current tab to a new window using the command API
Stars: ✭ 91 (+550%)
Mutual labels:  productivity
mindful-android-launcher
Siempo Android Launcher - Smartphone interface for mental health and wellbeing
Stars: ✭ 38 (+171.43%)
Mutual labels:  productivity
meeting-price-calculator
Meeting Price Calculator - How expensive are meetings, really?
Stars: ✭ 17 (+21.43%)
Mutual labels:  productivity
pod
Productivity application for audio professionals 🌱
Stars: ✭ 19 (+35.71%)
Mutual labels:  productivity
ansible-vault-editor-idea-plugin
Ansible Vault Editor IntelliJ Plugin with auto encryption/decryption
Stars: ✭ 29 (+107.14%)
Mutual labels:  productivity
UnitySettings
Runtime debugging menu (like setting on Android) for Unity.
Stars: ✭ 26 (+85.71%)
Mutual labels:  productivity
lunatask
All-in-one encrypted to-do list, notebook, habit and mood tracker, pomodoro timer, and journaling app
Stars: ✭ 35 (+150%)
Mutual labels:  productivity
prodest
Stata and R functions for production function estimation
Stars: ✭ 24 (+71.43%)
Mutual labels:  productivity
meta-git
git plugin for meta
Stars: ✭ 22 (+57.14%)
Mutual labels:  productivity
project-management
A basic CLI for regularly updating your project's status
Stars: ✭ 90 (+542.86%)
Mutual labels:  productivity
screenREC
A really simple , ad-free & minimal web based screen recorder πŸ“Ή
Stars: ✭ 67 (+378.57%)
Mutual labels:  productivity
indices
Indices creates a Table of Contents sidebar for Medium articles, and enables you to skip around
Stars: ✭ 16 (+14.29%)
Mutual labels:  productivity
tabtools
πŸ”§ SQL for csv file in UNIX command line with awk.
Stars: ✭ 16 (+14.29%)
Mutual labels:  productivity
swdc-vim
Track your programming activity in real-time in Vim
Stars: ✭ 19 (+35.71%)
Mutual labels:  productivity
TabTrum
TabTrum is a Browser Extension (Currently available for Chrome) to take a snapshot of the open tabs, and open them all again in one single click when you come back and re-open your browser.
Stars: ✭ 24 (+71.43%)
Mutual labels:  productivity

Time to Go Home πŸ•™


Go Home is a small OpenGL based progress bar widget for your Desktop that displays for how long you have been working each day. This is helpful for people who tend to loose track of time and thus do overhours when they actually wanted to leave home. I made this to learn a bit about simple OpenGL programming using the Go programming language.

Installation

Precompiled binaries

You can find precompiled binaries at the releases page of the GitHub repository.

From Source

Go Home is packaged using Go modules. Since this is not a library but a runnable application within a main package you need to clone this repository first. Typically this should be done outside of the $GOPATH or Go will complain due Modules being enabled.

After you cloned the repo you should make sure to install the external dependencies (i.e. OpenGL bindings) as explained at the GLFW repository. There is a Makefile to install the requires libraries on RedHead/Fedora.

Afterwards you simply use go build or go install and Go will fetch the correct Go dependencies for you:

$ git clone https://github.com/fgrosse/go-home.git
Cloning into 'go-home'...
remote: Enumerating objects: 122, done.
remote: Counting objects: 100% (122/122), done.
remote: Compressing objects: 100% (69/69), done.
remote: Total 122 (delta 62), reused 109 (delta 49), pack-reused 0
Receiving objects: 100% (122/122), 71.62 KiB | 601.00 KiB/s, done.
Resolving deltas: 100% (62/62), done.

$ cd go-home               
$ make setup
…

$ go install && go-home --debug
2019-06-16 13:16	DEBUG	go-home/config.go:50	Running in debug mode
2019-06-16 13:16	INFO	go-home/config.go:54	Loading configuration	{"path": "/home/fgrosse/.go-home.yml"}
2019-06-16 13:16	INFO	go-home/app.go:56	Starting application	{"config": {"check_in": "2019-06-16 12:18", "work_duration": "8h0m0s", "lunch_duration": "1h0m0s", "day_end": "20:00"}}

Usage

You can start the program without any arguments which will create an undecorated window that displays when you started the program the first time today and when its time to go home. The default configuration assumes you are working 8 hours a day and do 1 hour of lunch break.

As time goes by the progress bar will slowly fill up from green to red. If you are working overtime it will start to pulse red to catch your attention. At this point you should leave home and enjoy your free time with your family and friends ☺️.

Configuration

Go Home reads configuration from $HOME/.go-home.yml. If this file does not exist on the first start it will be created using sensible default values. The available options in there should be pretty self explanatory.

Built With

Contributing

Please read CONTRIBUTING.md for details on the code of conduct and on the process for submitting pull requests to this repository.

Versioning

This software uses SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Friedrich Große - Initial work - fgrosse

See also the list of contributors who participated in this project.

License

This project is licensed under the BSD-3-Clause License - see the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].