gnome-shell/js
Sebastian Keller f1b7af2ab0 popupMenu: Only connect to notify::key-focus when needed
PopupMenuManager was connecting to notify::key-focus on the stage on
construction, but only ever reacting to it when one of its menus was
open. Given that every single app icon and text entry creates a
PopupMenuManager this was causing a lot of these handlers to be created.
Every single handler meant calling into JS code only for the vast
majority of them to determine that they would not do anything.

Additionally these handlers were leaked for the whole lifetime of the
stage due to never getting disconnected.

This now only connects the handler when a menu is open and disconnects
again when it is closed, significantly reducing the number of active
handlers at a time.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7143
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3001>
2023-11-03 20:33:23 +00:00
..
dbusServices cleanup: Fixup wrong JSDoc comments 2023-08-09 15:10:38 +00:00
extensions extensions: Fix ngettext convenience 2023-09-15 21:41:30 +00:00
gdm cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
misc config: Add missing semicolon 2023-11-02 17:50:04 +01:00
portalHelper js: Port Config to ESM 2023-08-10 17:42:23 +00:00
ui popupMenu: Only connect to notify::key-focus when needed 2023-11-03 20:33:23 +00:00
js-resources.gresource.xml components: Change component loading to be asynchronous 2023-08-05 22:16:23 +02:00
meson.build extensions-app: Move Extensions app to new subproject 2020-03-27 23:33:30 +00:00
portal-resources.gresource.xml js/portal-resources: Add missing fileUtils to js path 2022-11-03 18:02:27 +00:00