Difference between revisions of "No image open specification"

From GIMP GUI Redesign
Jump to: navigation, search
Line 25: Line 25:
 
* any 'what would you like to do today' type of interaction, including 'recently open images';
 
* any 'what would you like to do today' type of interaction, including 'recently open images';
 
* an empty canvas;
 
* an empty canvas;
* anything that looks like an empty page, piece of paper, tabletop wood;
+
* anything that looks like an empty page, piece of paper, wooden tabletop;
 
* anything that is based on assumptions of 'what users usually want to do next…';
 
* anything that is based on assumptions of 'what users usually want to do next…';
 
* anything distracting.
 
* anything distracting.
Line 52: Line 52:
 
* canvas, boundaries, guides or grid;
 
* canvas, boundaries, guides or grid;
 
* icons for image menu, zoom image toggle, navigate image, quick mask;
 
* icons for image menu, zoom image toggle, navigate image, quick mask;
* status bar;
+
* status bar.

Revision as of 23:43, 3 February 2008

intro

This is the specification for the state of GIMP when no image is open. It is still based on a multiple document interface model.

the OS-X exception

On OS-X, with its fixed menubar at the top of the screen, there is no need to have windows open to keep the application instance alive. Therefore the OS-X version of GIMP shall not perform all the stunts spec'ed below and run happily with no window open.

overall goals

  1. get the menubar out of the toolbox;
  2. keep the application instance alive by always having a window with menubar open, even when no image is open;
  3. with no image open, GIMP is ready for whatever users want to do next (new image, generate new image, open image, open oodles of images, not use GIMP for the next 12 hours), in whatever way possible (from within GIMP, or from other application than GIMP);
  4. the 'no image' window should be the digital equivalent of a no-nonsense clean tabletop in the atelier: ready to accept the next canvas for further graphics creation;
  5. a 'no image' window cannot be mistaken for a window with an empty canvas in any way;
  6. minimum disruption when opening a first image (go from no image open to a single image open) or closing the last image (go from a single image open to no image open).

no gimmicks

The following gimmicks shall explicitly not be part of the 'no image' window:

  • a 'welcome to GIMP' text, in any font size;
  • any splash-screen-like graphics or interaction, or GIMP contributor credits;
  • any 'what would you like to do today' type of interaction, including 'recently open images';
  • an empty canvas;
  • anything that looks like an empty page, piece of paper, wooden tabletop;
  • anything that is based on assumptions of 'what users usually want to do next…';
  • anything distracting.

minimal size, minimal disruption

The 'no image' window shall have a minimal size, which width is given by the need to display the full menubar, the height derived to create a pleasant aspect ratio with the width. The minimal window size shall be 640x480 pixels (WxH).

To minimise disruption, the actual window instance shall be reused (with no flashing or jerking) when opening a first image or closing the last image. Only in the following cases shall the window be resized:

  1. when starting GIMP with no image to open, the 'no image' window shall be given the minimal window size;
  2. when closing the last image and the width of the window is smaller than the minimal window width, then the window width shall be set to the minimal window width;
  3. when closing the last image and the height of the window is smaller than the minimal window height, then the window height shall be set to the minimal window height;
  4. when opening a first image and the window width calculation algorithm (as used in GIMP 2.4) calculates a width greater than that of the current 'no image' window, then the width shall be set to the calculated width;
  5. when opening a first image and the window height calculation algorithm (as used in GIMP 2.4) calculates a height greater than that of the current 'no image' window, then the height shall be set to the calculated height;

To repeat: in all other cases the window instance shall be reused without changing its dimensions or position in any way.

The 'no image' window shall be user-resizable as much as users want and window managers allow.

inside the 'no image' window

The 'no image' window shall contain the menubar and none of the gimmicks listed above. Also it shall not contain any of the following normal GIMP window content:

  • rulers or scrollbars;
  • canvas, boundaries, guides or grid;
  • icons for image menu, zoom image toggle, navigate image, quick mask;
  • status bar.