← Back to team overview

touch-packages team mailing list archive

[Bug 1447886] [NEW] mir_demo_server(_minimal): Window movement/resizing stops responding when the cursor leaves the surface

 

Public bug reported:

mir_demo_server(_minimal) version 0.13 and later: Window
movement/resizing stops responding when the cursor leaves the surface.

If you move or resize a surface with Alt+(button1/button3) then it's
very easy to get the shell into a state where the window stops
responding to movement/resizing and even becomes unrecoverable.

Essentially the problem is the shell is only looking at the current
cursor position and doesn't do anything if it's outside of the surface.
This is frustrating as waiving the mouse around a bit it's very easy to
reach this situation.

It should be looking at the gesture as a whole and only doing position
checking at the start of the move/resize gesture (ie. mouse button
down). Thereafter the gesture should be continuous until the button is
released, regardless of whether the cursor is still inside the
surface/titlebar. You will find this is how all real desktops work, and
mir_proving_server tries to too. Surfaces should always "own" input
regardless of cursor position, just so long as the gesture (mouse down)
began on that surface.

The "unrecoverable" bit: This happens if you resize a surface too
small/thin and it becomes impossible to resize it bigger again.

** Affects: mir
     Importance: Medium
         Status: Triaged

** Affects: mir (Ubuntu)
     Importance: Undecided
         Status: Invalid


** Tags: wm

** Also affects: mir
   Importance: Undecided
       Status: New

** Changed in: mir
   Importance: Undecided => Medium

** Changed in: mir
       Status: New => Triaged

** Changed in: mir (Ubuntu)
       Status: New => Invalid

** Description changed:

- mir_demo_server(_minimal): Window movement/resizing stops responding
- when the cursor leaves the surface.
+ mir_demo_server(_minimal) version 0.13 and later: Window
+ movement/resizing stops responding when the cursor leaves the surface.
  
  If you move or resize a surface with Alt+(button1/button3) then it's
  very easy to get the shell into a state where the window stops
  responding to movement/resizing and even becomes unrecoverable.
  
  Essentially the problem is the shell is only looking at the current
  cursor position and doesn't do anything if it's outside of the surface.
  This is frustrating as waiving the mouse around a bit it's very easy to
  reach this situation.
  
-  It should be looking at the gesture as a whole and only doing position
+  It should be looking at the gesture as a whole and only doing position
  checking at the start of the move/resize gesture (ie. mouse button
  down). Thereafter the gesture should be continuous until the button is
  released, regardless of whether the cursor is still inside the
  surface/titlebar. You will find this is how all real desktops work, and
  mir_proving_server tries to too. Surfaces should always "own" input
  regardless of cursor position, just so long as the gesture (mouse down)
  began on that surface.
  
  The "unrecoverable" bit:  This happens if you resize a surface too
  small/thin and it becomes impossible to resize it bigger again.

** Description changed:

  mir_demo_server(_minimal) version 0.13 and later: Window
  movement/resizing stops responding when the cursor leaves the surface.
  
  If you move or resize a surface with Alt+(button1/button3) then it's
  very easy to get the shell into a state where the window stops
  responding to movement/resizing and even becomes unrecoverable.
  
  Essentially the problem is the shell is only looking at the current
  cursor position and doesn't do anything if it's outside of the surface.
  This is frustrating as waiving the mouse around a bit it's very easy to
  reach this situation.
  
-  It should be looking at the gesture as a whole and only doing position
+ It should be looking at the gesture as a whole and only doing position
  checking at the start of the move/resize gesture (ie. mouse button
  down). Thereafter the gesture should be continuous until the button is
  released, regardless of whether the cursor is still inside the
  surface/titlebar. You will find this is how all real desktops work, and
  mir_proving_server tries to too. Surfaces should always "own" input
  regardless of cursor position, just so long as the gesture (mouse down)
  began on that surface.
  
- The "unrecoverable" bit:  This happens if you resize a surface too
+ The "unrecoverable" bit: This happens if you resize a surface too
  small/thin and it becomes impossible to resize it bigger again.

** Tags added: wm

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mir in Ubuntu.
https://bugs.launchpad.net/bugs/1447886

Title:
  mir_demo_server(_minimal): Window movement/resizing stops responding
  when the cursor leaves the surface

Status in Mir:
  Triaged
Status in mir package in Ubuntu:
  Invalid

Bug description:
  mir_demo_server(_minimal) version 0.13 and later: Window
  movement/resizing stops responding when the cursor leaves the surface.

  If you move or resize a surface with Alt+(button1/button3) then it's
  very easy to get the shell into a state where the window stops
  responding to movement/resizing and even becomes unrecoverable.

  Essentially the problem is the shell is only looking at the current
  cursor position and doesn't do anything if it's outside of the
  surface. This is frustrating as waiving the mouse around a bit it's
  very easy to reach this situation.

  It should be looking at the gesture as a whole and only doing position
  checking at the start of the move/resize gesture (ie. mouse button
  down). Thereafter the gesture should be continuous until the button is
  released, regardless of whether the cursor is still inside the
  surface/titlebar. You will find this is how all real desktops work,
  and mir_proving_server tries to too. Surfaces should always "own"
  input regardless of cursor position, just so long as the gesture
  (mouse down) began on that surface.

  The "unrecoverable" bit: This happens if you resize a surface too
  small/thin and it becomes impossible to resize it bigger again.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1447886/+subscriptions


Follow ups

References