After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 115000 - Move shaken loose windows to the pointer
Move shaken loose windows to the pointer
Status: RESOLVED FIXED
Product: metacity
Classification: Other
Component: general
2.5.x
Other All
: High minor
: ---
Assigned To: Metacity maintainers list
Metacity maintainers list
: 115946 (view as bug list)
Depends on:
Blocks: 118195
 
 
Reported: 2003-06-12 06:33 UTC by Jürg Billeter
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch against cvs (1.05 KB, patch)
2003-06-12 16:07 UTC, Jürg Billeter
none Details | Review
shaken_loose chicanery (3.75 KB, patch)
2003-07-26 23:59 UTC, Rob Adams
none Details | Review

Description Jürg Billeter 2003-06-12 06:33:36 UTC
This relates to the cvs patch of bug 93586. There is the following FIXME in
the update_move function "if you grab the right side of the tilebar then on
unmaximize the pointer isn't on the titlebar which is kind of odd".

In the second-last patch of bug 93586 I've proposed a possibility to just
always move the top-center of the window to the cursor after shaking loose.

It seems that this is not the desired behaviour, but what else?
Comment 1 Havoc Pennington 2003-06-12 13:54:13 UTC
That's fine behavior really, I just messed up your code for it 
in removing the grab_current_ stuff and then I wanted to go to 
bed rather than figure it out so I put in a FIXME. ;-)
Comment 2 Jürg Billeter 2003-06-12 16:07:11 UTC
Created attachment 17493 [details] [review]
Patch against cvs
Comment 3 Elijah Newren 2003-06-14 21:58:31 UTC
Adding PATCH keyword and setting priority to high because of the patch.
Comment 4 Jürg Billeter 2003-06-20 07:01:07 UTC
*ping*
Comment 5 Rob Adams 2003-07-04 18:59:16 UTC
*** Bug 115946 has been marked as a duplicate of this bug. ***
Comment 6 Havoc Pennington 2003-07-05 04:58:10 UTC
We should commit this, sorry for the delay.
Comment 7 Rob Adams 2003-07-26 23:57:42 UTC
OK I've used Jürg's patch as a starting point (thanks for your
excellent work, Jürg) and created a patch that resolves several issues
with shaken loose windows:

1) moves the window under the pointer.  I found centering it to be
suboptimal so my patch places it so that proportonally the pointer is
the in the same place on the window as it was before unmaximizing.  In
particular this keeps the window on screen when shaking it loose

2) restores certain drag state when reattaching windows so that
everything mentioned in (1) works nicely when repeatedly unattaching
and reattaching windows.

3) uses the work area instead of the xinerama rectangle to compute
reattaching; avoids a very unpleasant flickering problem when a large
top panel is present.

This should make this feature ready for prime time.
Comment 8 Rob Adams 2003-07-26 23:59:18 UTC
Created attachment 18630 [details] [review]
shaken_loose chicanery
Comment 9 Havoc Pennington 2003-07-28 00:37:26 UTC
This won't compile on most C compilers, have to declare the variable 
at the top:

+      /* move the unmaximized window to the cursor */
+      double prop = 

Patch looks good to me otherwise, thanks.
Comment 10 Rob Adams 2003-07-28 00:55:38 UTC
fixed and committed.  Don't usually make silly non-standard mistakes
like that.