
On Wed, Feb 13, 2008 at 10:10:19AM -0500, David Roundy wrote:
I can't help but wonder if a tabbed-like interface is best acheived by supporting EWMH or something, so gnome-panel or kicker could serve this function. But there's no harm in having redundant means of acheiving the same functionality.
I stopped thinking that reimplementing one of gnome-pannel functionality may be deemed as redundant. At least after the day when I had to set up a cron job to kill gnome-pannel every night, since it (or some of its applets) was leaking so much memory that in the morning my laptop was barely usable...;) Just kidding, obviously. BTW, that was a feature request, and it was that feature request that got me started with the new decoration code. It all started with the idea to make Tabbed a layout modifier (that is to say, and instance of the LayoutModifier class).
No, you shouldn't need to do anything with WindowNavigation to implement tabbed-like decorations. I presume you're thinking to have related modifiers, one for "true-tabbed" and one for "tabbed-like" decorating? That sounds like a good idea to me.
Yes, this is my idea.
It's better *not* to use isDecoration, on the principle that we should be checking for the actual property that we require (presense in the stack), not for a different property that happens to be true for the same windows.
This is an interesting point. Probably I should just change isDecoration to use the stack, right?
Yeah, that sounds reasonable, depending on what you plan to use isDecoration for. If you plan to do anything "special" with decoration windows (that you wouldn't want to have affect other xmonad-created windows), then you'd still want some way to distinguish. e.g. if we had a modular prompt code, that'd create a window, which might not be considered a "decoration".
Actually I don't have any specific plan. I wrote isDecoration when I fixed (your) LayoutHints - which was applying hints to decorations too. I thought a function to discriminate between decoration and managed windows should be needed. This is the reason why I asked why you didn't use it. And your answer makes me think we should get rid of it and write something like: isInStack :: Stack a -> Window -> Bool Cheers, Andrea