Topic: slock (and custom patches)
slock is a lockscreen function that allows a command upon activation. This is a unique parameter, which is slock and a command, compared to the .desktop file, which provides a command query. Limitation is that slock is a DE only application, while .desktop could be either console/DE application. There are the shell/bash script, but it works consistently with current session in DE and utilizes another session in console.
That said, I want to talk about the possibilities of slock in its default settings.
For instance, my time update lacks automation due to the authentication requirement for superuser commands. What I need is a program that that help login for syncing the clock. slock is the perfect example.
A autostarted .desktop file with command:
slock ntpd -s
And then logout of DE or reboot.
Once you once into DE, the autostarted .desktop file with initiate slock as lockscreen and ready ntpd -s. Once you login slock, you should also login ntpd -s.
However, if you do make a mistake, there is the chance that ntpd -s will drop out of terminal session.
The workaround is to logout of DE or reboot again for another attempt.
---
According to online research, the slock config file is only found in the source code package. I have to edit the config file in order to customize the slock setup. That means I have to compile the edited source afterwards. Thing is I am not sure if the change would be libre. Then there are these patches, modules that may help change the slock source code package. Not sure if they are libre. I would need a libre inspector to check out these packages. I am sure that there is a way to build one's own package, but I have yet test the compilation. Will get around to it later.
Here is the slock source code, along with its config file.
https://tools.suckless.org/slock/
Here are the unverified patches, includes hacking guide link and a set of patch subdirectories.
https://tools.suckless.org/slock/patches/
https://suckless.org/hacking/
I am interested in colors, image, message, time.
PAM too, but I am not sure if there is a libre PAM fork, considering the small application size.