diff options
author | joleksy <joleksy@opera.com> | 2014-09-11 06:39:28 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-11 13:43:36 +0000 |
commit | 0f4b476f784b12495f3e0e53d63fec1ad621c0c1 (patch) | |
tree | cd12c66ca70d0de19cedc8a119f10adb7639cf8d /base/nix | |
parent | a54214a5ad96a46d6b06d43a841133d66172d49d (diff) | |
download | chromium_src-0f4b476f784b12495f3e0e53d63fec1ad621c0c1.zip chromium_src-0f4b476f784b12495f3e0e53d63fec1ad621c0c1.tar.gz chromium_src-0f4b476f784b12495f3e0e53d63fec1ad621c0c1.tar.bz2 |
Do not rely on XDG_CURRENT_DESKTOP only when testing for Unity.
gnome-fallback sessions set XDG_CURRENT_DESKTOP to Unity,
DESKTOP_SESSION needs to be tested as well.
BUG=
Review URL: https://codereview.chromium.org/550173006
Cr-Commit-Position: refs/heads/master@{#294381}
Diffstat (limited to 'base/nix')
-rw-r--r-- | base/nix/xdg_util.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/base/nix/xdg_util.cc b/base/nix/xdg_util.cc index e889b56..e2a48d4 100644 --- a/base/nix/xdg_util.cc +++ b/base/nix/xdg_util.cc @@ -57,10 +57,18 @@ DesktopEnvironment GetDesktopEnvironment(Environment* env) { 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") + if (xdg_current_desktop == "Unity") { + // gnome-fallback sessions set XDG_CURRENT_DESKTOP to Unity + // DESKTOP_SESSION can be gnome-fallback or gnome-fallback-compiz + std::string desktop_session; + if (env->GetVar("DESKTOP_SESSION", &desktop_session) && + desktop_session.find("gnome-fallback") != std::string::npos) { + return DESKTOP_ENVIRONMENT_GNOME; + } return DESKTOP_ENVIRONMENT_UNITY; - else if (xdg_current_desktop == "GNOME") + } else if (xdg_current_desktop == "GNOME") { return DESKTOP_ENVIRONMENT_GNOME; + } } // DESKTOP_SESSION was what everyone used in 2010. |