Fixes startup on Wayland because Keybinder seems to be X11 only
This commit is contained in:
parent
7fac78f24d
commit
85c0518643
|
@ -337,3 +337,10 @@ def spawn_new_terminator(cwd, args):
|
|||
|
||||
dbg("Spawning: %s" % cmd)
|
||||
subprocess.Popen([cmd]+args)
|
||||
|
||||
def display_manager():
|
||||
"""Try to detect which display manager we run under"""
|
||||
if os.environ.get('WAYLAND_DISPLAY'):
|
||||
return 'WAYLAND'
|
||||
# Fallback assumption of X11
|
||||
return 'X11'
|
||||
|
|
|
@ -9,9 +9,8 @@ import uuid
|
|||
import gi
|
||||
from gi.repository import GObject
|
||||
from gi.repository import Gtk, Gdk
|
||||
from gi.repository import Keybinder
|
||||
|
||||
from util import dbg, err, make_uuid
|
||||
from util import dbg, err, make_uuid, display_manager
|
||||
import util
|
||||
from translation import _
|
||||
from version import APP_NAME
|
||||
|
@ -19,8 +18,11 @@ from container import Container
|
|||
from factory import Factory
|
||||
from terminator import Terminator
|
||||
|
||||
if display_manager() == 'X11':
|
||||
try:
|
||||
gi.require_version('Keybinder', '3.0')
|
||||
from gi.repository import Keybinder
|
||||
Keybinder.init()
|
||||
except ImportError:
|
||||
err('Warning: python-keybinder is not installed. This means the \
|
||||
hide_window shortcut will be unavailable')
|
||||
|
@ -120,6 +122,7 @@ class Window(Container, Gtk.Window):
|
|||
# Attempt to grab a global hotkey for hiding the window.
|
||||
# If we fail, we'll never hide the window, iconifying instead.
|
||||
if self.config['keybindings']['hide_window'] != None:
|
||||
if display_manager() == 'X11':
|
||||
try:
|
||||
self.hidebound = Keybinder.bind(
|
||||
self.config['keybindings']['hide_window'],
|
||||
|
|
Loading…
Reference in New Issue