From fbb3c42faaea8f0f64986582e042d0396e5ba25d Mon Sep 17 00:00:00 2001 From: Mike Hiretsky Date: Fri, 14 Jan 2011 16:14:23 +0300 Subject: [PATCH] Add cl_desktop_xsession variable. Variable contains current user xsession name. --- pym/cl_fill_desktop.py | 27 ++++++++++++++++++++++++++- pym/cl_vars_desktop.py | 3 +++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/pym/cl_fill_desktop.py b/pym/cl_fill_desktop.py index a5957d4..c1bf806 100644 --- a/pym/cl_fill_desktop.py +++ b/pym/cl_fill_desktop.py @@ -83,4 +83,29 @@ class fillVars(): ret = "on" return ret - + def get_cl_desktop_xsession(self): + """Current session""" + envXsessionFile = "/etc/env.d/90xsession" + xsession = os.environ.get("XSESSION",None) + desktopSession = os.environ.get("DESKTOP_SESSION",None) + if not xsession: + if os.path.exists(envXsessionFile): + xsession = \ + map(lambda x:x.partition("=")[2].strip("'\""), + filter(lambda x:x.startswith("XSESSION="), + filter(lambda x:not x.startswith("#"), + open(envXsessionFile,"r")))) + if xsession: + xsession = xsession[-1] + if xsession: + if desktopSession and desktopSession.lower() != "default": + xsession = desktopSession + if "kde" in xsession.lower(): + return "kde" + elif "gnome" in xsession.lower(): + return "gnome" + elif "xfce" in xsession.lower(): + return "xfce" + else: + return xsession.lower() + return "" diff --git a/pym/cl_vars_desktop.py b/pym/cl_vars_desktop.py index 1cced2a..953d4d5 100644 --- a/pym/cl_vars_desktop.py +++ b/pym/cl_vars_desktop.py @@ -66,6 +66,9 @@ class Data: # доменный пользователь "on", "off" ur_domain_set = {} + # user current X session + cl_desktop_xsession = {} + # lib vars cl_action = {} cl_env_path = {}