summaryrefslogtreecommitdiffstats
path: root/base/nix
diff options
context:
space:
mode:
authorthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-17 23:40:17 +0000
committerthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-17 23:40:17 +0000
commit9e6c9bde9a6014b1cb703d064acfb5c07462f272 (patch)
tree4c7103c1eb326ca189008bb86a6e8b8558f2d666 /base/nix
parent30a10dcfc0b5935a43557719cb19767419d4de13 (diff)
downloadchromium_src-9e6c9bde9a6014b1cb703d064acfb5c07462f272.zip
chromium_src-9e6c9bde9a6014b1cb703d064acfb5c07462f272.tar.gz
chromium_src-9e6c9bde9a6014b1cb703d064acfb5c07462f272.tar.bz2
Linux: Detect Unity as a desktop environment.
BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10735034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147134 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/nix')
-rw-r--r--base/nix/xdg_util.cc13
-rw-r--r--base/nix/xdg_util.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/base/nix/xdg_util.cc b/base/nix/xdg_util.cc
index 08d4eee..10cbcaa 100644
--- a/base/nix/xdg_util.cc
+++ b/base/nix/xdg_util.cc
@@ -48,6 +48,17 @@ FilePath GetXDGUserDirectory(const char* dir_name, const char* fallback_dir) {
}
DesktopEnvironment GetDesktopEnvironment(Environment* env) {
+ // XDG_CURRENT_DESKTOP is the newest standard circa 2012.
+ std::string xdg_current_desktop;
+ if (env->GetVar("XDG_CURRENT_DESKTOP", &xdg_current_desktop)) {
+ // Not all desktop environments set this env var as of this writing.
+ if (xdg_current_desktop == "Unity")
+ return DESKTOP_ENVIRONMENT_UNITY;
+ else if (xdg_current_desktop == "GNOME")
+ return DESKTOP_ENVIRONMENT_GNOME;
+ }
+
+ // DESKTOP_SESSION was what everyone used in 2010.
std::string desktop_session;
if (env->GetVar("DESKTOP_SESSION", &desktop_session)) {
if (desktop_session == "gnome") {
@@ -88,6 +99,8 @@ const char* GetDesktopEnvironmentName(DesktopEnvironment env) {
return "KDE3";
case DESKTOP_ENVIRONMENT_KDE4:
return "KDE4";
+ case DESKTOP_ENVIRONMENT_UNITY:
+ return "UNITY";
case DESKTOP_ENVIRONMENT_XFCE:
return "XFCE";
}
diff --git a/base/nix/xdg_util.h b/base/nix/xdg_util.h
index b068d84..fc72663 100644
--- a/base/nix/xdg_util.h
+++ b/base/nix/xdg_util.h
@@ -53,6 +53,7 @@ enum DesktopEnvironment {
// them as two different desktop environments here.
DESKTOP_ENVIRONMENT_KDE3,
DESKTOP_ENVIRONMENT_KDE4,
+ DESKTOP_ENVIRONMENT_UNITY,
DESKTOP_ENVIRONMENT_XFCE,
};