Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/linux_util.h" | 5 #include "base/linux_util.h" |
| 6 | 6 |
| 7 #include <dirent.h> | 7 #include <dirent.h> |
| 8 #include <errno.h> | 8 #include <errno.h> |
| 9 #include <glib.h> | 9 #include <glib.h> |
| 10 #include <stdlib.h> | 10 #include <stdlib.h> |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 222 FilePath rv(xdg_dir); | 222 FilePath rv(xdg_dir); |
| 223 free(xdg_dir); | 223 free(xdg_dir); |
| 224 return rv; | 224 return rv; |
| 225 } | 225 } |
| 226 return GetHomeDir(env).Append(fallback_dir); | 226 return GetHomeDir(env).Append(fallback_dir); |
| 227 } | 227 } |
| 228 | 228 |
| 229 DesktopEnvironment GetDesktopEnvironment(EnvVarGetter* env) { | 229 DesktopEnvironment GetDesktopEnvironment(EnvVarGetter* env) { |
| 230 std::string desktop_session; | 230 std::string desktop_session; |
| 231 if (env->GetEnv("DESKTOP_SESSION", &desktop_session)) { | 231 if (env->GetEnv("DESKTOP_SESSION", &desktop_session)) { |
| 232 if (desktop_session == "gnome") | 232 if (desktop_session == "gnome") { |
| 233 return DESKTOP_ENVIRONMENT_GNOME; | 233 return DESKTOP_ENVIRONMENT_GNOME; |
| 234 else if (desktop_session == "kde4") | 234 } else if (desktop_session == "kde4") { |
| 235 return DESKTOP_ENVIRONMENT_KDE4; | 235 return DESKTOP_ENVIRONMENT_KDE4; |
| 236 else if (desktop_session == "kde") { | 236 } else if (desktop_session == "kde") { |
| 237 // This may mean KDE4 on newer systems, so we have to check. | 237 // This may mean KDE4 on newer systems, so we have to check. |
| 238 if (env->HasEnv("KDE_SESSION_VERSION")) | 238 if (env->HasEnv("KDE_SESSION_VERSION")) |
| 239 return DESKTOP_ENVIRONMENT_KDE4; | 239 return DESKTOP_ENVIRONMENT_KDE4; |
|
Evan Martin
2010/04/15 19:31:00
I wonder if this means we break on KDE5. (Please
| |
| 240 return DESKTOP_ENVIRONMENT_KDE3; | 240 return DESKTOP_ENVIRONMENT_KDE3; |
| 241 } else if (desktop_session.find("xfce") != std::string::npos) { | |
| 242 return DESKTOP_ENVIRONMENT_XFCE; | |
| 241 } | 243 } |
| 242 else if (desktop_session == "xfce4") | |
| 243 return DESKTOP_ENVIRONMENT_XFCE; | |
| 244 } | 244 } |
| 245 | 245 |
| 246 // Fall back on some older environment variables. | 246 // Fall back on some older environment variables. |
| 247 // Useful particularly in the DESKTOP_SESSION=default case. | 247 // Useful particularly in the DESKTOP_SESSION=default case. |
| 248 if (env->HasEnv("GNOME_DESKTOP_SESSION_ID")) { | 248 if (env->HasEnv("GNOME_DESKTOP_SESSION_ID")) { |
| 249 return DESKTOP_ENVIRONMENT_GNOME; | 249 return DESKTOP_ENVIRONMENT_GNOME; |
| 250 } else if (env->HasEnv("KDE_FULL_SESSION")) { | 250 } else if (env->HasEnv("KDE_FULL_SESSION")) { |
| 251 if (env->HasEnv("KDE_SESSION_VERSION")) | 251 if (env->HasEnv("KDE_SESSION_VERSION")) |
| 252 return DESKTOP_ENVIRONMENT_KDE4; | 252 return DESKTOP_ENVIRONMENT_KDE4; |
| 253 return DESKTOP_ENVIRONMENT_KDE3; | 253 return DESKTOP_ENVIRONMENT_KDE3; |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 342 } | 342 } |
| 343 } | 343 } |
| 344 | 344 |
| 345 closedir(fd); | 345 closedir(fd); |
| 346 } | 346 } |
| 347 | 347 |
| 348 return already_found; | 348 return already_found; |
| 349 } | 349 } |
| 350 | 350 |
| 351 } // namespace base | 351 } // namespace base |
| OLD | NEW |