GNOME Bugzilla – Bug 691746
Revamp the initialization sequence and move things around
Last modified: 2013-05-20 17:20:51 UTC
This is a WIP branch I have that will hopefully free gdm from needing mutter at all, and hopefully make parts of the shell codebase more standalone, and able to be tested with the compositor.
Created attachment 233475 [details] [review] main: Remove isWindowActorDisplayedOnWorkspace We now have a convenience method in mutter.
Created attachment 233476 [details] [review] main: Move getWindowActorsForWorkspace to layout It's only used here.
Created attachment 233477 [details] [review] main: Move WindowAttentionManager into WindowManager
Created attachment 233478 [details] [review] main: Move workspace tracking code to WindowManager
Created attachment 233479 [details] [review] main: Override the workspace layout in WindowManager
Review of attachment 233475 [details] [review]: Yes (after the API in the dependent bug is settled)
Review of attachment 233476 [details] [review]: ::: js/ui/layout.js @@ +954,2 @@ _updateFullscreen: function() { + let windows = getWindowActorsForWorkspace(global.screen.get_active_workspace_index()); At this point, make this a method
Review of attachment 233477 [details] [review]: This buys nothing, and breaks git blame. I would be ok with moving the initialization to window manager, but not the whole module.
Review of attachment 233478 [details] [review]: Nice! ::: js/ui/windowManager.js @@ +174,3 @@ + + let overrideSettings = new Gio.Settings({ schema: 'org.gnome.shell.overrides' }); + This gets garbage collected. You need to root it somewhere. @@ +188,3 @@ + } + + global.screen.connect('notify::n-workspaces', Lang.bind(this, this._nWorkspacesChanged)); this._workspaces
Review of attachment 233479 [details] [review]: Ok
Created attachment 233799 [details] [review] main: Remove isWindowActorDisplayedOnWorkspace We now have a convenience method in mutter.
Created attachment 233800 [details] [review] main: Move getWindowActorsForWorkspace to layout It's only used here.
Created attachment 233801 [details] [review] main: Initialize WindowAttentionHandler in WindowManager
Created attachment 233802 [details] [review] main: Move workspace tracking code to WindowManager
Created attachment 233803 [details] [review] main: Override the workspace layout in WindowManager
Review of attachment 233799 [details] [review]: OK.
Review of attachment 233800 [details] [review]: OK.
Attachment 233799 [details] pushed as f738c2b - main: Remove isWindowActorDisplayedOnWorkspace Attachment 233800 [details] pushed as 5ba0c64 - main: Move getWindowActorsForWorkspace to layout
Created attachment 244660 [details] [review] main: Move workspace tracking code to WindowManager
Created attachment 244661 [details] [review] main: Override the workspace layout in WindowManager Rebasing this, as it's going to be helpful to move out of the way for a focus rework.
Review of attachment 244660 [details] [review]: Looks good.
Review of attachment 244661 [details] [review]: Ok
Attachment 244660 [details] pushed as b2aa29e - main: Move workspace tracking code to WindowManager Attachment 244661 [details] pushed as 54a9592 - main: Override the workspace layout in WindowManager