Revision 1bc4d7f1a38917e6d2bf837a660f5f498a29ea0c

Sean Egan seanegan at gmail.com
Mon Sep 3 00:22:26 EDT 2007


On 9/2/07, John Bailey <rekkanoryo at rekkanoryo.org> wrote:
> I'm not meaning to single Ka-Hing out here, as he is not the only developer who
> has committed code to Pidgin that does this.  I apologize in advance for the
> appearance that I am singling out any specific person, as this is not my intent.

Standing up to be singled out, as if I hadn't implemented conversation
positioning, Ka-hing wouldn't need to fix it :)

> I am a firm believer, as I'm sure Ethan and Luke are as well, that the
> remembering of window positions and the placement of windows at those positions
> is the responsibility of the window manager.  This is a view that Pidgin, as a
> project, has held for as long as I can remember.

I just did this because I needed to re-factor the conversation sizing
code, and it was easy enough to implement this widely and long
requested feature. This is another feature request that doesn't affect
me either way, implemented because it was asked for so much, and will
now defend to my death ;).

Questions:
- Where are the "responsibilities of the window manager" specified?
- Why is it ok to save and restore the position of the buddy list but
not the conversations?
- Why is it ok to save and restore window dimensions?
- If positioning the window is the responsibility of the window
manager, why does
  ICCCM even *allow* you to request a position?
- If your window manager is so smart, why doesn't it just ignore the
request to position?

> Remembering the position of the window and requesting it again tramples over any
> window manager that actually does its job (Read: fvwm and similar, which
> actually *manage* windows).  It also tramples over intelligent window management
> schemes by making a new window be created at a position that is no longer
> relevant in the placement scheme.

It doesn't 'trample' over anything. All we're doing is *hinting* at
the window manager "this might be a good place to put us." Window
managers that "actually do their job" are free to ignore this, and in
fact the documentation for gtk_window_move in fact states that most
window managers will:

  "Window managers are free to ignore this; most window managers
ignore requests for
   initial window positions (instead using a user-defined placement
algorithm) and honor
   requests after the window has already been shown."

You're correct that this feature caters to naive, un-configurable
window managers (you know, like the ones 99% of Pidgin users are using
;) ), but those who *are* using using super-configurable, scriptable,
high-end window managers are the same people who can easily override
it.

In either case, someone is complaining where someone their window
manager is placing their windows; in this case far fewer people are
complaining, people who can actually do something about it themselves.

-s.




More information about the Devel mailing list