Simple image glitcher suitable for producing nice looking i3lock backgrounds
$ git clone https://github.com/r00tman/corrupter
$ cd corrupter && go build
$ ./corrupter -h
$ ./corrupter shots/example.png out.png && xdg-open out.pngAlternatively, you can use go get -u github.com/r00tman/corrupter to install. Then, the binary will be at ~/go/bin/corrupter ($GOPATH/bin/corrupter if $GOPATH is set).
If you're using an Arch-based distro, you can use one of the two AUR packages!
- corrupter-git maintained by alrayyes, for an automated build, and
- corrupter-bin maintained by marcospb19, for the pre-built binary.
- swaylock-corrupter maintained by slithery0, for corrupter pre-build binary along with swaylock intregation.
At the moment, you can only pass and output .png images. But that's enough to work well with scrot and i3lock.
As corrupter only glitches the image for a cool background, you'd have to set up a lock script.
Example screenshot lock script:
#!/usr/bin/env bash
tmpbg="/tmp/screen.png"
scrot "$tmpbg"; corrupter "$tmpbg" "$tmpbg"
i3lock -i "$tmpbg"; rm "$tmpbg"The script above takes a screenshot with scrot, distorts it with corrupter, and then locks the screen using i3lock.
If you're using i3, you can create the script at ~/.lock, and then add a lock bindsym.
bindsym $mod+Control+l exec --no-startup-id bash ./.lock
Alternatively, you can pre-corrupt an image and always use it (which is faster):
$ ./corrupter shots/example.png ~/.wallpaper.pngand then, in your ~/.config/i3/config:
bindsym $mod+Control+l exec --no-startup-id i3lock -i ./.wallpaper.png
This method is slightly faster since the image processing has been done beforehand.
Default config is pretty heavy-handed. To get less disrupted images you may want to reduce blur and distortion:
$ ./corrupter -mag 1 -boffset 2 shots/example.png out.png && xdg-open out.pngImages using the default parameters: