49 lines
1.3 KiB
Python
Executable File
49 lines
1.3 KiB
Python
Executable File
#!/usr/bin/python2
|
|
import gtk.gdk
|
|
import os, sys
|
|
from PIL import ImageFilter
|
|
from PIL import Image
|
|
|
|
# Get screen and its size
|
|
w = gtk.gdk.get_default_root_window()
|
|
sz = w.get_size()
|
|
|
|
print "[DEBUG]: The size of the window is %d x %d" % sz
|
|
|
|
# Get a drawable with the size of the desktop
|
|
scr = gtk.gdk.Pixbuf( gtk.gdk.COLORSPACE_RGB,
|
|
False,
|
|
8,
|
|
sz[0],
|
|
sz[1])
|
|
|
|
# Fill it with the screenshot
|
|
scr = scr.get_from_drawable(w,
|
|
w.get_colormap(),
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
sz[0],
|
|
sz[1])
|
|
|
|
# Save the screenshot as png
|
|
if(scr != None):
|
|
scr.save("/tmp/i3screen.png","png")
|
|
print "[DEBUG]: Screenshot saved to /tmp/i3screen.png."
|
|
else:
|
|
print "[DEBUG]: Unable to get the screenshot."
|
|
|
|
# Load the screenshot as image and blur it
|
|
iml = Image.open("/tmp/i3screen.png")
|
|
iml = iml.filter(ImageFilter.BLUR)
|
|
|
|
# Save the blured screenshot and call i3lock
|
|
if(iml != None):
|
|
iml.save("/tmp/i3screenblr.png", "png")
|
|
os.system("i3lock -i /tmp/i3screenblr.png")
|
|
print "[DEBUG]: Screenshot blured and saved to /tmp/i3screenblr.png."
|
|
else:
|
|
print "[DEBUG]: Unable to blur the screenshot."
|
|
|