summaryrefslogtreecommitdiffstats
path: root/base/nix
diff options
context:
space:
mode:
authorjoleksy <joleksy@opera.com>2014-09-11 06:39:28 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-11 13:43:36 +0000
commit0f4b476f784b12495f3e0e53d63fec1ad621c0c1 (patch)
treecd12c66ca70d0de19cedc8a119f10adb7639cf8d /base/nix
parenta54214a5ad96a46d6b06d43a841133d66172d49d (diff)
downloadchromium_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.cc12
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.