diff --git a/booru_viewer/gui/app.py b/booru_viewer/gui/app.py index 862b545..82f6471 100644 --- a/booru_viewer/gui/app.py +++ b/booru_viewer/gui/app.py @@ -1963,13 +1963,10 @@ class BooruApp(QMainWindow): import subprocess try: if ext in _IMAGE_EXTS: - # Convert to PNG for universal clipboard compat - from PIL import Image as _PIL - import io as _io - img = _PIL.open(path) - buf = _io.BytesIO() - img.save(buf, "PNG") - subprocess.run(["wl-copy", "--type", "image/png"], input=buf.getvalue(), timeout=10) + _MIMES = {".jpg": "image/jpeg", ".jpeg": "image/jpeg", + ".png": "image/png", ".gif": "image/gif", ".webp": "image/webp"} + with open(path, "rb") as f: + subprocess.run(["wl-copy", "--type", _MIMES[ext]], stdin=f, timeout=10) else: # Videos/other: copy as file URI uri = f"file://{Path(path).resolve()}"