logo       

Re: Patch to support EWMH show-desktop: msg#00151

window-managers.sawfish

Subject: Re: Patch to support EWMH show-desktop

John Harper wrote:
Michael Toomim writes:
|Here's a patch and a new file to make sawfish support the EWMH |show-desktop buttons. I think the behavior is a bit better than the way |metacity does it. I'd appreciate feedback.

Some random comments:
>
- I like the fact that this is separate from everything else, but I
wonder if that will make it harder to maintain

- I don't like the overloading of the iconified property

The reason to do this is that a window looks iconified when you're showing the desktop. Clicking on the window's taskbar icon should uniconify the window (and consequently unshow the desktop).

Maybe it shouldn't override the iconified state, but I think it's still important to provide that functionality (and appearance) to the user.

- you're reimplementing a simple version of the existing workspace code

- ewmh code should be kept in sawfish.wm.state.wm-spec wherever possible

- shouldn't the "desktop showing" property be global, not per w/s?

Possibly. Metacity does it globally. I tried doing it globally at first, but it was hard to implement it globally with iconified windows, because windows on all workspaces would get uniconified to the current workspace when unshowing the desktop.

- storing a list of windows is always a bad idea, all code in sawfish
avoids this in favour of placing properties on windows

Yes, I definitely should have done this.

- using a fluid variable would be much better than a defvar

Good suggestion. I hadn't seen fluids before.

In general I think this feature should be integrated with the workspace
code, possibly either as a special "empty workspace" (I'm not sure if
this would work too well though, since you'd have to play tricks to
avoid it showing in the pager, etc..), or maybe just as a variable that
controls whether non-desktop windows are shown or not,

another idea that just struck me, would it be possible to just raise
the desktop window to the top of the stack while showing it?

With either of those implementations, though, is it possible to make the windows unhide when you click on a taskbar icon? Another design goal was to unhide all windows when a new one is opened: if you hide all windows to open a folder on your desktop, it's confusing if the folder doesn't show up on your screen after you double-click it.

Also, the current implementation (the one is v1.3) doesn't focus the last window after a call to "hide-desktop". So if I hide the desktop and then show it again, the desktop is still focussed. It would be nice if it reverted the focus to the state it used to be in.






<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise