[[!tag usability gnome programming]]

What size should a new window be?

A large number of GTK+/GNOME programs let the widget set (or libglade or whatever) determine the default size the first time they're run. If the user resizes, they remember that size, and use that the next time. For many years, this has worked reasonably well.

These days, most people use a laptop at least part of the time. They keep attaching and detaching external monitors to the laptop. Accordingly, the size (in pixels) of their screen keeps changing. Suddenly, it's not a good idea to use the previous size of a window: the previous size may have been for a radically different size screen.

Most of the time, I use my laptop at home, with 1600 by 1050 pixels of screen real estate. My browser windows are nice and big, but only cover about half of the screen: the external monitor I use is too big to run a browser in maximize mode. Or indeed most any window.

When I take the laptop and go away, my browser windows are no longer of the right size. The browser wants to make really big windows, larger than my entire laptop screen. Luckily, my window manager handles that, and forces a window size that actually fits on the screen.

When I get back home, my browser windows are little stamps in the corner of the screen, and I have to resize them again.

This results in a lot of unnecessary make-work.

The version of the Epiphany browser in Ubuntu Hardy has an additional annoyance: sometimes web pages open new windows, and resize those. The browser then remembers that size. More manual resizing happens.

I think it's time for GNOME to re-think how new windows should be sized. I am vaguely aware of Apple doing something different, and no idea whatsoever what Windows does, but I'm sure there is some intelligent way of doing this. I have no idea what, though.

For windows like browsers, I'd like them to be maximized vertically, but only wide enough to allow approximately 80 characters of monospace text per line. For most web pages I frequent, this makes text columns (which only occupy parts of the page width) to be of a suitable width to be read comfortably.

Text editors should behave similarly.

Terminal windows should be 80x24, or possibly higher, but no wider.

Nautilus windows, on the other hand, should be the same size and position as before. Spatial Nautilus totally rocks, even though that doesn't work so well for browser windows. Go figure.

There's a lot of other kinds of windows, too. It seems that every kind of window has its own logic for how it should behave. I can't find a generic pattern to follow.

Edit: Old discussion page.