gnome-shell/js/ui
Alexander Larsson 0207f1f29b Restructure the way we handle positioning zooming in Workspace
We currently show the workspace in the overview in a rectangle
with the same aspect ratio as the screen. Originally this was
probably done since it showed the desktop, but we don't do this
anymore, and the positioning of the windows in the overview is
strictly a grid, so its not in any way related to monitor geometry.
Additionally, in the multihead case the screen aspect ratio is
very different from the overview monitor geometry, so a lot of
space is lost.

So, instead we just fill the entire inner rectangle of the overview
with the workspace. However, the way the zoom into and out of the
workspace right now is by scaling the workspace so that it covers
the entire monitor. This cannot really work anymore when the workspace
is a different aspect ratio. Furthermore the coordinates of the
window clone actors are of two very different types in the "original
window" case and the "window in a slot case". One is screen relative,
the other is workspace relative. This makes it very hard to compute
the cost of window motion distance in computeWindowMotion.

In order to handle this we change the way workspace actor positioning
and scaling work. All workspace window clone actors are stored in
true screen coordingates, both the original window positions and the
in-a-slot ones. Global scaling of the workspace is never done, we
just reposition everything in both the initial zoom and when the
controls appear from the side.

There is one issue in the initial and final animations, which is that
the clip region we normally have for the workspacesView will limit the
animation of the clones to/from the original positions, so we disable
the clip region during these animations.

https://bugzilla.gnome.org/show_bug.cgi?id=643786
2011-03-09 10:36:02 +01:00
..
status Do not launch power statistics app from battery items 2011-03-03 15:44:38 -05:00
altTab.js altTab: fix incorrect positioning with multiple monitors 2011-03-08 20:21:07 +03:00
appDisplay.js viewSelector: add Applications pane and search entry to Ctrl-Alt-Tab 2011-03-07 11:15:05 -05:00
appFavorites.js dash: Improve DND to dash and allow reordering 2010-11-29 16:35:54 +01:00
boxpointer.js Add "precision" to boxpointer alignment 2011-02-16 10:19:39 -05:00
calendar.js Move calendar handling out-of-process 2011-02-28 16:08:18 -05:00
chrome.js Ensure that all struts we set extends to their boundary 2011-03-03 15:56:16 +01:00
ctrlAltTab.js ctrlAltTab: misc improvements 2011-03-07 11:15:05 -05:00
dash.js Remove manually added :rtl pseudo classes 2011-03-05 19:40:56 +01:00
dateMenu.js dateMenu: make the menu un-key-navigable 2011-03-07 10:57:45 -05:00
dnd.js dnd: Avoid division by zero, etc for zero-size actors 2011-03-09 10:27:36 +01:00
docDisplay.js search: Replace 'icon' property in metaInfo with a function 2011-03-02 23:12:35 +01:00
endSessionDialog.js Ensure that all signatures are defined in DBus interfaces 2011-02-28 18:40:57 +01:00
environment.js Don't declare global variables 2011-02-24 21:22:44 +01:00
extensionSystem.js extensions: Ignore extensions in directories without read permission 2011-03-02 16:00:52 +01:00
iconGrid.js base-icon: Always recreate icon texture on style changes 2011-03-03 23:14:32 +01:00
lightbox.js Clean up unused includes 2010-07-19 01:46:01 +02:00
link.js Clean up unused includes 2010-07-19 01:46:01 +02:00
lookingGlass.js history: Fix HistoryManager 2011-03-04 09:07:15 -05:00
magnifier.js magnifier: Adjust for removal of 'show-magnifier' key 2011-02-17 16:09:07 +01:00
magnifierDBus.js Refactor Magnifier.ZoomRegion to avoid permanent Clutter.Clone 2010-12-03 14:21:57 -05:00
main.js autoWorkspaces: Merge empty workspaces with the always empty one 2011-03-08 19:46:51 +01:00
messageTray.js Don't show right click menu if a new notification for the source is showing 2011-03-07 14:24:08 -05:00
modalDialog.js modalDialog: remove old actions from _actionKeys in setButtons 2011-02-01 23:41:28 +03:00
notificationDaemon.js MessageTray: remove source if associated application exits 2011-03-07 17:37:31 -05:00
overview.js Restructure the way we handle positioning zooming in Workspace 2011-03-09 10:36:02 +01:00
panel.js panel: prevent blink of current app indicator 2011-03-09 01:53:32 +03:00
panelMenu.js popupMenu, panelMenu: split up panel and non-panel keynav 2011-03-07 10:57:45 -05:00
placeDisplay.js search: Replace 'icon' property in metaInfo with a function 2011-03-02 23:12:35 +01:00
polkitAuthenticationAgent.js polkit: don't show authentication dialog until needed 2011-02-23 14:49:09 -05:00
popupMenu.js MessageTray: add right click menu for summary items 2011-03-07 11:14:11 -05:00
runDialog.js history: Fix HistoryManager 2011-03-04 09:07:15 -05:00
scripting.js Clean up unused includes 2010-07-19 01:46:01 +02:00
search.js search: Replace 'icon' property in metaInfo with a function 2011-03-02 23:12:35 +01:00
searchDisplay.js search-result: Use a larger icon size 2011-03-02 23:12:35 +01:00
shellDBus.js Clean up unused includes 2010-07-19 01:46:01 +02:00
statusIconDispatcher.js tray: fix so that trayicons using symbolic icons get the right colors 2011-02-07 10:01:12 -05:00
statusMenu.js statusMenu: change IM presence when needed (#617207) 2011-03-01 10:10:14 +01:00
telepathyClient.js MessageTray: add right click menu for summary items 2011-03-07 11:14:11 -05:00
tweener.js tweener: remove tweens when target.actor is destroyed 2011-02-22 12:36:25 -05:00
viewSelector.js viewSelector: add Applications pane and search entry to Ctrl-Alt-Tab 2011-03-07 11:15:05 -05:00
windowAttentionHandler.js MessageTray: add right click menu for summary items 2011-03-07 11:14:11 -05:00
windowManager.js windowManager: Add mechanism to block animations 2011-03-08 19:46:46 +01:00
workspace.js Restructure the way we handle positioning zooming in Workspace 2011-03-09 10:36:02 +01:00
workspacesView.js Restructure the way we handle positioning zooming in Workspace 2011-03-09 10:36:02 +01:00
workspaceSwitcherPopup.js workspaceSwitcher: Initially hide after creation 2011-02-10 00:16:32 +01:00
workspaceThumbnail.js Remove manually added :rtl pseudo classes 2011-03-05 19:40:56 +01:00
xdndHandler.js xdndHandler: Correctly disconnect the window group visibility handler 2011-03-04 11:23:18 +01:00