Fix desktop-id notification edge case (#12216)
* Fix desktop-id notification edge case * Extract-method platform_util::GetDesktopName() This removes duplicated code from libnotify_notifications.cc and atom/common/linux/application_info.cc. * Check for empty case in GetDesktopName(). * Move GetDesktopName() to brightray::util * Remove unnecessary changes in platform_util * Add a brightray::platform_util namespace
This commit is contained in:
parent
86af20ded0
commit
dd2c2660b9
5 changed files with 62 additions and 8 deletions
30
brightray/common/platform_util_linux.cc
Normal file
30
brightray/common/platform_util_linux.cc
Normal file
|
@ -0,0 +1,30 @@
|
|||
// Copyright (c) 2018 GitHub, Inc.
|
||||
// Use of this source code is governed by the MIT license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "brightray/common/platform_util.h"
|
||||
|
||||
#include "base/environment.h"
|
||||
#include "chrome/browser/ui/libgtkui/gtk_util.h"
|
||||
|
||||
namespace brightray {
|
||||
|
||||
namespace platform_util {
|
||||
|
||||
bool GetDesktopName(std::string* setme) {
|
||||
bool found = false;
|
||||
|
||||
std::unique_ptr<base::Environment> env(base::Environment::Create());
|
||||
std::string desktop_id = libgtkui::GetDesktopName(env.get());
|
||||
constexpr char const* libcc_default_id = "chromium-browser.desktop";
|
||||
if (!desktop_id.empty() && (desktop_id != libcc_default_id)) {
|
||||
*setme = desktop_id;
|
||||
found = true;
|
||||
}
|
||||
|
||||
return found;
|
||||
}
|
||||
|
||||
} // namespace platform_util
|
||||
|
||||
} // namespace brightray
|
Loading…
Add table
Add a link
Reference in a new issue