Swaylock with multi monitor support and AES-ECB image encryption
Inspired by i3lock-fancy-multimonitor and swaylock-fancy.
- For every connected monitor, a screenshot is taken using grim.
- The screenshot is then encrypted using python in AEC-ECB mode.
- The resulting encrypted image is pixelated using imagemagick and a lock icon is added.
- The image files are quite large (several megabytes), but this is the fastest way to process images.
- The temporary files are deleted after swaylock detaches.
- Unencrypted screenshots are stored in memory for a brief time, but never on the filesystem.
- Image files are stored in the temporary directory. On most modern Linux systems, this should be a ramdisk.
- Python3
- grim
- imagemagick
- clone
- place anywhere
- assign hotkey via sway config file
- full Python rewrite
- debug output (-d)
- no jq dependency anymore
- In memory image processing
- 30-40% faster
- Bash script