discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Other window managers


From: Eric Wasylishen
Subject: Re: Other window managers
Date: Mon, 8 Nov 2010 09:57:06 -0700

Hey Christopher/Wolfgang,

>> I'm trying to write my own window manager for Etoile :-). GNUstep 
>> integration is extremely important, but the way we are trying do some 
>> things, vs the way that GNUstep operates is causing some conflicts. I was 
>> hoping that I might get some advice on these issues.
>> 
>> The first thing is using GNUstep with click-to-focus mode. We need click to 
>> focus in Etoile for normal application windows because we don't have title 
>> bars and allow the user to move windows when they don't have the focus by 
>> just dragging them (none of this applies for palettes or inspectors, which 
>> are traditionally decorated).
> 
> Just curious, how can you close or miniaturize normal windows if they don't 
> have a title bar?

There's a mockup here of what Christopher is working on: 
http://etoileos.com/etoile/mockups/document-interaction/
It's got minimize / close buttons in a toolbar. Admittedly, it's radical, but I 
don't think this design is set in stone :-)

>> Secondly, I'm using EWMH window type hints to distinguish windows so that I 
>> know how to decorate them. GNUstep really isn't distinguishing normal 
>> windows from palette windows and inspectors (at least not in Gorm). I know 
>> this is a difficult issue, and I spent some time looking into how we can 
>> improve this. The Cocoa API makes it difficult, because it only allows 
>> windows to configure how they look and behave, not what they are or what 
>> they contain.
> 
> Why don't you use the _GNUSTEP_WM_ATTR property to determine the window style 
> and level? The EWMH hints are essentially derived from this information and 
> trying to recover this information from the EWMH hints seems a wasted effort.
> 
>> There are some things we could possibly use:
>> * Style masks - these say whether a window has a close button, title bar, 
>> minimise etc. we could say that windows without minimise flags are "utility" 
>> windows.

I think Wolfgang's suggestion will work - see 
back/Documentation/Back/Standards.txt - that struct has a window_style field in 
it we could look at. I implemented something similar for the Win32 GNUstep 
backend - if the window style has the NSUtilityWindowMask bits set, it requests 
a toolwindow type thin title bar.

NSUtilityWindowMask is the correct thing to look at to decide whether to give a 
window a special "palette" decoration. It's optional to set this flag on an 
NSPanel, and I think Gorm's panels just don't have it set. I turned it on a 
while ago for the GS font and color panels, though.

-Eric




reply via email to

[Prev in Thread] Current Thread [Next in Thread]