asd
This commit is contained in:
@ -0,0 +1,37 @@
|
||||
from easyprocess import EasyProcess
|
||||
|
||||
from pyscreenshot.plugins.backend import CBackend
|
||||
from pyscreenshot.tempexport import read_prog_img
|
||||
from pyscreenshot.util import extract_version
|
||||
|
||||
PROGRAM = "gnome-screenshot"
|
||||
|
||||
# https://gitlab.gnome.org/GNOME/gnome-screenshot/blob/master/src/screenshot-utils.c
|
||||
# DBus is used for screenshot.
|
||||
# If it doesn't succeed or $GNOME_SCREENSHOT_FORCE_FALLBACK is set then X DISPLAY is used.
|
||||
# Flash effect! https://bugzilla.gnome.org/show_bug.cgi?id=672759
|
||||
|
||||
|
||||
class GnomeScreenshotWrapper(CBackend):
|
||||
"""Plugin for ``pyscreenshot`` that uses ``gnome-screenshot``
|
||||
https://git.gnome.org/browse/gnome-screenshot/
|
||||
|
||||
This plugin can take screenshot when system is running Wayland.
|
||||
Info: https://bugs.freedesktop.org/show_bug.cgi?id=98672#c1
|
||||
"""
|
||||
|
||||
name = "gnome-screenshot"
|
||||
is_subprocess = True
|
||||
|
||||
def grab(self, bbox=None):
|
||||
im = read_prog_img([PROGRAM, "-f"])
|
||||
if bbox:
|
||||
im = im.crop(bbox)
|
||||
return im
|
||||
|
||||
def backend_version(self):
|
||||
p = EasyProcess([PROGRAM, "--version"])
|
||||
p.enable_stdout_log = False
|
||||
p.enable_stderr_log = False
|
||||
p.call()
|
||||
return extract_version(p.stdout.replace("-", " "))
|
||||
Reference in New Issue
Block a user