[gnome-shell] workspaces-display: Don't slide out pager on drag-begin



commit ed8acefc007a0de9a0175efa6f29d6593e000138
Author: Florian MÃllner <fmuellner gnome org>
Date:   Thu Jun 16 14:53:17 2011 +0200

    workspaces-display: Don't slide out pager on drag-begin
    
    Sliding out the workspaces pager when starting a drag causes a lot
    of motion. With the pager only hiding if workspaces are not used,
    it is better to require to explicitly hover the workspaces sidebar
    for the sliding.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=652730

 js/ui/workspacesView.js |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js
index d601279..7b7c05b 100644
--- a/js/ui/workspacesView.js
+++ b/js/ui/workspacesView.js
@@ -855,7 +855,7 @@ WorkspacesDisplay.prototype = {
         if (Main.overview.animationInProgress)
             return;
 
-        let shouldZoom = this._alwaysZoomOut || this._controls.hover || (this._inDrag && !this._cancelledDrag);
+        let shouldZoom = this._alwaysZoomOut || this._controls.hover;
         if (shouldZoom != this._zoomOut) {
             this._zoomOut = shouldZoom;
             this._updateWorkspacesGeometry();
@@ -879,12 +879,22 @@ WorkspacesDisplay.prototype = {
     _dragBegin: function() {
         this._inDrag = true;
         this._cancelledDrag = false;
-        this._updateZoom();
+        this._dragMonitor = {
+            dragMotion: Lang.bind(this, this._onDragMotion)
+        };
+        DND.addDragMonitor(this._dragMonitor);
     },
 
     _dragCancelled: function() {
         this._cancelledDrag = true;
-        this._updateZoom();
+        DND.removeDragMonitor(this._dragMonitor);
+    },
+
+    _onDragMotion: function(dragEvent) {
+        let controlsHovered = this._controls.contains(dragEvent.targetActor);
+        this._controls.set_hover(controlsHovered);
+
+        return DND.DragMotionResult.CONTINUE;
     },
 
     _dragEnd: function() {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]