mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-18 07:34:54 +00:00
shell: Ignore non-toplevels for ShellWindowTracker::tracked-windows-changed
Popups and other override-redirect windows are meaningless to everything that depends on the ShellWindowTracker. Ignoring those windows will result in less ShellApp::windows-changed signal emissions, and less activity in the AppMenuButton and everything else that depends on them. Reduces gnome-shell CPU activity while typing on the Epiphany addressbar, as the pop up animation there results in a number of xdg_popup being created and destroyed. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/642 https://gitlab.gnome.org/GNOME/mutter/issues/556
This commit is contained in:
parent
490a62e781
commit
db9a7ea7a9
1 changed files with 8 additions and 3 deletions
|
|
@ -535,12 +535,17 @@ track_window (ShellWindowTracker *self,
|
|||
|
||||
static void
|
||||
shell_window_tracker_on_window_added (MetaWorkspace *workspace,
|
||||
MetaWindow *window,
|
||||
gpointer user_data)
|
||||
MetaWindow *window,
|
||||
gpointer user_data)
|
||||
{
|
||||
ShellWindowTracker *self = SHELL_WINDOW_TRACKER (user_data);
|
||||
MetaWindowType window_type = meta_window_get_window_type (window);
|
||||
|
||||
track_window (self, window);
|
||||
if (window_type == META_WINDOW_NORMAL ||
|
||||
window_type == META_WINDOW_DIALOG ||
|
||||
window_type == META_WINDOW_UTILITY ||
|
||||
window_type == META_WINDOW_MODAL_DIALOG)
|
||||
track_window (self, window);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue