{"id":24772519,"url":"https://github.com/chrisvilches/i3blocks-timebox","last_synced_at":"2025-03-23T20:45:01.670Z","repository":{"id":273880552,"uuid":"921176134","full_name":"ChrisVilches/i3blocks-timebox","owner":"ChrisVilches","description":"Timeboxing Timer for i3blocks.","archived":false,"fork":false,"pushed_at":"2025-03-07T14:10:14.000Z","size":49,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T20:44:55.882Z","etag":null,"topics":["cpp","i3","i3blocks","makefile","pomodoro","pomodoro-timer","window-manager"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChrisVilches.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-23T13:38:12.000Z","updated_at":"2025-03-07T14:10:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"e12946eb-5a95-4648-aaab-ac8092bf099a","html_url":"https://github.com/ChrisVilches/i3blocks-timebox","commit_stats":null,"previous_names":["chrisvilches/i3blocks-timebox"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisVilches%2Fi3blocks-timebox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisVilches%2Fi3blocks-timebox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisVilches%2Fi3blocks-timebox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisVilches%2Fi3blocks-timebox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChrisVilches","download_url":"https://codeload.github.com/ChrisVilches/i3blocks-timebox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245168814,"owners_count":20571799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","i3","i3blocks","makefile","pomodoro","pomodoro-timer","window-manager"],"created_at":"2025-01-29T04:23:13.050Z","updated_at":"2025-03-23T20:45:01.661Z","avatar_url":"https://github.com/ChrisVilches.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Timebox (i3blocks)\n\nA Timeboxing Timer for i3blocks.\n\nTimeboxing is a time management technique that involves setting a time limit for working on a task. This helps improve focus, prevent procrastination, and reduce stress.\n\nThe Pomodoro Technique is a popular variant of timeboxing. It involves working in 25-minute intervals (called \"pomodoros\") with short breaks in between. After four pomodoros, a longer break is taken.\n\n## Features\n\n- **Mouse Interaction Support**: Adjust the timer interactively using mouse clicks and scroll wheel movements in the i3 status bar.\n- **Notification Integration**: Compatible with any notification system installed on your machine, such as `notify-send`.\n\n## Installation\n\n### Compilation\n\nEnsure you have `g++` and `make` installed. To compile, run:\n\n```sh\nmake\n```\n\nThis will generate the `timebox` executable.\n\n## Usage\n\n### Running the Timer\n\nTo start the timer manually and display a notification when time is up:\n\n```sh\n./timebox notify-send \"Time's up\" \"Some message here\"\n```\n\nThis starts the timer in an inactive state. You can increase the time interactively using the mouse in the i3 status bar. In a terminal, you can simulate mouse button inputs by entering numbers 1 to 5, which the program reads from stdin.\n\n### i3blocks Integration\n\nTo integrate Timebox with i3blocks, add the following to your i3blocks configuration file:\n\n```\n[timebox]\ncommand=/path/to/timebox notify-send \"Time's up\" \"Some message here\"\ninterval=persist\n```\n\nMake sure to replace `/path/to/timebox` with the actual path to the compiled `timebox` binary.\n\n### Alternative Notifications\n\nYou can use `i3-nagbar` instead of `notify-send`:\n\n```sh\n./timebox i3-nagbar -m \"Time's up\"\n```\n\n### Custom Scripts\n\nYou can execute a custom script when the timer ends. For example, if you want to send a notification and play a sound:\n\n```sh\n./timebox /path/to/your/script.sh\n```\n\nEnsure your script handles necessary actions, such as triggering notifications and playing sounds.\n\n## Support\n\nFor any issues or feature requests, please open an issue in the repository.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisvilches%2Fi3blocks-timebox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisvilches%2Fi3blocks-timebox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisvilches%2Fi3blocks-timebox/lists"}