GNOME Bugzilla – Bug 641877
Workspace thumbnail hover with monitor to the right
Last modified: 2011-03-21 17:49:39 UTC
Currently with workspace thumbnails, if there's a monitor to the right of the primary monitor, the controls just slide over onto that monitor. We could use clipping to keep them from going past the edge, but I don't think the hover slide-out behavior is useful without a Fitts-law edge. My proposal would be that in multi-monitor, we just always have the workspace thumbnails visible on the Windows tab without any hover behavior. (Possibly modified by whatever we end up doing to make workspaces less prominent if you only have 1 of them)
well i think that clipping the thumnail view to the first/ active display is a better solution, because usualy on dual/multi monitor setups the thumbnail is much wider and takes a lot of space from the window previews.
(In reply to comment #1) > well i think that clipping the thumnail view to the first/ active display is a > better solution, because usualy on dual/multi monitor setups the thumbnail is > much wider and takes a lot of space from the window previews. I think we'll only have the workspace preview show the items from that monitor.
*** Bug 643326 has been marked as a duplicate of this bug. ***
*** Bug 643848 has been marked as a duplicate of this bug. ***
*** Bug 644748 has been marked as a duplicate of this bug. ***
Created attachment 183598 [details] [review] workspacesView: clip WorkspacesDisplay to allocation need to solve this before 3.0. > I think we'll only have the workspace preview show the items from that monitor why? It greatly increase complexity of dragging windows between workspaces (for slave monitor)
Review of attachment 183598 [details] [review]: This approach is already part of bug 609258, which should land today. If we decide to not change the popout behavior, this bug can be dup'ed.
The clipping is now landed, but I think a better approach is to have the thumbnails always visible when there is a monitor to the right of the primary.
have you considered edge resistance? Which will of course allow you to go to the other monitor. Personally, I don't see any reason to move your mouse to the other monitor in overlay. Currently, the only action that happens on that other monitor is zooming back to the desktop which I can do without having to move my monitor clear to the other side.
@Sri: I do not completely agree with you here. Windows that I have dragged to the other monitor will appear there in overlay mode, so there is sometimes a need to move the mouse there. I've just tested the new git version and I have to say that things have improved a lot already. One suggestion for further optimalization could be that you take in to account the speed of the mouse when moving over the desktop thumbnails. Only start sliding in the desktop thumbs if the movement speed of the pointer is decreasing, with the following rationale: *a decrease of movings speed indicates that the user wanted to go to the thumbs -->start sliding them in * == or > in speed indicates that the user wants to go the the second screen --> do not slide in the thumbs.
Created attachment 183718 [details] [review] Always show the workspace thumbnails if there is a monitor to the right If there is a monitor to the right it is very easy to overshot the expanding thumbnails and enter the next monitor. So, in that case we just always show it.
Review of attachment 183718 [details] [review]: Code looks mostly good, just a little oversight regarding updating _alwaysZoomedOut when the monitor configuration changes. We probably should get designers' opinion as well before landing this. ::: js/ui/workspacesView.js @@ +602,3 @@ + for (let i = 0; i < monitors.length; i++) { + if (monitors[i].x >= primary.x + primary.width) { + this._alwaysZoomOut = true; The property won't get updated when monitors are plugged in/out - you should move that code to a function and call it both in _init() and as handler to the 'monitors-changed' signal. @@ +659,3 @@ + if (this._alwaysZoomOut) { + this._zoomOut = true; + this._zoomFraction = 1; I'd probably write this as this._zoomOut = this._alwaysZoomOut; this._zoomFraction = this._alwaysZoomOut ? 1 : 0; but OK as-is ...
Created attachment 183955 [details] [review] Always show the workspace thumbnails if there is a monitor to the right If there is a monitor to the right it is very easy to overshot the expanding thumbnails and enter the next monitor. So, in that case we just always show it.
Review of attachment 183955 [details] [review]: Looks good!
Attachment 183955 [details] pushed as b2df3fc - Always show the workspace thumbnails if there is a monitor to the right