diff options
author | thestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-17 23:40:17 +0000 |
---|---|---|
committer | thestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-17 23:40:17 +0000 |
commit | 9e6c9bde9a6014b1cb703d064acfb5c07462f272 (patch) | |
tree | 4c7103c1eb326ca189008bb86a6e8b8558f2d666 /base/nix | |
parent | 30a10dcfc0b5935a43557719cb19767419d4de13 (diff) | |
download | chromium_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.cc | 13 | ||||
-rw-r--r-- | base/nix/xdg_util.h | 1 |
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, }; |