{"id":31628065,"url":"https://github.com/jirutka/swaylockd","last_synced_at":"2025-10-06T20:17:41.752Z","repository":{"id":65612812,"uuid":"404498452","full_name":"jirutka/swaylockd","owner":"jirutka","description":"A dumb launcher to spawn swaylock and ensure it runs no matter what","archived":false,"fork":false,"pushed_at":"2022-04-30T20:34:43.000Z","size":14,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-08T18:48:17.988Z","etag":null,"topics":["screenlocker","swaylock"],"latest_commit_sha":null,"homepage":"","language":"C","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/jirutka.png","metadata":{"files":{"readme":"README.adoc","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}},"created_at":"2021-09-08T21:19:02.000Z","updated_at":"2024-12-14T20:04:07.000Z","dependencies_parsed_at":"2023-01-31T18:55:14.248Z","dependency_job_id":null,"html_url":"https://github.com/jirutka/swaylockd","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jirutka/swaylockd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirutka%2Fswaylockd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirutka%2Fswaylockd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirutka%2Fswaylockd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirutka%2Fswaylockd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jirutka","download_url":"https://codeload.github.com/jirutka/swaylockd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirutka%2Fswaylockd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278672041,"owners_count":26025826,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","swaylock"],"created_at":"2025-10-06T20:17:37.268Z","updated_at":"2025-10-06T20:17:41.744Z","avatar_url":"https://github.com/jirutka.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"= swaylockd\n:proj-name: swaylockd\n:version: 0.1.0\n:gh-name: jirutka/{proj-name}\n:releases-uri: https://github.com/{gh-name}/releases/download/v{version}\n\nifdef::env-github[]\nimage:https://github.com/{gh-name}/workflows/CI/badge.svg[Binaries Workflow, link=https://github.com/{gh-name}/actions?query=workflow%3A%22CI%22]\nendif::env-github[]\n\n*swaylockd* is a dumb launcher to spawn https://github.com/swaywm/swaylock[swaylock] and ensure it’s running no matter what -- it immediately restarts swaylock if terminated by a signal (e.g. the process crashed) and also blocks all signals (except `SIGKILL` and `SIGSTOP`).\nIt also ensures that only one instance per user is running.\n\nswaylockd has been developed mainly as a workaround for the swaylock stability issues footnote:[Actually, it’s more a bad design. See article https://www.jwz.org/xscreensaver/toolkits.html[XScreenSaver:\nOn Toolkit Dialogs] written in 2004 by Jamie Zawinski.] (see e.g. https://github.com/swaywm/swaylock/issues/181[#181]).\n\nswaylock is a critical piece of security software -- as a screen locker, any bug in the program that causes it to crash will cause the screen to unlock.\nAs soon as swaylock is no longer running, the screen is no longer locked.\nTherefore, great care must be taken to ensure that the daemon never crash.\n\nRefer to link:{proj-name}.1.adoc[{proj-name}(1)] for more information.\n\n\n== Requirements\n\n.*Runtime*:\n* https://github.com/swaywm/swaylock[swaylock]\n\n.*Build*:\n* C compiler and linker supporting at least C99 (tested with clang and gcc)\n* https://www.gnu.org/software/make/[GNU Make]\n* http://asciidoctor.org/[Asciidoctor] (for building man pages)\n\n\n== Installation\n\n=== On Alpine Linux\n\nInstall package https://pkgs.alpinelinux.org/packages?name={proj-name}[{proj-name}] on Alpine Linux v3.15 or later:\n\n[source, sh, subs=\"+attributes\"]\napk add {proj-name}\n\n\n=== Using Pre-Built Binary\n\n{releases-uri}/{proj-name}-{version}-x86_64-unknown-linux.tar.gz[[x86_64]]\n{releases-uri}/{proj-name}-{version}-aarch64-unknown-linux.tar.gz[[aarch64]]\n{releases-uri}/{proj-name}-{version}-armv7-unknown-linux.tar.gz[[armv7]]\n{releases-uri}/{proj-name}-{version}-ppc64le-unknown-linux.tar.gz[[ppc64le]]\n{releases-uri}/{proj-name}-{version}-riscv64-unknown-linux.tar.gz[[riscv64]]\n\n. Download and extract release tarball for your CPU architecture (pick the right link from the list above):\n+\n[source, sh, subs=\"verbatim, attributes\"]\n----\nwget {releases-uri}/{proj-name}-{version}-x86_64-unknown-linux.tar.gz\ntar -xzf {proj-name}-{version}-*.tar.gz\n----\n\n. Install `{proj-name}` somewhere on your `PATH`, e.g. `/usr/local/bin`:\n+\n[source, sh, subs=\"verbatim, attributes\"]\ninstall -m 755 {proj-name}-{version}-*/{proj-name} /usr/local/bin/\n\nAll binaries are statically linked with http://www.musl-libc.org/[musl libc], so they work on every Linux system (distro) regardless of used libc.\n\n\n=== From Source Tarball\n\n[source, sh, subs=\"+attributes\"]\n----\nwget https://github.com/{gh-name}/archive/v{version}/{proj-name}-{version}.tar.gz\ntar -xzf {proj-name}-{version}.tar.gz\ncd {proj-name}-{version}\n\nmake build\nmake install DESTDIR=/ prefix=/usr/local\n----\n\n\n== License\n\nThis project is licensed under http://opensource.org/licenses/MIT/[MIT License].\nFor the full text of the license, see the link:LICENSE[LICENSE] file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjirutka%2Fswaylockd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjirutka%2Fswaylockd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjirutka%2Fswaylockd/lists"}