electron/shell/common
Maksim Sisov 3ea623364b
feat: support global shortcuts via GlobalShortcutsPortal feature with ozone/wayland (#45171)
* fix: backport patch to fix systemd unit activation in Chromium

This backports a patch from Chromium, which fixes systemd unit
activation. That is, a globalShortcuts feature that Chromium has
needs to create a systemd unit and rename it properly. Portal's
global shortcuts uses that name afterwards to map the app with
the shortcuts bound. However, there might be a race between
Chromium binding shortcuts and renaming the unit.

This is a first step to add Portal's globalShortcuts to
Electron.

* feat: Support global shortcuts via GlobalShortcutsPortal feature

Chromium has a new feature called GlobalShortcutsPortal. It
allows clients to use Portal's globalShortcuts to register and
listen to shortcuts.

This patches adds necessary bits, which allows Electron to
use that feature.

In order to make it work, one has to add
--enable-features=GlobalShortcutsPortal

Test: tested manually with a sample app.

* docs: add GlobalShortcutsPortal feature to globalShortcuts docs

Electron supports Portal's globalShortcuts API now via Chromium, and Electron
apps can use that in a Wayland session. Update the docs with the required
feature flag that must be passed to be able to use that implementation.
2025-01-22 11:59:48 +01:00
..
api chore: bump chromium to 133.0.6920.0 (main) (#45055) 2025-01-10 10:52:34 -06:00
asar fix: modernize-use-using clang-tidy warnings (#44806) 2024-11-25 10:50:33 -05:00
extensions fix: chrome.i18n unavailable in extension service workers (#45031) 2024-12-16 09:46:20 -05:00
gin_converters chore: bump chromium to 133.0.6920.0 (main) (#45055) 2025-01-10 10:52:34 -06:00
gin_helper fix: modernize-use-equals-default warnings (#44935) 2024-12-03 16:25:48 -06:00
mac refactor: return-braced-init-list pt 2 of 2 (#44870) 2024-11-29 11:44:33 -06:00
resources/mac fix: disable MallocNanoZone on mac (#33704) 2022-04-28 10:28:27 -04:00
application_info.cc refactor: replace base::StringPrintf() calls with absl::StrFormat() (#44515) 2024-11-04 12:58:16 -06:00
application_info.h fix: devtools allow restoring saved dock state on Windows (#39734) 2023-09-07 17:14:01 +09:00
application_info_linux.cc chore: remove unused nogncheck includes (#43964) 2024-09-26 17:09:42 -05:00
application_info_mac.mm chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
application_info_win.cc chore: remove unused base/ includes (#43688) 2024-09-12 16:05:37 +02:00
BUILD.gn chore: bump chromium to 129.0.6650.0 (main) (#43266) 2024-08-12 10:28:33 +02:00
color_util.cc refactor: replace base::StringPrintf() calls with absl::StrFormat() (#44515) 2024-11-04 12:58:16 -06:00
color_util.h fix: modernize-use-equals-default warnings (#44935) 2024-12-03 16:25:48 -06:00
crash_keys.cc refactor: add EmitWarning(v8::Isolate*) helper (#43722) 2024-09-16 15:53:04 -05:00
crash_keys.h chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
electron_command_line.cc fix: -Wunsafe-buffer-usage warnings with argc, argv (#44366) 2024-10-29 13:23:08 +01:00
electron_command_line.h fix: -Wunsafe-buffer-usage warnings with argc, argv (#44366) 2024-10-29 13:23:08 +01:00
electron_constants.h feat: support global shortcuts via GlobalShortcutsPortal feature with ozone/wayland (#45171) 2025-01-22 11:59:48 +01:00
electron_paths.h feat: allow customizing browser data location (#33554) 2022-05-09 10:26:57 -04:00
heap_snapshot.cc fix: modernize-use-nodiscard clang-tidy warnings (#44808) 2024-11-25 10:48:28 -05:00
heap_snapshot.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
key_weak_map.h refactor: simplify KeyWeakMap impl (#43461) 2024-08-26 13:19:05 -05:00
keyboard_util.cc chore: bump chromium to 128.0.6558.0 (main) (#42413) 2024-07-02 09:51:33 +02:00
keyboard_util.h chore: migrate base::StringPiece to std::string_view (#40915) 2024-01-10 19:00:37 -06:00
language_util.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
language_util_linux.cc fix: silence -Wunsafe-buffer-usage warning in GetPreferredLanguages() (#44333) 2024-10-21 18:20:00 -05:00
language_util_mac.mm fix: respect system language preferences on Win/macOS (#23247) 2020-05-04 10:49:29 -07:00
language_util_win.cc chore: remove more unused #include calls (#43000) 2024-07-25 11:25:45 +02:00
logging.cc fix: performance-no-automatic-move clang-tidy warnings (#44742) 2024-11-20 18:10:30 -06:00
logging.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
mac_util.h fix: -Wunsafe-buffer-usage warning in didRegisterForRemoteNotificationsWithDeviceToken (#44348) 2024-10-23 14:18:22 -05:00
mac_util.mm fix: -Wunsafe-buffer-usage warning in didRegisterForRemoteNotificationsWithDeviceToken (#44348) 2024-10-23 14:18:22 -05:00
node_bindings.cc refactor: return-braced-init-list pt 2 of 2 (#44870) 2024-11-29 11:44:33 -06:00
node_bindings.h fix: UvHandle move semantics (#43615) 2024-09-09 14:13:39 +02:00
node_bindings_linux.cc refactor: NodeBindings::Create() returns a unique_ptr (#43361) 2024-08-20 15:34:59 -04:00
node_bindings_linux.h chore: remove unused #includes (#42971) 2024-07-22 11:31:32 +02:00
node_bindings_mac.cc refactor: add EmitWarning(v8::Isolate*) helper (#43722) 2024-09-16 15:53:04 -05:00
node_bindings_mac.h chore: remove unused #includes (#42971) 2024-07-22 11:31:32 +02:00
node_bindings_win.cc chore: remove unused base/ includes (#43688) 2024-09-12 16:05:37 +02:00
node_bindings_win.h chore: remove unused #includes (#42971) 2024-07-22 11:31:32 +02:00
node_includes.h feat: add error event for utility process (#43774) 2024-09-27 10:17:06 +09:00
node_util.cc refactor: fix modernize-return-braced-init-list warnings (#44838) 2024-11-27 09:41:46 +09:00
node_util.h refactor: spanify image utils (#44127) 2024-10-10 09:34:55 -04:00
options_switches.h refactor: more inline constexpr string view (#44498) 2024-11-04 12:27:49 -06:00
platform_util.cc fix: misc-use-internal-linkage warnings (#44843) 2024-11-27 10:40:39 -06:00
platform_util.h feat: update app.{set|get}LoginItemSettings(settings) (#37244) 2023-10-16 12:25:11 -04:00
platform_util_internal.h chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
platform_util_linux.cc refactor: use gdk_display_beep() on Linux (#44734) 2024-11-20 16:24:59 -05:00
platform_util_mac.mm fix: update shell.openExternal to correctly focus on external window (#44408) 2024-10-29 15:10:10 -07:00
platform_util_win.cc refactor: remove C-style void arg type for no-arg functions (#43884) 2024-09-23 22:37:32 -07:00
plugin.mojom chore: bump chromium to 129.0.6650.0 (main) (#43266) 2024-08-12 10:28:33 +02:00
plugin_info.cc chore: bump chromium to 123.0.6312.5 (main) (#41337) 2024-02-21 15:27:05 -05:00
plugin_info.h chore: bump chromium to 109.0.5382.0 (main) (#36057) 2022-10-27 12:37:04 -04:00
process_util.cc refactor: add EmitWarning(v8::Isolate*) helper (#43722) 2024-09-16 15:53:04 -05:00
process_util.h refactor: add EmitWarning(v8::Isolate*) helper (#43722) 2024-09-16 15:53:04 -05:00
skia_util.cc fix: misc-use-internal-linkage warnings (#44843) 2024-11-27 10:40:39 -06:00
skia_util.h refactor: spanify image utils (#44127) 2024-10-10 09:34:55 -04:00
thread_restrictions.h chore: bump chromium to 110.0.5415.0 (main) (#36186) 2022-11-17 14:59:23 -05:00
v8_util.cc fix: big endian bug in V8 serialization (#44776) 2024-11-22 12:04:53 +01:00
v8_util.h fix: -Wunsafe-buffer-usage warning in ChunkedDataPipeReadableStream (#44211) 2024-10-14 10:46:24 +02:00
world_ids.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00