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
@ -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…
Reference in New Issue
Block a user