summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/parley/desktop.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/parley/desktop.py b/src/parley/desktop.py
index f95e537..4072655 100644
--- a/src/parley/desktop.py
+++ b/src/parley/desktop.py
@@ -17,9 +17,12 @@ def copy_text(text: str) -> None:
import gi
gi.require_version("Gdk", "4.0")
- from gi.repository import Gdk
+ gi.require_version("Gtk", "4.0")
+ from gi.repository import Gdk, Gtk
- display = Gdk.Display.get_default() or Gdk.Display.open(None)
+ # GDK 4 treats opening a display before GTK initialization as fatal.
+ Gtk.init()
+ display = Gdk.Display.get_default()
if display is None:
raise DesktopIntegrationError("could not connect to the graphical display")
display.get_clipboard().set(text)