mirror of
https://github.com/electron/electron.git
synced 2026-01-11 00:18:02 -05:00
linux: GlobalMenu: only if UBUNTU_MENUPROXY is set
When checking if we should react differently when GlobalMenu bar is used, we should check if UBUNTU_MENUPROXY env var is (correctly) set instead of checking if we're using Unity on a Unity session. It's better to do that because we can use Compiz on a Unity session without Unity. Or we can also use Unity in a different session.
This commit is contained in:
@@ -67,9 +67,12 @@ int kWindowsCreated = 0;
|
||||
bool ShouldUseGlobalMenuBar() {
|
||||
// Some DE would pretend to be Unity but don't have global application menu,
|
||||
// so we can not trust unity::IsRunning().
|
||||
// When Unity's GlobalMenu is running $UBUNTU_MENUPROXY should be set to
|
||||
// something like "libappmenu.so".
|
||||
scoped_ptr<base::Environment> env(base::Environment::Create());
|
||||
return unity::IsRunning() && (base::nix::GetDesktopEnvironment(env.get()) ==
|
||||
base::nix::DESKTOP_ENVIRONMENT_UNITY);
|
||||
std::string name;
|
||||
return env && env->GetVar("UBUNTU_MENUPROXY", &name) &&
|
||||
!name.empty() && name != "0";
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user