Philipp Hörist pushed to branch master at gajim / gajim

Commits:
4acf36c9 by Philipp Hörist at 2019-03-25T19:11:53Z
Add method to determine window manager

- - - - -


2 changed files:

- gajim/common/app.py
- gajim/common/const.py


Changes:

=====================================
gajim/common/app.py
=====================================
@@ -39,12 +39,14 @@ from distutils.version import LooseVersion as V
 from collections import namedtuple
 
 import nbxmpp
+from gi.repository import Gdk
 
 import gajim
 from gajim.common import config as c_config
 from gajim.common import configpaths
 from gajim.common import ged as ged_module
 from gajim.common.i18n import LANG
+from gajim.common.const import Display
 from gajim.common.contacts import LegacyContactsAPI
 from gajim.common.events import Events
 from gajim.common.types import NetworkEventsControllerT  # pylint: 
disable=unused-import
@@ -212,6 +214,18 @@ def is_installed(dependency):
 def is_flatpak():
     return gajim.IS_FLATPAK
 
+def is_display(display):
+    # XWayland reports as Display X11, so try with env var
+    is_wayland = os.environ.get('XDG_SESSION_TYPE') == 'wayland'
+    if is_wayland and display == Display.WAYLAND:
+        return True
+
+    default = Gdk.Display.get_default()
+    if default is None:
+        log('gajim').warning('Could not determine window manager')
+        return False
+    return default.__class__.__name__ == display.value
+
 def disable_dependency(dependency):
     _dependencies[dependency] = False
 


=====================================
gajim/common/const.py
=====================================
@@ -199,6 +199,7 @@ class MUCUser(IntEnum):
     AFFILIATION = 3
     AFFILIATION_TEXT = 4
 
+
 @unique
 class Trust(IntEnum):
     UNTRUSTED = 0
@@ -206,6 +207,14 @@ class Trust(IntEnum):
     BLIND = 2
     VERIFIED = 3
 
+
+class Display(Enum):
+    X11 = 'X11Display'
+    WAYLAND = 'GdkWaylandDisplay'
+    WIN32 = 'GdkWin32Display'
+    QUARTZ = 'GdkQuartzDisplay'
+
+
 EME_MESSAGES = {
     'urn:xmpp:otr:0':
         _('This message was encrypted with OTR '



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/4acf36c97b79730b40ded2bbb050fd18eb3f3b23

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/4acf36c97b79730b40ded2bbb050fd18eb3f3b23
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to