Deepak, I appreciate your enthusiasm, but I'm very leery of changing UI without 
a principled reason.  I know there was an open ticket with these suggestions, 
but I think we were still discussing whether there is precedent for these 
particular key assignments.

Luckily, it's a very short patch, so I won't feel too guilty that you spent a 
lot of time on this.  But in general, I think it's a wise use of your (and 
anyone's) time to do a "design review" by email before actually implementing a 
change in UI behavior, public APIs, or other key core technology.

OK, so let's just do that here.

I'm against ESC exiting the app on several grounds: (1) it's easy to do 
accidentally; (2) we already have a hot key (Ctrl-Q, or Cmd-Q on Mac) that does 
the same thing, and it's a widely accepted standard hotkey for that action 
across a large number of apps (and, by the same token, ESC is not generally 
used to exit apps); (3) perhaps most importantly, I think it's very confusing 
to have "modal" hotkeys, e.g., ESC does something inconsequential and easy to 
reverse when full screen, but totally destructive to the session when not in 
full screen -- that's terrible for cognitive/muscle memory.

As far as function keys for full screen mode and fit to window, I note at least 
one potential disadvantage to this plan: those hotkeys are at least 
mnemonically assigned now (to 'F', which can easily be remembered for "Full 
screen" and "Fit window").  And many other apps use Ctrl-F/Cmd-F for full 
screen.  On the other hand, many apps use Ctrl-F for "Find", so this argument 
is not as strong as the one for Ctrl-Q for "Quit".  But any way you look at it, 
there's no easy-to-remember connection between F2 and Full Screen, or F4 and 
Fit To Window.

BUT... I will happily entertain a counter-argument to any of these if you can 
show either that proposed changes bring us in line with a widely accepted 
standard across apps that our users would already be familiar with, or that our 
current hotkeys are conflicting with a standard (for example, if we had used 
Ctrl-W for "Full Screen", that would conflict with the widespread use of Ctrl-W 
for "Close Window").

What does "widely used" mean?  I'm primarily interested in popular, 
cross-platform, image- or graphics-related apps that are likely to be familiar 
with our core user base of VFX and Animation professionals.  Some that 
naturally come to mind are: Photoshop, Maya, Nuke, Katana.  That's not a 
comprehensive list, of course.  And of course, we should respect widespread 
standard key bindings that are not limited to VFX, such as Ctrl-Q Quit, Ctrl-W 
close Window, Ctrl-X/C/V for cut/copy/paste, Ctrl-S for save, etc.  But for a 
function of iv that is not analogous to something done by those other apps, or 
if those other apps do not appear to have a consensus, it's probably better not 
to change things at all unless an argument can be made that the change will 
objectively improve usability or intuitiveness of iv.

Discuss.  Please feel free to list apps that do or do not use those particular 
hot key assignments.  I can be easily swayed with evidence.

        -- lg


On Apr 14, 2012, at 10:36 AM, Deepak Gopinath wrote:

> This patch addresses issue #309 and makes the following additions:
> 1. Esc key exits full-screen mode, if it is not in full-screen mode, closes 
> iv.
> 2. F11 toggles full-screen mode. (F2 was suggested in the issue. I felt F11 
> was a more 'popular' alternative.)
> 3. F4 toggles fit to window.
> 
> 
> You can merge this Pull Request by running:
> 
>  git pull https://github.com/deepakg92/oiio master
> 
> Or you can view, comment on it, or merge it online at:
> 
>  https://github.com/OpenImageIO/oiio/pull/319
> 
> -- Commit Summary --
> 
> * In the About message box, the OpenImageIO URL has been hyperlinked to the 
> homepage ie., http://openimageio.org
> * Merge remote branch 'upstream/master'
> * Merge remote branch 'upstream/master'
> * 1. Esc exits full-screen mode, and if not in full-screen mode, closes the 
> application.
> 
> -- File Changes --
> 
> M src/iv/imageviewer.cpp (8)
> 
> -- Patch Links --
> 
>  https://github.com/OpenImageIO/oiio/pull/319.patch
>  https://github.com/OpenImageIO/oiio/pull/319.diff
> 
> --- 
> Reply to this email directly or view it on GitHub:
> https://github.com/OpenImageIO/oiio/pull/319
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

--
Larry Gritz
[email protected]


_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to