{"id":13741059,"url":"https://github.com/ifreund/waylock","last_synced_at":"2025-04-13T18:37:46.100Z","repository":{"id":40348006,"uuid":"227490271","full_name":"ifreund/waylock","owner":"ifreund","description":"[mirror] A small, secure Wayland screenlocker","archived":false,"fork":false,"pushed_at":"2025-03-07T10:26:32.000Z","size":339,"stargazers_count":421,"open_issues_count":1,"forks_count":19,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-06T16:06:45.371Z","etag":null,"topics":["screenlocker","wayland","wayland-client","zig"],"latest_commit_sha":null,"homepage":"https://isaacfreund.com/software/waylock","language":"Zig","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ifreund.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":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"ifreund","liberapay":"ifreund"}},"created_at":"2019-12-12T00:58:16.000Z","updated_at":"2025-03-29T09:18:30.000Z","dependencies_parsed_at":"2023-02-10T14:46:35.493Z","dependency_job_id":"af0d0ecd-a77a-49ca-9283-914db024d993","html_url":"https://github.com/ifreund/waylock","commit_stats":{"total_commits":211,"total_committers":12,"mean_commits":"17.583333333333332","dds":0.5023696682464456,"last_synced_commit":"2444adb1774f2c311b742dd9a549e99ca78247a2"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifreund%2Fwaylock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifreund%2Fwaylock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifreund%2Fwaylock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifreund%2Fwaylock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ifreund","download_url":"https://codeload.github.com/ifreund/waylock/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248762380,"owners_count":21157729,"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":["screenlocker","wayland","wayland-client","zig"],"created_at":"2024-08-03T04:00:55.019Z","updated_at":"2025-04-13T18:37:46.076Z","avatar_url":"https://github.com/ifreund.png","language":"Zig","readme":"# waylock\n\nWaylock is a small screenlocker for Wayland compositors implementing\n`ext-session-lock-v1`. The `ext-session-lock-v1` protocol is significantly\nmore robust than previous client-side Wayland screen locking approaches.\nImportantly, the screenlocker crashing does not cause the session to be\nunlocked.\n\nInstall from your [package manager](https://repology.org/project/waylock/versions)\n\nThe main repository is on [codeberg](https://codeberg.org/ifreund/waylock),\nwhich is where the issue tracker may be found and where contributions are accepted.\n\nRead-only mirrors exist on [sourcehut](https://git.sr.ht/~ifreund/waylock)\nand [github](https://github.com/ifreund/waylock).\n\n## Building\n\nNote: If you are packaging waylock for distribution, see [PACKAGING.md](PACKAGING.md).\n\nTo compile waylock first ensure that you have the following dependencies\ninstalled:\n\n- [zig](https://ziglang.org/download/) 0.14\n- wayland\n- wayland-protocols\n- xkbcommon\n- pam\n- pkg-config\n- scdoc (optional, but required for man page generation)\n\nThen run, for example:\n\n```\nzig build -Doptimize=ReleaseSafe --prefix /usr install\n```\n\nNote that PAM will only use configuration files in the system directory,\nlikely `/etc/pam.d` by default. Therefore care must be taken if\ninstalling to a prefix other than `/usr` to ensure the configuration file\n[pam.d/waylock](pam.d/waylock) is found by PAM.\n\n## Usage\n\nSee the `waylock(1)` man page or the output of `waylock -h` for an overview\nof the command line options.\n\nRun the waylock executable to lock the session. All monitors will be blanked\nwith the `-init-color`. Typing causes the color to change to the\n`-input-color`. `Esc` or `Ctrl-U` clears all current input, while `backspace`\ndeletes the last UTF-8 codepoint.\n\nTo unlock the session, type your password and press `Enter`. If the password\nis correct, waylock will unlock the session and exit. Otherwise, the color\nwill change to the `-fail-color` and you may try again.\n\nIn order to automatically run waylock after a certain amount of time with no\ninput or before sleep, the [swayidle](https://github.com/swaywm/swayidle)\nutility or a similar program may be used. See the `swayidle(1)` man page\nfor details.\n\n## Licensing\n\nWaylock is released under the ISC License.\n","funding_links":["https://github.com/sponsors/ifreund","https://liberapay.com/ifreund"],"categories":["Screen Locking","Applications"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifreund%2Fwaylock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fifreund%2Fwaylock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifreund%2Fwaylock/lists"}