Incoherent modifier handling by views and sidebars

Stefano Teso <[email protected]>
Newsgroups gmane.comp.gnome.nautilus
Message-ID <20111208124324.GA2093@nexus>
Hello list,

while trying to decide how to handle the "Open each folder in new window" option
in bgo371156[1], I had to figure out the rules from other parts of the nautilus
interface. I analyzed empirically how the various views and sidebars handle
modifiers and whatnot when a new file/directory is activated.

What I came up with is this table:

                 _No "Alw Open in New Window"   _"Alw Open in New Window"___
                /                            \ /                            \
                |                             |                             |
Action    | Mod | ICON | LIST | PLACES | TREE | ICON | LIST | PLACES | TREE |
----------+-----+------+------+--------+------+------+------+--------+------+
DOUBLE    |     |  SW  |  SW  |  SW    |  SW  |  NW  |  NW  |  NW    |  NW  |
 CLICK    |  C  |  --  |  --  |  SW    |  SW  |  --  |  --  |  NW    |  NW  |
          |  S  |  NW  |  NT  |  SW    |  SW  |  NWC |  NWC |  NW    |  NW  |
          | C+S |  --  |  NT  |  SW    |  SW  |  --  |  NWC |  NW    |  NW  |
----------+-----+------+------+--------+------+------+------+--------+------+
ENTER     |     |  SW  |  SW  |  SW    |  --  |  NW  |  NW  |  NW    |  --  |
          |  C  |  SW  |  SW  |  NW    |  --  |  NW  |  NW  |  --    |  --  |
          |  S  |  NT  |  NT  |  NT    |  --  |  NWC |  NWC |  --    |  --  |
          | C+S |  NT  |  NT  |  SW    |  --  |  NW  |  NWC |  --    |  --  |
----------+-----+------+------+--------+------+------+------+--------+------+
BACKSPACE |     |  SW  |  SW  |  //    |  //  |  NW  |  NW  |  //    |  //  |
          |  C  |  --  |  --  |  //    |  //  |  --  |  --  |  //    |  //  |
          |  S  |  --  |  --  |  //    |  //  |  --  |  --  |  //    |  //  |
          | C+S |  --  |  --  |  //    |  //  |  --  |  --  |  //    |  //  |
----------+-----+------+------+--------+------+------+------+--------+------+
ALT+ARROW |     |  SW  |  SW  |  //    |  //  |  NW  |  NW  |  //    |  //  |
          |  C  |  --  |  --  |  //    |  //  |  --  |  --  |  //    |  //  |
          |  S  |  --  |  --  |  //    |  //  |  NWC |  --  |  //    |  //  |
          | C+S |  --  |  --  |  //    |  //  |  --  |  --  |  //    |  //  |
----------+-----+------+------+--------+------+------+------+--------+------+

Each row represents a possible action (e.g., double-click, etc.) plus some
modifier (C = control, S = shift, empty string = no modifier). Each column is
either a view or a sidebar widget; the first four columns refer to the behavior
when "Open each folder in its own window" is disabled, the other four columns
when enabled. The possible outcomes are:

  SW  = Open item in the Same Window
  NW  = Open item in a New Window
  NWC = Open item in a New Window, Close the current window
  NT  = Open item in a New Tab
  --  = No effect or not handled (handling done by a different widget)
  //  = Not applicable

What I can see in this table:

 - The icon view and the list view often behave differently wrt modifiers.
   For instance, double click+shift in the icon view means "open in new window",
   while in the list view it means "open in new tab".

 - ENTER+mod and double-click+mod behave differently in the places sidebar.

 - Alt+Arrow Key sometimes reacts to modifiers, sometimes it doesn't.

 - Handling of Control+Shift varies as well.

 - Double click

(Moreover:

 - Keynav in the tree sidebar is broken; a new item is opened whenever the
   selection changes; this is especially a problem when the "Open each folder
   blah" option is enabled. Bug report here [2]. Enter has no effect. Also,
   there's no way to expand a directory with keynav only. Bug reports pending.

   I assume that keynav should behave the same in both sidebars.

 - Clicking in the tree sidebar with shift or control pressed doesn't work.
   Bug report here [3].)

I guess what I'm asking for is: assuming that views should all behave the same,
and likewise for sidebars, what are the rules that should be applied in these
cases? A possile solution could look like this:

                 _No "Alw Open in New Window"   _"Alw Open in New Window"___
                /                            \ /                            \
                |                             |                             |
Action    | Mod | ICON | LIST | PLACES | TREE | ICON | LIST | PLACES | TREE |
----------+-----+------+------+--------+------+------+------+--------+------+
DOUBLE    |     |  SW  |  SW  |  SW    |  SW  |  NW  |  NW  |  NW    |  NW  |
 CLICK    |  C  |  NW  |  NW  |  NW    |  NW  |  --  |  --  |  --    |  --  |
          |  S  |  NT  |  NT  |  NT    |  NT  |  NWC |  NWC |  NWC   |  NWC |
          | C+S |  --  |  --  |  --    |  --  |  --  |  --  |  --    |  --  |
----------+-----+------+------+--------+------+------+------+--------+------+
ENTER     |     |  SW  |  SW  |  SW    |  SW  |  NW  |  NW  |  NW    |  --  |
          |  C  |  NW  |  NW  |  NW    |  NW  |  --  |  --  |  --    |  --  |
          |  S  |  NT  |  NT  |  NT    |  NT  |  NWC |  NWC |  NWC   |  NWC |
          | C+S |  --  |  --  |        |  --  |  --  |  --  |  --    |  --  |
----------+-----+------+------+--------+------+------+------+--------+------+
BACKSPACE |     |  SW  |  SW  |  //    |  //  |  NW  |  NW  |  //    |  //  |
          |  C  |  NW  |  NW  |  //    |  //  |  NW  |  NW  |  //    |  //  |
          |  S  |  NT  |  NT  |  //    |  //  |  NT  |  NT  |  //    |  //  |
          | C+S |  --  |  --  |  //    |  //  |  --  |  --  |  //    |  //  |
----------+-----+------+------+--------+------+------+------+--------+------+
ALT+ARROW |     |  SW  |  SW  |  //    |  //  |  NW  |  NW  |  //    |  //  |
          |  C  |  --  |  --  |  //    |  //  |  --  |  --  |  //    |  //  |
          |  S  |  --  |  --  |  //    |  //  |  --  |  --  |  //    |  //  |
          | C+S |  --  |  --  |  //    |  //  |  --  |  --  |  //    |  //  |
----------+-----+------+------+--------+------+------+------+--------+------+

That is:
 - Ctrl+Shift should not be accepted
 - The same modifiers behave the same for different widgets
 - The same modifiers behave the same for enter, backspace, and double-click
 - Ignore modsin the ALT+ARROW case,  as CLTR/SHIFT+ALT is often used at the
   window manager level

What do you think?

I hope this whole thing has some use for others, and is not only a result of my
OCD. :-)

Cheers,

----
Stefano

[1] https://bugzilla.gnome.org/show_bug.cgi?id=371156
[2] https://bugzilla.gnome.org/show_bug.cgi?id=665781
[3] https://bugzilla.gnome.org/show_bug.cgi?id=665785

-- 
nautilus-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/nautilus-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.