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