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 325019 - Edge resistance is sure nice, but should be optional
Edge resistance is sure nice, but should be optional
Status: RESOLVED DUPLICATE of bug 321905
Product: metacity
Classification: Other
Component: general
trunk
Other Linux
: Normal normal
: ---
Assigned To: Philip Van Hoof
Metacity maintainers list
Depends on:
Blocks:
 
 
Reported: 2005-12-26 19:23 UTC by Philip Van Hoof
Modified: 2005-12-30 21:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Making edge resistance optional (6.27 KB, patch)
2005-12-26 19:26 UTC, Philip Van Hoof
none Details | Review
Making edge resistance optional (6.27 KB, patch)
2005-12-26 19:27 UTC, Philip Van Hoof
none Details | Review
Fixes the KEY_EDGE_RESISTANCE issue (6.26 KB, patch)
2005-12-26 23:24 UTC, Philip Van Hoof
none Details | Review
Fixes typo (6.27 KB, patch)
2005-12-26 23:31 UTC, Philip Van Hoof
needs-work Details | Review
Adds a schema, also disables the edge resistance in update_resize (8.44 KB, patch)
2005-12-27 13:00 UTC, Philip Van Hoof
rejected Details | Review

Description Philip Van Hoof 2005-12-26 19:23:35 UTC
Edge resistance is a nice new feature, for people who love it.

I don't, therefore I made it optional. Will attach a patch.
Comment 1 Philip Van Hoof 2005-12-26 19:26:23 UTC
Created attachment 56402 [details] [review]
Making edge resistance optional
Comment 2 Philip Van Hoof 2005-12-26 19:27:05 UTC
Created attachment 56403 [details] [review]
Making edge resistance optional
Comment 3 Matthias Clasen 2005-12-26 21:02:46 UTC
+  gconf_client_notify_add (default_client, KEY_GNOME_ACCESSIBILITY,
+		          change_notify,
+			  NULL,
+			  NULL,
+			  &err);

Why does the patch do that ?
Comment 4 Philip Van Hoof 2005-12-26 23:18:25 UTC
Oh, that should be KEY_EDGE_RESISTANCE. Strange ... 
Comment 5 Philip Van Hoof 2005-12-26 23:24:41 UTC
Created attachment 56410 [details] [review]
Fixes the KEY_EDGE_RESISTANCE issue
Comment 6 Philip Van Hoof 2005-12-26 23:31:22 UTC
Created attachment 56411 [details] [review]
Fixes typo
Comment 7 Havoc Pennington 2005-12-27 02:21:27 UTC
I can only tell the window-edge resistance even exists if I try very very hard, it's so subtle... I can fully imagine not even noticing it if I didn't know about it in advance. Are you really objecting to that, or to the screen edge resistance (which is quite possibly too high, at least in metacity-2.13.5)
Comment 8 Matthias Clasen 2005-12-27 03:45:50 UTC
Yes, only screen edge resistance is problematic. The window edge resistance is very subtle.
Comment 9 Elijah Newren 2005-12-27 04:33:12 UTC
<yet more verbose ramblings>
I'm beginning to believe the screen edge resistance is much like spatilus (or whatever spatial nautilus is called).  There's a large number of people who love the new stuff, and a large number of people who hate it.  All you people who dislike the new screen edge resistance are on the wrong side ;-)  Hehehehe.  Anyway, I'm still fairly convinced that having a _large_ screen edge resistance as currently exists is better for new users as I feel that throwing windows to the sides of the screen is much more useful for beginners.  Quickly throwing windows offscreen does allow for an efficiency of a much different type for users familiar with the old broken behavior, but that's mostly a (mis)learned behavior that could be retrained in people...  

Now, despite all that, being one of those that hates spatilus I fully understand there being value in not changing things too rapidly and allowing people to make use of their (mis)training.  So, things are kind of a toss-up.
</ramblings>

Anyway, Havoc's question is spot on; why disable everything?  Which parts actually bug you, Philip?  Patch isn't relevant until that's answered.  Also, in terms of disabling the feature, you've only disabled edge resistance for mouse movement actions.  If it's going to be disabled, it also needs to be disabled for mouse resize actions, keyboard move actions, and keyboard resize actions.

Marking as a duplicate of bug 321905; since that's the big meta-bug where we're tracking all this stuff.

*** This bug has been marked as a duplicate of 321905 ***
Comment 10 Philip Van Hoof 2005-12-27 12:53:32 UTC
Note that the screen edge edge resistance does not apply to resizing. When resizing it's already impossible to resize further than your screen width/height. Metacity does not allow me to grow my windows larger than the screen width/height.

Anyway, working on a patch that also adds a schema to GConf. Will be ready in a few minutes . . .
Comment 11 Philip Van Hoof 2005-12-27 13:00:55 UTC
Created attachment 56436 [details] [review]
Adds a schema, also disables the edge resistance in update_resize

This version adds a schema.

If the gconf preference is set to false it disables the edge resistance in update_move and update_resize of window.c (disabled at the highest level).

Another idea would be to create a little bit more powerfull preference that would allow a "geek" to set all the various edge resistance parameters in apply_edge_resistance of edge-resistance.c. It would introduce a lot more gconf preference values and schema's. So for now I opt for this high level disabling of everything, and using good values for people who want it (and by default enable it).
Comment 12 Philip Van Hoof 2005-12-27 13:04:11 UTC
Oh damn, that attachment also includes this little change:

-#include <pango/pangox.h>
+#include <pango/pango.h>

I had to do that to get metacity compiling. I forgot to remove it while creating the patch. Please ignore it, it doesn't belong to the patch.
Comment 13 Philip Van Hoof 2005-12-27 13:09:52 UTC
Little idea from IRC:

pvanhoof> pbor, About the edge resistance stuff. To get it fully configurable, one would have to add a lot more than one option to the gconf-schema's. Which is most likely going to confuse even the very brave geeks
pvanhoof> Perhaps a better idea would be to have "a few" predefined settings. "Completely off", "Less snappy", "Normal", "Very snappy"
pvanhoof> or replace snappy with the correct english word for that
pbor> pvanhoof: well, may be an idea
pvanhoof> And do it in the mouse preferences window
pvanhoof> just like the mouse movement settings
pbor> pvanhoof: I'd just leave the numeric value in GConf and is a ui is ever added it can just show a few predefined values
Comment 14 Philip Van Hoof 2005-12-27 13:16:59 UTC
Well, I really simply want to disable it. This resistance stuff is causing repetitive strain injury :D. I need more mouse movements to get my windows correctly aligned on my screens. Perhaps I should, indeed, learn to use my keyboard more ;-).
Comment 15 Elijah Newren 2005-12-27 18:09:44 UTC
(In reply to comment #10)
> Note that the screen edge edge resistance does not apply to resizing. When
> resizing it's already impossible to resize further than your screen
> width/height. Metacity does not allow me to grow my windows larger than the
> screen width/height.

You are right that Metacity doesn't allow your window to be larger than the screen width/height, but that's not really relevant.  For example, the left side of the window may be 3/4 of the way to the right side of the screen and the right side of the window could be almost touching the right side of the screen.

Also, the screen resistance most certainly *does* apply to resizing.  While you may not be aware of how to resize the window with the mouse other than with the window frame, others are aware of the ability and make heavy use of it.
Comment 16 Elijah Newren 2005-12-27 18:20:35 UTC
If the screen edge resistance is what bothers you (as you claimed in bug 321905 comment 25; and note that it's also the part that bothers some other people), then the patch should just set the timeout resistances to 0 in metacity/src/edge-resistance.c:apply_edge_resistance() (and maybe also lowering the pixel thresholds, though I very doubt it affects much even for those that dislike the timeout resistance) instead of disabling everything.
Comment 17 Dean Loros 2005-12-30 21:50:33 UTC
I just commented on this at Ubuntu's forum  http://www.ubuntuforums.org/showthread.php?p=614782&posted=1#post614782  --I use dual monitors on my system & find this feature annoying at best--I would like to see a variable timing spec (gconf?) so advanced users could modify it to their taste.