electron/shell/browser/api
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
..
views chore: more iwyu (#43063) 2024-07-29 12:42:57 -05:00
electron_api_app.cc chore: bump chromium to 133.0.6920.0 (main) (#45055) 2025-01-10 10:52:34 -06:00
electron_api_app.h chore: bump chromium to 133.0.6920.0 (main) (#45055) 2025-01-10 10:52:34 -06:00
electron_api_app_mac.mm chore: remove more unused #include calls (#43000) 2024-07-25 11:25:45 +02:00
electron_api_app_mas.mm chore: bump chromium to 117.0.5923.0 (main) (#39304) 2023-08-04 10:47:29 +02:00
electron_api_auto_updater.cc fix: gin_helper::MicrotasksScope instantiation (#43185) 2024-08-05 08:24:27 -05:00
electron_api_auto_updater.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_base_window.cc chore: remove unused arg from BaseWindow::GetBackgroundColor() (#44906) 2024-12-02 11:39:10 -05:00
electron_api_base_window.h chore: remove unused arg from BaseWindow::GetBackgroundColor() (#44906) 2024-12-02 11:39:10 -05:00
electron_api_browser_window.cc refactor: unfilter unresponsive events (#44629) 2024-11-13 17:59:13 -08:00
electron_api_browser_window.h refactor: unfilter unresponsive events (#44629) 2024-11-13 17:59:13 -08:00
electron_api_content_tracing.cc refactor: in StopTracing(), use string literals instead of optional<string> (#45270) 2025-01-21 17:41:52 -06:00
electron_api_cookies.cc chore: bump chromium to 133.0.6878.0 (main) (#44831) 2024-12-10 13:16:07 -06:00
electron_api_cookies.h chore: remove unused isolate argument from Cookies constructor (#44907) 2024-12-02 11:34:21 -05:00
electron_api_crash_reporter.cc refactor: fix modernize-return-braced-init-list warnings (#44838) 2024-11-27 09:41:46 +09:00
electron_api_crash_reporter.h chore: remove more unused #include calls (#43000) 2024-07-25 11:25:45 +02:00
electron_api_data_pipe_holder.cc refactor: return-braced-init-list pt 2 of 2 (#44870) 2024-11-29 11:44:33 -06:00
electron_api_data_pipe_holder.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_debugger.cc chore: bump chromium to 133.0.6878.0 (main) (#44831) 2024-12-10 13:16:07 -06:00
electron_api_debugger.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_desktop_capturer.cc fix: add patch to fix desktopCapturer.getSources not returning electron windows on Windows (#45000) 2024-12-17 15:20:44 -08:00
electron_api_desktop_capturer.h feat: add support for system picker in setDisplayMediaRequestHandler (#43581) 2024-09-10 16:05:57 -07:00
electron_api_desktop_capturer_mac.mm feat: add support for system picker in setDisplayMediaRequestHandler (#43581) 2024-09-10 16:05:57 -07:00
electron_api_dialog.cc chore: more iwyu (#43063) 2024-07-29 12:42:57 -05:00
electron_api_download_item.cc refactor: return-braced-init-list pt 2 of 2 (#44870) 2024-11-29 11:44:33 -06:00
electron_api_download_item.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_event_emitter.cc chore: remove more unused #include calls (#43000) 2024-07-25 11:25:45 +02:00
electron_api_event_emitter.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
electron_api_global_shortcut.cc feat: support global shortcuts via GlobalShortcutsPortal feature with ozone/wayland (#45171) 2025-01-22 11:59:48 +01:00
electron_api_global_shortcut.h feat: support global shortcuts via GlobalShortcutsPortal feature with ozone/wayland (#45171) 2025-01-22 11:59:48 +01:00
electron_api_in_app_purchase.cc chore: more iwyu (#43063) 2024-07-29 12:42:57 -05:00
electron_api_in_app_purchase.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_menu.cc fix: misc-use-internal-linkage warnings (#44843) 2024-11-27 10:40:39 -06:00
electron_api_menu.h chore: bump chromium to 132.0.6807.0 (main) (#44360) 2024-11-04 09:10:00 -05:00
electron_api_menu_mac.h chore: bump chromium to 132.0.6807.0 (main) (#44360) 2024-11-04 09:10:00 -05:00
electron_api_menu_mac.mm chore: bump chromium to 132.0.6807.0 (main) (#44360) 2024-11-04 09:10:00 -05:00
electron_api_menu_views.cc chore: bump chromium to 132.0.6807.0 (main) (#44360) 2024-11-04 09:10:00 -05:00
electron_api_menu_views.h chore: bump chromium to 132.0.6807.0 (main) (#44360) 2024-11-04 09:10:00 -05:00
electron_api_native_theme.cc feat: add transparency checking to nativeTheme (#42862) 2024-07-24 14:38:22 +02:00
electron_api_native_theme.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_native_theme_mac.mm chore: cleanup arc migration helpers (#39606) 2023-08-23 09:54:21 -04:00
electron_api_net_log.cc refactor: fix modernize-return-braced-init-list warnings (#44838) 2024-11-27 09:41:46 +09:00
electron_api_net_log.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_notification.cc refactor: return-braced-init-list pt 2 of 2 (#44870) 2024-11-29 11:44:33 -06:00
electron_api_notification.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_power_monitor.cc chore: bump chromium to 131.0.6734.0 (main) (#43769) 2024-09-25 06:19:39 -05:00
electron_api_power_monitor.h chore: bump chromium to 131.0.6734.0 (main) (#43769) 2024-09-25 06:19:39 -05:00
electron_api_power_monitor_mac.mm fix: user-did-{resign|become}-active events on macOS (#41506) 2024-03-06 12:43:39 +01:00
electron_api_power_monitor_win.cc chore: iwyu mojom-forward header files (#43741) 2024-09-17 12:58:56 -07:00
electron_api_power_save_blocker.cc chore: more iwyu (#43063) 2024-07-29 12:42:57 -05:00
electron_api_power_save_blocker.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_printing.cc chore: remove deprecated webContents.getPrinters() (#39663) 2023-09-05 10:16:41 +02:00
electron_api_protocol.cc refactor: return-braced-init-list pt 2 of 2 (#44870) 2024-11-29 11:44:33 -06:00
electron_api_protocol.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_push_notifications.cc chore: more iwyu (#43063) 2024-07-29 12:42:57 -05:00
electron_api_push_notifications.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_push_notifications_mac.mm chore: cleanup arc migration helpers (#39606) 2023-08-23 09:54:21 -04:00
electron_api_safe_storage.cc refactor: fix modernize-return-braced-init-list warnings (#44838) 2024-11-27 09:41:46 +09:00
electron_api_screen.cc refactor: fix modernize-return-braced-init-list warnings (#44838) 2024-11-27 09:41:46 +09:00
electron_api_screen.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_service_worker_context.cc refactor: return-braced-init-list pt 2 of 2 (#44870) 2024-11-29 11:44:33 -06:00
electron_api_service_worker_context.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_session.cc fix: session.clearData avoidClosingConnections default to false (#45187) 2025-01-15 11:38:50 -05:00
electron_api_session.h feat: Add shared dictionary management APIs (#44750) 2024-12-04 12:25:11 -05:00
electron_api_system_preferences.cc chore: more iwyu (#43063) 2024-07-29 12:42:57 -05:00
electron_api_system_preferences.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_system_preferences_mac.mm chore: bump chromium to 131.0.6734.0 (main) (#43769) 2024-09-25 06:19:39 -05:00
electron_api_system_preferences_win.cc refactor: return-braced-init-list pt 2 of 2 (#44870) 2024-11-29 11:44:33 -06:00
electron_api_tray.cc refactor: fix modernize-return-braced-init-list warnings (#44838) 2024-11-27 09:41:46 +09:00
electron_api_tray.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_utility_process.cc refactor: return-braced-init-list pt 2 of 2 (#44870) 2024-11-29 11:44:33 -06:00
electron_api_utility_process.h fix: utility process exit code for graceful termination (reland) (#44726) 2024-11-20 02:48:15 +09:00
electron_api_view.cc refactor: return-braced-init-list pt 2 of 2 (#44870) 2024-11-29 11:44:33 -06:00
electron_api_view.h fix: WebContentsView removal should compare directly (#44656) 2024-11-14 22:11:20 -05:00
electron_api_web_contents.cc chore: bump chromium to 133.0.6920.0 (main) (#45055) 2025-01-10 10:52:34 -06:00
electron_api_web_contents.h chore: bump chromium to 133.0.6920.0 (main) (#45055) 2025-01-10 10:52:34 -06:00
electron_api_web_contents_impl.cc chore: bump chromium to 131.0.6734.0 (main) (#43769) 2024-09-25 06:19:39 -05:00
electron_api_web_contents_mac.mm chore: bump chromium to 127.0.6521.0 (main) (#42118) 2024-06-07 17:18:35 -04:00
electron_api_web_contents_view.cc refactor: remove InspectableWebContentsViewMac in favor of the Views version (#44628) 2025-01-17 10:21:10 -05:00
electron_api_web_contents_view.h feat: customize border radius of Views (#42320) 2024-07-16 20:16:25 -04:00
electron_api_web_frame_main.cc chore: bump chromium to 133.0.6920.0 (main) (#45055) 2025-01-10 10:52:34 -06:00
electron_api_web_frame_main.h chore: bump chromium to 133.0.6920.0 (main) (#45055) 2025-01-10 10:52:34 -06:00
electron_api_web_request.cc refactor: return-braced-init-list pt 2 of 2 (#44870) 2024-11-29 11:44:33 -06:00
electron_api_web_request.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
electron_api_web_view_manager.cc chore: rename built-in modules to bindings to match naming update in node (#37182) 2023-02-09 10:31:38 +09:00
frame_subscriber.cc refactor: put empty virtual function definitions in header (#43285) 2024-08-12 09:56:51 +02:00
frame_subscriber.h refactor: put empty virtual function definitions in header (#43285) 2024-08-12 09:56:51 +02:00
gpu_info_enumerator.cc refactor: simplify code by using base::Value::EnsureList() (#41162) 2024-01-30 14:48:09 -06:00
gpu_info_enumerator.h chore: add/fix interface comments for sections of methods (#42566) 2024-06-20 10:49:07 +02:00
gpuinfo_manager.cc chore: more iwyu (#43063) 2024-07-29 12:42:57 -05:00
gpuinfo_manager.h chore: more iwyu (#43063) 2024-07-29 12:42:57 -05:00
message_port.cc refactor: return-braced-init-list pt 2 of 2 (#44870) 2024-11-29 11:44:33 -06:00
message_port.h refactor: declare gin::Wrapper subclasses as final (#43527) 2024-09-04 18:40:02 -05:00
process_metric.cc build: make is_mas_build a generated header instead of config (#43737) 2024-09-17 01:38:56 -07:00
process_metric.h chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
save_page_handler.cc chore: remove more unused #include calls (#43000) 2024-07-25 11:25:45 +02:00
save_page_handler.h chore: more iwyu (#43063) 2024-07-29 12:42:57 -05:00
ui_event.cc chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
ui_event.h chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00