diff --git a/terminatorlib/keybindings.py b/terminatorlib/keybindings.py index 3ea2e69c..61551c8e 100644 --- a/terminatorlib/keybindings.py +++ b/terminatorlib/keybindings.py @@ -40,6 +40,7 @@ class Keybindings: 'alt': Gdk.ModifierType.MOD1_MASK, 'super': Gdk.ModifierType.SUPER_MASK, 'hyper': Gdk.ModifierType.HYPER_MASK, + 'mod2': Gdk.ModifierType.MOD2_MASK } empty = {} diff --git a/terminatorlib/terminator.py b/terminatorlib/terminator.py index 8e8e28d0..81523dcf 100644 --- a/terminatorlib/terminator.py +++ b/terminatorlib/terminator.py @@ -6,7 +6,7 @@ import os import gi gi.require_version('Vte', '2.91') -from gi.repository import Gtk, Gdk, Vte, GdkX11 +from gi.repository import Gtk, Gdk, Vte from gi.repository.GLib import GError from . import borg @@ -18,6 +18,12 @@ from .cwd import get_pid_cwd from .version import APP_NAME, APP_VERSION +try: + from gi.repository import GdkX11 +except ImportError: + dbg("could not import X11 gir module") + + def eventkey2gdkevent(eventkey): # FIXME FOR GTK3: is there a simpler way of casting from specific EventKey to generic (union) GdkEvent? gdkevent = Gdk.Event.new(eventkey.type) gdkevent.key.window = eventkey.window diff --git a/terminatorlib/window.py b/terminatorlib/window.py index 117b1667..fb01845a 100644 --- a/terminatorlib/window.py +++ b/terminatorlib/window.py @@ -7,16 +7,22 @@ import uuid import gi from gi.repository import GObject -from gi.repository import Gtk, Gdk, GdkX11 +from gi.repository import Gtk, Gdk from .util import dbg, err, make_uuid, display_manager + +try: + from gi.repository import GdkX11 +except ImportError: + dbg("could not import X11 gir module") + + from . import util from .translation import _ from .version import APP_NAME from .container import Container from .factory import Factory from .terminator import Terminator - if display_manager() == 'X11': try: gi.require_version('Keybinder', '3.0')