[Glade-devel] Window width and height request



On Thu, 2007-02-15 at 23:20 +0200, Vincent Geddes wrote:
Hi Tristan,

On Thu, 2007-02-15 at 10:32 -0500, Tristan Van Berkom wrote: 
The workspace widgets used to set the default-width/default-height of
toplevel GtkWindows automatically, this functionality was temporarily 
introduced for the initial demos of the embedded workspace, there
were/are plans for making properties change upon workspace resizes -
but its most important that we dont screw with
default-width/default-height without telling the user.


My implementation of the resizing was never meant to be temporary, at
least for me. In fact it was working well and was quite robust.

Yes we planned on that feature, but it had to be reimplemented - we knew
this from the start - thats why I'm saying temporary, it was temporarily
included at the time "as is" - but "as is" was altogether unacceptable
because it changes properties without notifying the user (not to
mention that the actual window resizing was driven by the properties 
themselves - however that is fixed now).

Consider that if the user wants to save a toplevel without specifying
a default-width/height (i.e. "the normal use case") - the user has to be
especially carefull to never resize the window in the workspace - or to
always remember to disable those properties before saving - sorry but
thats not an option.

The behaviour I was looking for was:
  - If the user checked/enabled the default-width/height, then
    effect the default-width/height
  - Else if the user checked/enabled the width/height-request, then
    effect the width/height-request
  - Else do nothing


I am uncomfortable with this for many reasons. 

Firstly, why would users ever want to set the width/height request on
GtkWindow's anyway? This is bad usage, and the GTK+ docs clearly state
as much [2]. If the user is misinformed or has some specialised needs,
then she is quite free to change the width/height request in the
property editor.

If the user went and explicitly checked the box enableing the
width/height-request properties - we must assume the user knows
what they are doing - also consider that ultimately toplevels in
the workspace are not nescisarily GtkWindows (thats just a current
shortcomming)

Secondly, it is modal behaviour (i.e if X then "user must do Y" else
"user must do Z"). This makes it hard for the user to carry out tasks,
as the process of performing modal tasks is generally more confusing and
complicated for the user (rather like the modal behaviour of Vi).

Thirdly, this behaviour implies that users must understand what these
mysterious GTK+ API properties actually mean, and why setting a default
size is recommended over setting a size request.

It is not recommended to set a default size or a size request, if the
user knows what they are doing, they might use these properties.

Cheers,
                   -Tristan






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]