{"id":16148884,"url":"https://github.com/attron/swaddle","last_synced_at":"2025-03-18T18:33:00.945Z","repository":{"id":207320272,"uuid":"718962734","full_name":"ATTron/swaddle","owner":"ATTron","description":"Swayidle inhibitor when watching content or listening to audio","archived":false,"fork":false,"pushed_at":"2024-10-26T21:53:59.000Z","size":19,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-27T14:22:23.055Z","etag":null,"topics":["hyprland","inhibitors","sway","swayidle","swaylock"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/ATTron.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":"2023-11-15T06:36:20.000Z","updated_at":"2024-10-25T00:54:05.000Z","dependencies_parsed_at":"2023-11-21T08:23:58.735Z","dependency_job_id":"25e1ecb1-1b8f-42ae-85ff-e448a7ebaa0e","html_url":"https://github.com/ATTron/swaddle","commit_stats":null,"previous_names":["attron/swaddle"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATTron%2Fswaddle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATTron%2Fswaddle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATTron%2Fswaddle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATTron%2Fswaddle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ATTron","download_url":"https://codeload.github.com/ATTron/swaddle/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221715902,"owners_count":16868641,"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":["hyprland","inhibitors","sway","swayidle","swaylock"],"created_at":"2024-10-10T00:35:11.177Z","updated_at":"2025-03-18T18:33:00.939Z","avatar_url":"https://github.com/ATTron.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Swaddle\n\nSwayidle inhibitor that automatically detects audio / video and will prevent your system from sleeping. No manual intervention needed!\n\n## Overview\n\nThe main function of this project is to keep any sway based WM from going into an idle state when consuming media. Swaddle will monitor the dbus running daemon and based on values it sees in `Playback Status` will correctly cause idling or inhibition.\n\n## Dependencies\n\n* `dirs`: Config setup\n* `config`: Config building\n* `dbus`: Interfacing with the D-Bus.\n* `env_logger`: Better log handling\n* `toml`: For creating config file\n* `serde`: To serialize toml\n\n## Installation\n\nSwaddle can be installed from the AUR:\n\n```bash\nparu -S swaddle\n```\n\n### Building from source\n\n* Clone the repo and execute\n\n   ```bash\n   just build_release\n   ```\n\n* You can move the binary into your `$PATH` or run directly\n\n#### Debugging\n\nTo get some debugging logging from swaddle you can set the log level to debug and execute\n\n```bash\njust run_debug\n```\n\n## Post-Install\n\n To integrate swaddle with Sway/Hyprland, add the following line to your Sway/Hypr configuration:\n\n* Sway:\n\n```conf\n# Swaddle configuration\nexec_always --no-startup-id /usr/local/bin/swaddle \u0026\n```\n\n* Hyprland:\n\n```conf\n# Swaddle configuration\nexec = /usr/local/bin/swaddle \u0026\n```\n\n Then reload your configuration or restart Sway/Hyprland.\n\n### Configuration File (Optional)\n\nThe first time swaddle is run it will create a config file\n under `$HOME/.config/swaddle/config.toml`.\n\nYou can also create / overwrite the config with the following options  \n\n| Name | Value | Explaination | Default |\n| ---- | ----- | ------------ | ------- |\n|debug|boolean|should swaddle be run in debug mode|\u003cspan style=\"color:grey\"\u003etrue\u003c/span\u003e|\n|server|table|includes the options to tweak how swaddle operates||\n|server.inhibit_duration|integer|number of seconds to inhibit per cycle|\u003cspan style=\"color:grey\"\u003e25\u003c/span\u003e|\n|server.sleep_duration|integer|number of seconds to wait between cycles|\u003cspan style=\"color:grey\"\u003e5\u003c/span\u003e|\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fattron%2Fswaddle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fattron%2Fswaddle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fattron%2Fswaddle/lists"}