skippy-xd icon indicating copy to clipboard operation
skippy-xd copied to clipboard

Show minimized windows too (Now: Keep thumbnails of unmapped windows)

Open ikem-krueger opened this issue 11 years ago • 16 comments

I like to see all my windows in an overview.

ikem-krueger avatar Oct 10 '13 15:10 ikem-krueger

It's not possible to display content of minimized windows right now. X does not retain the content of unmapped windows. We may only display an icon, or cache the window content (which would require skippy-xd to run as a daemon and take a certain amount of resources). Regardless of which approach is preferred, I won't have time to work on this before I finish my exam on Oct 20th.

richardgv avatar Oct 11 '13 05:10 richardgv

I like to see the daemon approach.

I think it would be useful to cache only the minimized windows. (When window get minimized, take a snapshot.)

ikem-krueger avatar Oct 11 '13 08:10 ikem-krueger

I don't think caching is a good idea. We want Skippy-XD to be as lightweight as possible, and it is for this reason that we recently dropped the daemon approach.

But I agree that displaying the icons of minimized windows would be very useful. I think there is a different report discussing this, but I forget.

landroni avatar Oct 11 '13 10:10 landroni

I would definitely try to implement the icon approach firstly, after my exam. Actually most code is ready.

Caching window contents would generate some extra load when it's enabled, but it shouldn't be much a problem for those who disabled it. Might be tricky to implement since unlike a WM we may not be able to know when a window is going to be iconified and take a screenshot on time, however.

@landroni: I suppose the daemon code is still there, but it has a few bugs.

richardgv avatar Oct 11 '13 12:10 richardgv

I found this nice article.

Two sections are pretty interesting:

"Intercepting X events as they're received" "Preventing the backing pixmap from being freed when the window is hidden/destroyed"

ikem-krueger avatar Oct 11 '13 12:10 ikem-krueger

@ikem-krueger:

"Preventing the backing pixmap from being freed when the window is hidden/destroyed"

I can't believe I forgot about XCompositePIxmap()! Yes, that should work. Thanks!

richardgv avatar Oct 11 '13 13:10 richardgv

afaik, this is another one, such a #11 and #8 so, there is a hope, that we will see iconified and "out-of-current-desktop" windows? :)

KottV avatar Nov 05 '13 01:11 KottV

so, there is a hope, that we will see iconified and "out-of-current-desktop" windows? :)

It's not my top priority now, because unfortunately there are a few more important bugs present, heh...

richardgv avatar Nov 05 '13 12:11 richardgv

Skippy works like a charm!

cosysco avatar Nov 05 '13 18:11 cosysco

It's not my top priority now

But you didn't answered no. I'll be waiting!

KottV avatar Nov 07 '13 00:11 KottV

Displaying unmapped windows (including those on other desktops) as icons/filled boxes has been implemented. Build from the git repo to test. :-)

There's no schedule for caching window content right now, though.

richardgv avatar Dec 10 '13 02:12 richardgv

Is there any chance we will be able to click these windows from other desktops and have it switch to that desktop?

jasonwert avatar Dec 12 '13 03:12 jasonwert

@jasonwert:

Is there any chance we will be able to click these windows from other desktops and have it switch to that desktop?

I suppose the WM should take care of this... Anyway, if your WM doesn't, try the switchDesktopOnActivate switch added with cbc8f4b. It won't work if your WM is not EWMH-compliant, though.

richardgv avatar Dec 12 '13 14:12 richardgv

I'm using Openbox (Crunchbang specifically). I've downloaded the current daily from the ppa.

I have these enabled:

switchDesktopOnActivate = true showAllDesktops = true

When I run skippy-xd I get this error (Not sure if it means anything):

wert@heinlein:~$ skippy-xd wm_check(): Your WM looks EWMH compliant. running once then quitting... wm_get_stack_sub(): Retrieved window stack from _NET_CLIENT_LIST. [ 0.04 ] error 8 (BadMatch) request 42 minor 0 serial 404 ("BadMatch (invalid parameter attributes)") clientwin_handle(): KeyRelease 36 (Return) ignored. clientwin_handle(): Quitting. wert@heinlein:~$

If i click a window not on my current desktop it still dumps to the current desktop.

Any idea?

Thanks

jasonwert avatar Dec 12 '13 21:12 jasonwert

@jasonwert:

I tested with fvwm last night. Openbox probably doesn't quite the follow the EWMH standard if I didn't misunderstand it: EWMH didn't state what the window parameter should be in _NET_CURRENT_DESKTOP client message but Openbox works only if I set it to root window ID.

And I've made another big mistake last night: I forgot to re-enable window activation code after I disabled it for debugging... Anyway, they should be fixed now. You could build from the git repo or wait until the PPA updates.

[ 0.04 ] error 8 (BadMatch) request 42 minor 0 serial 404 ("BadMatch (invalid parameter attributes)")

It's mostly harmless. It occurs when you activate an unmapped window. Probably I will try to silence it later.

richardgv avatar Dec 12 '13 23:12 richardgv

The new update did it. All works correctly on Openbox for me now.

Thank you for your work!

-jason

jasonwert avatar Dec 13 '13 19:12 jasonwert