sxmo-utils: port slock and use to lock screen

Currently, anyone can unlock the phone. For added security, we should port slock (http://tools.suckless.org/slock/) and receive passwords from the onscreen keyboard.

Assigned to
1 year, 1 month ago
2 months ago

~mil 1 year, 1 month ago

Would be nice for sure to have a keyboard entry-style unlock / pin-code lockscreen. Originally I wanted to use slock, however would need to figure out a way to pop open svkbd and pass through input touchscreen input while slock is binding. So it's a bit tricky.

~kgp445 8 months ago

It would be nice to have a full keyboard or even arbitrary programs on top of the lock screen, but that can be a future goal, and given the age of this ticket I'm guessing it's a very tough one. In the meantime we could always build a numeric keypad right into the locking overlay, like Phosh does. Far from optimal, but certainly better than relying on the obscurity of the keybinds.

~anjan 8 months ago

~kgp445 that was my idea for how to solve this issue and would accept a patch implementing it into sxmo.

As for numeric keypad, I want to allow users to passwords with letters and symbols in it so I would prefer if we had svkbd embedded into slock.

~kgp445 8 months ago

I would like to help but the relevant X mechanics are beyond me. I agree, a real keyboard would be better, but my concern is that it could still be some months out. I think an unoptimal solution is better than nothing, even if we tear it out later. A stop-gap measure, if you will.

~iv 8 months ago*

I have a solution which is, essentially, svkbd-mobile-plain and a (coarse) slock in one ".c" . It is currently not tied into sxmo_lockscreen, so I'm not sure where to put it... (?) I still have to think what the best thing to do with it visually, so at the moment it is just a terminal window and a keyboard. If anyone has a use for it, see https://codeberg.org/iv/pinephone_sxmo_sxmo_lock. The makefile will install sxmo_lockscreen in usr/local. The functionality remains that of the old sxmo_lockscreen. Additionally you call it with --require-password or with the environment variable SXMO_LOCK_PASSWORD set to 1, in this case you will be greeted by a red keyboard when you try to unlock. Use at your own risk, still at bit rough around the edges. Technical info: the pointer/touch input is grabed by the on-screen keyboard and the "slock" grabs the keyboard input.

~iv referenced this from #240 3 months ago

~anjan 3 months ago

~iv, that codeberg link gives me a 404. The way you described it makes this sound very exciting!

~iv 3 months ago

Somehow the out url genertor included the '.' at the end, the link is: https://codeberg.org/iv/pinephone_sxmo_sxmo_lock

~anjan 3 months ago

Hi ~iv, we want to use your code but please add a license to your project. craftyguy has packaged it for alpine.

~anjan 2 months ago

~iv I managed to compile your code, it works well!


  1. block out the desktop with a black screen so that only the keyboard is visible.
  2. use the default sxmo keyboard rather than the red keyboard that shows up
  3. document the --require-password flag in -h

~anjan referenced this from #163 2 months ago

Register here or Log in to comment, or comment via email.