{"id":19704149,"url":"https://github.com/eylles/betterxsecurelock","last_synced_at":"2025-04-29T14:31:12.169Z","repository":{"id":180227185,"uuid":"663736674","full_name":"eylles/betterxsecurelock","owner":"eylles","description":"xsecurelock looking better than ever and easy to integrate in any setup, includes a dbus proxy","archived":false,"fork":false,"pushed_at":"2025-03-30T23:02:23.000Z","size":6993,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T00:18:12.043Z","etag":null,"topics":["linux","lock","lockscreen","ricing","screenlocker","screensaver","sessionlock","x11","xsecurelock"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eylles.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}},"created_at":"2023-07-08T01:40:40.000Z","updated_at":"2025-03-30T23:02:25.000Z","dependencies_parsed_at":"2024-06-22T23:59:06.586Z","dependency_job_id":"5d32d42e-37ce-4788-9d1f-0cff7b83ce21","html_url":"https://github.com/eylles/betterxsecurelock","commit_stats":null,"previous_names":["eylles/betterxsecurelock"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eylles%2Fbetterxsecurelock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eylles%2Fbetterxsecurelock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eylles%2Fbetterxsecurelock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eylles%2Fbetterxsecurelock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eylles","download_url":"https://codeload.github.com/eylles/betterxsecurelock/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251518957,"owners_count":21602238,"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":["linux","lock","lockscreen","ricing","screenlocker","screensaver","sessionlock","x11","xsecurelock"],"created_at":"2024-11-11T21:20:29.582Z","updated_at":"2025-04-29T14:31:07.160Z","avatar_url":"https://github.com/eylles.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BetterXsecurelock\n\na wrapper to xsecurelock\n\n![screenshot 1](/screenshots/Screenshot01.png)\n![screenshot 2](/screenshots/Screenshot02.png)\n![screenshot 3](/screenshots/Screenshot03.png)\n![screenshot 4](/screenshots/Screenshot04.png)\n![screenshot 5](/screenshots/Screenshot05.png)\n![screenshot 6](/screenshots/Screenshot06.png)\n![screenshot 7](/screenshots/Screenshot07.png)\n![screenshot 8](/screenshots/Screenshot08.png)\n\n\nthis provides wrapping for xss-lock, xsecurelock and multiple programs to use\nas screensavers, mpv, nsxiv, xterm with terminal screensavers, integration with\npywal, a status bar inside the screensaver that only shows when the auth dialog\nis on screen and shows day, time and battery, a proxy for dbus so that programs\ncan use the org.freedesktop.ScreenSaver dbus interface to request to lock,\nunlock and inhibit the screensaver.\n\nmore features are to come but for now this is very alpha software that has been\nwrangled to work on my setup.\n\n## how do i use this\n\nyou don't, at least for now as this hasn't even had a v0.0.0 release, but if\nyou insist be warned you'll have to use this almost like suckless software,\nie: modifying the source code directly.\n\nfirst and foremost satisfy the dependencies, you need to have the following\nsoftware installed:\n\n|software|use|\n|--|--|\n|xsecurelock:| the program doing the hard work.|\n|xss-lock:| for launching xsecurelock and listening to screen and suspend events|\n|nsxiv:| for displaying images.|\n|mpv:| for video|\n|xterm:|statusbar and terminal screensavers|\n|xdotool:|statusbar|\n|unimatrix:|matrix screensaver (optional)|\n|cmatrix:|matrix screensaver|\n|[pipes.sh](https://github.com/pipeseroni/pipes.sh):|pipes screensaver (optional)|\n|[sssnake](https://github.com//AngelJumbo/sssnake):|snake screensaver (optional)|\n|[fire](https://github.com/kiedtl/fire):|for the fire screensaver (optional)|\n|btop:|for the btop screensaver|\n|pywal16:|for the theme|\n|xdg-screensaver:|very necessary|\n|brightnessctl:|to dim the screen before lock and during screensaver|\n|psmisc:|for pstree|\n|procps:|for pgrep|\n|noto sans cjk jp:|font for the auth dialog|\n|python dbus| dbus-screenlock-freedesktop.py |\n|python xlib| dbus-screenlock-freedesktop.py |\n\nOnce you have everyithing you need copy all the scripts to your path, for\nxdg-screensaver just use the bundled one, you need to have a pywal colorscheme\nas those colors will be used for the auth dialog and statusbar, i will\neventually add proper themes support but for now do this. Then you have to\nedit saver.sh, edit `saver_list_1` to `saver_list_5` to set which screensavers\nwill show randomly, then you need to edit the following variables:\n\n|var|default|\n|--|--|\n|term_font| \"BlexMono Nerd Font Mono\" |\n|wallpaper| \"${HOME}/.local/share/bg\" |\n|live_walls| \"${HOME}/Videos/live-walls\" |\n|wall_dir|\"${HOME}/Pictures/wallpapers\"|\n\nnow you just have to run lockerd for the screen locker daemon and\ndbus-screenlock-freedesktop.py if you want to allow programs that only speak dbus\nto inhibit the screensaver. add them to either your autostart programs or run them\nsomewehre in your xinitrc or xsessionrc.\n\nIf all goes well you should have a xsecurelock similar to the one on my screenshots.\n\n\nTODO:\n- [ ] wrap and use the screensaver modules provided by xsecurelock\n- [ ] add a generic xterm screensaver module to run the terminal based savers\n- [ ] define a proper theme format and parse the config for it\n- [ ] add the ability to configure auth and savers options (fonts, timeout, etc)\n- [ ] make the dbus-screenlock-freedesktop search window that inhibits the\n      screensaver by caller name and pid instead of just using whatever is\n      focused at the time\n- [ ] make lockerd set the x_screen_saver_extension and dpms times from config\n      when the screensaver isn't being inhibited\n- [ ] eliminate usage of pgrep\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feylles%2Fbetterxsecurelock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feylles%2Fbetterxsecurelock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feylles%2Fbetterxsecurelock/lists"}