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 82917 - Allow edge-flipping
Allow edge-flipping
Status: RESOLVED WONTFIX
Product: metacity
Classification: Other
Component: general
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: Metacity maintainers list
Metacity maintainers list
: 88258 89070 93041 101097 118803 170793 172819 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2002-05-24 18:40 UTC by aaron
Modified: 2005-04-06 17:04 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement



Description aaron 2002-05-24 18:40:39 UTC
This should be off by default, but edge-flipping should be possible.
Comment 1 Havoc Pennington 2002-05-24 21:26:06 UTC
I don't like edge flipping because:

 - it breaks fitt's law
 - it's disorienting to users since just moving the mouse 
   causes a lot of "instability"
 - it involves a lot of implementation complexity 
   (putting up input-only windows on the sides of the screen 
    to detect the mouse motion)
 - the whole frickin' point of metacity is to not have this kind 
   of stuff - there are many other WMs you could use if you want 
   it, and I've gone well out of my way to be sure the 
   EWMH spec exists to ensure that people can use another WM

My mind can be changed, but "some users are used to it" will not be
the successful argument; I am NOT going to implement the union of
Windows, Mac, Enlightenment, Sawfish, OS/2, RISCOS, and fvwm2.
So I need a rationale beyond "one of those things had it and some
people got used to it"
Comment 2 aaron 2002-05-24 21:53:26 UTC
I don't care if you don't put it into Metacity, i can respect that you
might want a lean-mean-machine wm. Fine.  But can we have it in GNOME?

i.e.
http://bugzilla.gnome.org/show_bug.cgi?id=75613
Comment 3 Havoc Pennington 2002-05-24 22:22:52 UTC
I'm not sure the union of Windows, Mac, Enlightenment, Sawfish, OS/2,
RISCOS, and fvwm2 is the right thing for gnome either... 
but of course that's a discussion for the mailing lists.
Comment 4 Luis Villa 2002-07-25 17:50:20 UTC
*** Bug 88258 has been marked as a duplicate of this bug. ***
Comment 5 Luis Villa 2002-07-25 18:43:30 UTC
*** Bug 89070 has been marked as a duplicate of this bug. ***
Comment 6 Seth Nickell 2002-07-25 19:44:22 UTC
Hm, so adding this to GConf and allowing people who are particularly
attached to it would not, I think, be a disaster. Some preferences
have very bad side effects insomuch as they are incompatible with
certain other operations you want to allow. I can't think of major
cases of "things we'd want to do" that would be incompatible with
this, particularly a smart implementation that did not edge-flip on
edges that had docks (i.e. panels) on them. Flipping on "open edges"
would not mess anything up that I can think of.

So the only cost I can see to allowing this would be some increase in
complication to the codebase. Presumably settings only in GConf are
considered "unsupported" ? (actually, it might be nice to have an
"unsupported" category in Metacity's GConf and to allow some
particularyl in demand crack settings to go there).

Havoc, would you accept a clean patch that added this only as a GConf
preference? Someone has given me the impression they might consider
writing such a beast.
Comment 7 Havoc Pennington 2002-07-25 20:21:45 UTC
I would probably not take this patch, no. There are way too many
important issues to resolve in the metacity codebase to be
complicating it with this sort of thing.

If you want this stuff, use a WM that has it. I don't see the problem
with that.
Comment 8 Seth Nickell 2002-07-25 20:37:39 UTC
*nod*
Comment 9 Jared Burns 2002-07-25 20:45:36 UTC
Hopefully, I can do better than "some users are used to it"...

While edge-flipping may be difficult to adapt to at first, I've 
found that it is far more convenient than keyboard navigation or 
mouse navigation through the "workspace switcher" ("desk guide" 
in gnome 1.4). It is not the expected behavior for most users 
(only because of previous experience), but I consider it an 
important step in the evolution of the desktop metaphor.

Edge-flipping beats keyboard navigation for a number of reasons 
including:
1. The mouse is a more intuitive tool for humans. Mouse 
navigation is intuitive in the sense that muscular movements have 
a one-to-one relationship with the movements of objects on the 
screen. If you want to go to the desktop to the right of your 
current desktop, it's more intuitive to move your arm to the 
right than to press "alt+f2" on the keyboard.
2. For keyboard navigation to fit into a smooth navigational 
flow, it needs to be accessible with one hand so that the user 
can continue using the mouse in the other. It is physically 
difficult for many people (those with disabilities, in 
particular) to hit "ctrl+f4" with a single hand.
3. Not all keyboards are created equal. Modifier+FunctionKey 
sequences aren't convenient on all keyboards. Here's an example: 
http://www.kinesis-ergo.com/professional.htm

Edge-flipping beats mouse clicking in the "workspace switcher" 
for a number of reasons including the following:
1. It is faster. Clicking on the workspace switcher requires the 
user to move your mouse from whereever it was to the bottom right 
of the screen. This can be accomplished fairly quickly, but the 
user then has slow the mouse to a near stop and click carefully 
to select the correct workspace. With edge-flipping, the user can 
pull their mouse in the direction they want to move as fast as 
they can.
2. It's an evolutionary step in the right direction. The 
progression from a single workspace of Windows and Mac to the 
multiple workspaces of *nix is a great productivity win. I view 
edge-flipping as an incremental step forward along this line. 
Edge-flipping frees up the users interface the way multiple 
workspaces expanded it. The user doesn't have to be stuck in 
their little boxes anymore; they can naturally flow between 
workspaces at will.
Comment 10 Havoc Pennington 2002-07-27 18:58:39 UTC
IMO the fundamental problem is that edge flipping keys off of an
action that can easily be accidental; there isn't any explicit user
desire indicated to change the current workspace, and indeed it's easy
to trigger the flip without knowing that workspaces exist.

Arguably it's OK to have it as a hidden preference, since the main
objection is about it being confusing, but I am just not a big fan of
a different non-default codepath that will break things and clutter
code, and won't benefit the 99% of users who won't find hidden
options. It's not part of any sort of evolution to a future better
interface, because its fundamental
scary-change-with-no-explicit-user-action nature means you can't ever
really turn it on by default.

It just doesn't really fit in to the spirit of metacity, I guess.
To me if you want a lot of custom non-default features then something
like Sawfish or fvwm2 has the right internal design and overall goals
for you. Metacity is all about hard-coding and nonflexibility in order
to make the defaults work right with a minimum of effort.
It isn't trying to be all things to all people.
Comment 11 aaron 2002-07-31 16:14:35 UTC
As much as I missed them when I swithed to metacity, there are equally
productive ways of getting the same task done, (keyboard shortcuts,
for example, or the Workspace Switcher (left-click and drag there
instead-- you'll even move the mouse less!). 

 What really convinced me of Havoc's opinion, however, was that this
is a feature we do not absolutely need, whereas we do absolutely need
this software to be very stable and very easy to debug.  More code
paths and more complexity will lead us, step by step, into the abyss.
To use a bad pun, let's all just "KISS"  and make up and admit that,
as much fun as it is to disagree with him, Havoc is right. This time.
<grin>
Comment 12 Jared Burns 2002-07-31 16:51:12 UTC
For me it's a case of agreeing to disagree. I'll just stick with 
Gnome 1.4 until I get around to writing a patch which gives me 
edge-flipping.
Comment 13 compwiz 2002-09-11 15:56:50 UTC
*** Bug 93041 has been marked as a duplicate of this bug. ***
Comment 14 Havoc Pennington 2002-12-13 04:27:05 UTC
*** Bug 101097 has been marked as a duplicate of this bug. ***
Comment 15 Havoc Pennington 2003-07-31 20:59:36 UTC
*** Bug 118803 has been marked as a duplicate of this bug. ***
Comment 16 Stuart Ballard 2004-06-01 17:32:40 UTC
Jared: You can use Sawfish with recent GNOME just fine, and with appropriate
tweaks to configuration files, it will let you use edge-flipping. I'm still
waiting for someone to come up with a decent GTK2 WM that has it; I can't bear
to use a WM without it. A forked or patched Metacity, perhaps?

(the implementation complexity is only necessary because of the decision to go
with workspaces rather than viewports, isn't it?)

The "scary change with no user-visible feedback" effect could be mitigated in
several ways:

1) Some visual feedback to indicate what's happening. An example would be to
animate the transition, so that the current display scrolls offscreen and the
new viewport scrolls in. Ideally the mouse movement should be gradual as well,
sync'd up with the rest of the display.

2) Instead of automatically and immediately flipping the viewport, pop up a
little arrow button at the cursor location, with a descriptive tooltip, that the
user can click to do the move.

One or both of these could make it possible to turn the feature on by default
eventually.

I see edge-flipping as having the same benefits and the same rationale as
Spatial Mode in Nautilus. Instead of having to be aware "This little pager
thingy in the panel *represents* my workspaces as being next to each other"
(this folder icon *represents* the location of my file), the user can think "My
browsing workspace *is* to the right of my email workspace" (the window *is* the
folder).
Comment 17 Ben 2004-12-06 15:04:40 UTC
Hello Havoc,

I guess I am a bit late but.. ;-)

The Fitt's law was modeled upon linear (ie one dimensional) movements and it
does not deal with errors, as you can read in several places like this one:

http://ei.cs.vt.edu/~cs5724/g1/glance.html

I hope you might agree with the fact that moving windows in the pager with the
mouse from one workspace to another one is a very prone-to-errors operation.
If we use a big pager so that we can *see* and correctly click the windows in
it, it will just take up precious desktop space to perform an operation which
could be done even without a pager at all, after one gets used to the way she
configures her workspaces with edge-flipping.

I agree that very often keyboard shortcuts are faster to type but not every
human being is so lucky to be able to use a keyboard.

I also agree that code mantainability is very important, but at the end, the
software is written for the users, not for the mantainers so it would be nice,
from my point of view, at least to offer them a choice (even if not enabled by
default).

I am also sure that lots of people do not use it just because they dont know
about it and if they knew about it, they would start using it, this is what has
happened with all the people I know.

We are all blondes (no offense intended..) at the beginning... ;-)

Take care and keep up the good work anyway :-)


   Ben
Comment 18 Elijah Newren 2005-03-18 19:40:01 UTC
*** Bug 170793 has been marked as a duplicate of this bug. ***
Comment 19 Elijah Newren 2005-04-06 17:04:21 UTC
*** Bug 172819 has been marked as a duplicate of this bug. ***