Here is a vid demonstrating the issue.
Whenever I try and grab a screenshot, I grab a different picture to what I think I am grabbing (except when using ubuntu's printscreen functionality when you hit the key). This issue is not specifically tied to shutter (from the video), but my own screenshot program written in python demonstrates the same behaviour. A sample of the code that takes the screenshot is here:
def grab_screenshot(): """ Grabs a screenshot of the active window and saves it as a png with the current time """ root = gtk.gdk.screen_get_default() if root.supports_net_wm_hint("_NET_ACTIVE_WINDOW") and root.supports_net_wm_hint("_NET_WM_WINDOW_TYPE"): print "Grabbing active window" active = root.get_active_window() # Comment these two lines if you dont want to enable screenshotting of the entire desktop # instead of just the active window. # if active.property_get("_NET_WM_WINDOW_TYPE")[-1] == '_NET_WM_WINDOW_TYPE_DESKTOP': # return "FAIL" # Calculate the size of the wm decorations relativex, relativey, winw, winh, d = active.get_geometry() w = winw + (relativex*2) h = winh + (relativey+relativex) # Calculate the position of where the wm decorations start (not the window itself) screenposx, screenposy = active.get_root_origin() print "screen posx: %d" % screenposx print "screen posy: %d" % screenposy # Take the screenshot screenshot = gtk.gdk.Pixbuf.get_from_drawable(gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, w, h), gtk.gdk.get_default_root_window(), gtk.gdk.colormap_get_system(), screenposx, screenposy, 0, 0, w, h) else: window = gtk.gdk.get_default_root_window() size = window.get_size() print "The size of the window is %d x %d" % size pixel_buffer = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, size, size) screenshot = pixel_buffer.get_from_drawable(window, window.get_colormap(), 0, 0, 0, 0, size, size) if (screenshot != None): timeNow = time.time() fileName = "screenshot_%d.png" %timeNow screenshot.save(fileName, "png") print "Screenshot saved to " + fileName else: print "Unable to get the screenshot." fileName = "FAIL" return fileName
I am guessing this is an issue with the gtk? I tried ticking the gtk loader utility in compiz, but that doesn't seem to have helped in any way.