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 _______________________________________________ Discuss-gnustep mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnustep
