Metalock is an enhanced screen locker for the X11 windowing system.
It is best described as similar to the program slock, (and in fact, it is based on it) except that it has background image support, and several other features.
It is designed to be used with a background screen daemon, such as xidle.
It is written in C, and is distributed under the terms of the MIT License.
RationaleWhy write another screen locker, when xscreensaver already exists? I don't like the lock dialog in that program! (I don't like flat colors/like images, and there were some missing features in that program) Additionally, it is a very large program with complex code.
I have been frustrated with the visual limitations of the xscreensaver lock dialog for over a decade, in fact. I simply decided one weekend in early 2012 to address the problem, and it turned out to be trivial to write a similar program starting from the very simple and didactic code of slock. Such is the world of open source / free software, where many issues are resolved immediately, but there is always something that never gets fixed, no matter how many users dislike the status quo.
The author of xscreensaver presents a compelling argument which emphasizes his priority of security/reliability over toolkit support. I agree with the vast majority of what he says, except that I disagree on the importance of the lock dialog appearance. Since it is something that I see fairly often, I would like to have a lock dialog that is visually pleasing.
I believe that with a little work, metalock can be brought to that standard of reliability without being hideously ugly. Metalock is a very small program, and is unlikely to get particularly large in the near future.
Current features include:
- Support for pixmap (image) xpm background and login box.
- It gives visual feedback as you type the password (Shows username and * for each character of password typed.)
- Bind arbitrary commands to key combinations (allows tasks such as pause/un-pause music without unlocking the screen)
- Optional XFT support for anti-aliased fonts. (This is optional in case greater security is desired)
- Optional Imlib2 support for use of png or jpg formats, which are more appropriate for photos or high-color images than xpm.
In the future, there will also be an accompanying daemon called metaidle, (similar to xidle, except with more features) to match some of the features available in xscreensaver which metalock does not address. (such as support for the heartbeat command, DPMS support, and other features)