diff --git a/src/PIL/ImageGrab.py b/src/PIL/ImageGrab.py index c23b40295f8..44bc6d38f66 100644 --- a/src/PIL/ImageGrab.py +++ b/src/PIL/ImageGrab.py @@ -146,18 +146,27 @@ def grabclipboard(): except subprocess.CalledProcessError: loginctl = None else: - loginctl = None + loginctl = None if loginctl is not None: username = subprocess.check_output("whoami").decode().strip("\n") - sessionid = [line.split()[0] for line in loginctl if username in line.split()][0] - sessiontype = subprocess.check_output( - ["loginctl", "show-session", sessionid, "-p", "Type"] - ).decode().strip("\n").split("=")[1] - else: # Session type check failed + sessionid = [ + line.split()[0] for line in loginctl if username in line.split() + ][0] + sessiontype = ( + subprocess.check_output( + ["loginctl", "show-session", sessionid, "-p", "Type"] + ) + .decode() + .strip("\n") + .split("=")[1] + ) + else: # Session type check failed sessiontype = None - if shutil.which("wl-paste") and ((sessiontype == "wayland") or (sessiontype is None)): + if shutil.which("wl-paste") and ( + (sessiontype == "wayland") or (sessiontype is None) + ): output = subprocess.check_output(["wl-paste", "-l"]).decode() mimetypes = output.splitlines() if "image/png" in mimetypes: @@ -170,7 +179,9 @@ def grabclipboard(): args = ["wl-paste"] if mimetype: args.extend(["-t", mimetype]) - elif shutil.which("xclip") and ((sessiontype == "x11") or (sessiontype is None)): + elif shutil.which("xclip") and ( + (sessiontype == "x11") or (sessiontype is None) + ): args = ["xclip", "-selection", "clipboard", "-t", "image/png", "-o"] else: msg = "wl-paste or xclip is required for ImageGrab.grabclipboard() on Linux"