Re: resizing with gravity

Bradley T Hughes wrote:

On Wednesday 26 April 2006 23:42, Sasha Vasko wrote:

Russell Shaw wrote:

Sasha Vasko wrote:

An X app might open a grid of top-level windows, and rearrange them
as more windows are added or removed.

No application should ever rely on being able to do that.

I completely disagree with this statement. Applications *should* be able to rely cooperating with the window manager when placing windows in a grid or some other arrangement on the screen. SDI style apps like the GIMP and those found on Mac OS X would be cumbersome to use (at best) without some kind of app<->wm cooperation about how and where multiple toplevel windows should be placed.

And exactly why is that? Client maps a window of specific size, and WM decides where to place it. WM implements policies that specific user likes and thus it is better suited, then the client app of chosing the best possible location for the window. Why does a client needs to concern itself with its position even if it has several top level windows??? Is it like : "Oh No! If My Windows ain't adjucent I Ain't gonna draw no nothing!!!"

Such apps may exist primarily for embedded systems without a window
manager, but it is still useful to be able to use those apps where
a WM is running. In that case, the WM must have a policy setting that
allows the app to run as designed, or in a semi-managed way.

Yes, that is what I'm saying - user (via window manager configuration)
determines how windows are placed. Not the client application.

Requiring the *user* to configure the wm on how to place every single toplevel window the app opens is unacceptable. The application knows best how various toplevel windows relate to each other and it should be easy to allow the app to provide acceptable defaults for the user. If the wm makes this impossible, then the wm is broken.

Yeah SURE! Any application is dumb and knows nothing about what particular user really wants. And what user really wants is set in window manager's configuration, and indeed it is supposed to govern each and every application's top-level window. Now if user opens something up that is not placed conviniently (again, as far as user concerned, not the client app) - It is Window Manager who has to provide user with means of resolving the situation.

Window managers exist solely for the purpose of the *user* to specify
how top-level windows should be managed.

I'm not going to comment on this one, I'll get flamed badly :)

This is why users and developers doing non-trivial stuff find GUI on
linux crap compared to some proprietory systems.

Indeed. We get bit by this all the time. Things that are trivial on Windows and Mac OS X are difficult and often impossible to do on X11 because of the "the WM knows best" mentality.

Hmm, let me see, the ability to set desktop-wide policies on how windows are decorated and managed is one of the very few GOOD things about X. Maybe the only good thing. Problematic areas are rendering of the contents and hardware acceleration. Now, how could you possibly get bit by the only good thing you have? Whats so complicated about observing a clear separation of responcibilities anyways? Window manager manages desktop, clients manage their own contents. Why clients has to be so arrogant as to try and dictate WM how desktop should look like, and what place on it they should take? Its not like WM's are trying to sneak in titlebars and buttons INTO client contents, which would be very beneficial as far as creating futuristic interfaces. But nobody's doing it don't they? Cos client's content its client's responcibility. But then again WM's responcibility is how desktop looks like and windows on it arranged. So apps should tame their feeling of self-importance and mind their own rectangular area of the screen real estate.

The proper way to do this stuff is to have it easy to understand
(adequate documentation and help systems), and have every parameter
easily configurable
by all users.

Yes, and it is done in the Window Manager's configuration in order to
enforce uniform policy on all clients. Clients messing around with
placement is exactly the anarchy that you complain about.

Wrong. If you force every client into submission, sooner or later they will revolt (just like in any dictatorship). App programmers get frustrated because their apps don't work the way they want; users get frustrated because the apps the want to use don't work the way they expect. This is the issue at hand.

Well, frustration is always caused by a feeling of self-importance. Someone who's accepted the world around himself as it is, and its fate in it, will never get frustrated, but marvel at the beauty of it. So, frustrated people should not work on amending specs, but on accepting that our life is too short, the death is stalking us every moment of it, that nothing is more important then anything else, and we should be gratefull for what we already have and humbly accept our path.

Now, about revolts in dictatorships: those usually end up with tanks rolling over the crashed bones of revolutionaries, and those who survive - rot in jail, causing permanent damage to their health, and getting frustrated about a whole different range of inconviniences, such as abusive inmates and bars on the windows.

That said, there will be no meaningful revolt in X, unless X specs drops redirecting ConfigureRequests to window managers, which is a whole different story.

Sasha Vasko

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