{"id":13647338,"url":"https://github.com/unode/polypomo","last_synced_at":"2025-04-28T18:32:54.897Z","repository":{"id":37479413,"uuid":"186265514","full_name":"unode/polypomo","owner":"unode","description":"Pomodoro widget for use with polybar (or standalone if you are so inclined)","archived":false,"fork":false,"pushed_at":"2023-07-12T13:12:56.000Z","size":40,"stargazers_count":100,"open_issues_count":0,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-05T10:23:13.612Z","etag":null,"topics":["polybar","pomodoro"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS"}},"created_at":"2019-05-12T14:31:09.000Z","updated_at":"2025-02-13T17:44:40.000Z","dependencies_parsed_at":"2024-01-14T10:04:05.850Z","dependency_job_id":"5af3c1e3-b814-4eb8-8a6d-be007ff3015f","html_url":"https://github.com/unode/polypomo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unode%2Fpolypomo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unode%2Fpolypomo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unode%2Fpolypomo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unode%2Fpolypomo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unode","download_url":"https://codeload.github.com/unode/polypomo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251366141,"owners_count":21578080,"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":["polybar","pomodoro"],"created_at":"2024-08-02T01:03:30.009Z","updated_at":"2025-04-28T18:32:54.634Z","avatar_url":"https://github.com/unode.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# polypomo - a [polybar](https://polybar.github.io/) [pomodoro](https://en.wikipedia.org/wiki/Pomodoro_Technique) widget\n\n## Usage\n\nDownload or clone this repository, then in polybar add:\n\n```\n; In your bar configuration add\nmodules-right = \u003cother-modules\u003e polypomo \u003cother-modules\u003e\n\n; and add a polypomo module\n[module/polypomo]\ntype = custom/script\n\nexec = /path/to/polypomo\ntail = true\n\nlabel = %output%\nclick-left = /path/to/polypomo toggle\nclick-right = /path/to/polypomo end\nclick-middle = /path/to/polypomo lock\nscroll-up = /path/to/polypomo time +60\nscroll-down = /path/to/polypomo time -60\n\nfont-0 = fixed:pixelsize=10;1\nfont-1 = Noto Emoji:scale=15:antialias=false;0\n```\n\nIn order to prevent accidental changes to the timer, polypomo starts in `locked` mode.  \nMiddle click the widget or run `polypomo lock` to toggle locked state.  \nYou can then scroll-up/down to change time.\n\nIf you wish to permanently change the default times start polypomo with `--worktime seconds` and `--breaktime seconds`.\n\nif you want your work sessions to be logged, start polypomo with `--saveto` followed by the path to your database, polypomo will then create a table called `sessions` and store the date, start and stop time of each work session.\n\nThere isn't much else in terms of configuration but if the syntax above is confusing please refer to the [polybar configuration wiki page](https://github.com/polybar/polybar/wiki/Configuration).\n\n### Limitations\n\npolypomo is designed to work as a single widget in your polybar.  \nRunning multiple polypomo instances is not a supported configuration [but some workarounds are possible](https://github.com/unode/polypomo/issues/3#issuecomment-781288256).\n\n### Fonts\n\nIn order to display the icons as shown in the screenshots below,\nyou need to configure a font that includes the Unicode glyphs U+1F345 (🍅) and U+1F3D6 (🏖).\nThe example above uses the font [Noto Emoji](https://fonts.google.com/noto/specimen/Noto+Emoji) from the [Noto](https://www.google.com/get/noto/help/emoji/) family of fonts.\n\n### About pomodoro technique\n\nWhile polypomo implements the `active -\u003e break -\u003e active` pattern it doesn't enforce the longer break after a given number of active sprees.  \nThis is left at the discretion of the user.\n\n## Optional dependencies\n\npolypomo makes use of `notify-send` to send a notification when the timer reaches zero.\n\n## Screenshots\n\n![pomodoro timer](https://raw.githubusercontent.com/unode/polypomo/master/imgs/tomato-timer.png)  \n![break timer](https://raw.githubusercontent.com/unode/polypomo/master/imgs/break-timer.png)\n\n## License\n\npolypomo is licensed under the [MIT](https://github.com/unode/polypomo/blob/master/LICENSE) license\n\n## Troubleshooting\n\nIf you are finding that polypomo doesn't start or error messages are visible in polybar, try the following:\n\n1. Remove polypomo from polybar's configuration\n2. Ensure no polypomo process is active on your system\n3. Open two terminals/consoles and navigate to the polypomo repository\n4. On the first terminal run `./polypomo`. You should see some output appearing.\n5. On the second terminal issue one of the polypomo commands listed above. For instance `./polypomo toggle`. The output in terminal one should change accordingly.\n\nIf an error appears in either case, please submit a bug report with the full output and the steps to reproduce the problem.\n\nTo stop polypomo on the first terminal run `./polypomo exit` in the second terminal or simply hit `Ctrl + C` to abort the process.\n\n### Received exit request...\n\nIf this message appears repeatedly in polybar, you may be running multiple instances of polypomo simultaneously and they are forcing each other to exit.\nReconfigure polybar to run only one polypomo instance or see the [Limitations](#limitations) section above for possible workarounds.\n\nAlternatively, stop polybar and run the above troubleshooting steps.\nIf manually running polypomo with the two terminal setup works, review your polybar configuration to ensure only one instance of polypomo is launched.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funode%2Fpolypomo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funode%2Fpolypomo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funode%2Fpolypomo/lists"}