richardgv / skippy-xd

A full-screen Exposé-style standalone task switcher for X11.
GNU General Public License v2.0
340 stars 76 forks source link

display icons of iconified windows (Now: Display icons in the bottom?) #8

Open landroni opened 11 years ago

landroni commented 11 years ago

Currently iconified windows are not displayed in Skippy-XD. Would it be possible to have them displayed at the bottom of the Skippy-XD screen, Windows7- or Xfce (unlabelled) Window Buttons-style? This way when right-click to minimize a window will not make it disappear from the screen, but merely place it in the bottom row of iconified windows.

richardgv commented 11 years ago

I personally don't think this is a very easy task, honestly. My initial estimation is this would require around 1,000 lines of changes, as there are a lot of things we have to handle here -- whether to display those icons alongside existing mini windows or place them on the bottom, whether to resize icons or use two or three rows when there are too many icons, how to handle window icons that are too small, how to make sure undesirable unmapped windows are not included, how to distinguish unmapped windows that have the same icon, how to provide a default icon for windows with no icons (note skippy-xd cannot read images right now!), etc.

I hope you could understand my situation right now, landroni, that my top priority is to learn something about the kernel (in order to find a job) and find a job, and they are essentially taking 80% of my time. I'm really sorry, but it isn't very likely that I could finish those code in a timely manner. I will let you know when I make some progress.

sagotsky commented 10 years ago

Me too! I just tried skippy-xd out. I would like to use it, but it doesn't really fit with my tiling wm. But if it let me grab windows from other desktops it would be perfect (not sure if those are iconified or something else).

One of the other threads mentioned that iconified windows won't have previews. I would gladly trade the previews away in favor of getting access to all my windows.

richardgv commented 10 years ago

I can't believe I took 7 months to finish those stuffs... Anyway, with this patch windows from other desktops and minimized windows will be displayed as icons. I still need to check for bugs, etc. before I could commit it.

richardgv commented 10 years ago

The content of the patch has been committed to the repo. Could you please test it?

sagotsky commented 10 years ago

Nice response time, thanks!

I'm using xmonad and I get some interesting messages: main(): WARNING: No configuration file found. wm_check(): Your WM is neither EWMH nor GNOME WM compliant. Troubles ahead. running once then quitting... wm_get_stack_sub(): Retrieved window stack from _NET_CLIENT_LIST. [ 0.03 ] error 8 (BadMatch) request 42 minor 0 serial 346 ("BadMatch (invalid parameter attributes)") clientwin_handle(): KeyRelease 36 (Return) ignored.

The other item of note is that it doesn't seem to work quite right with my twinview setup. Calling skippy on my left monitor gives me windows from all my left monitor desktops. Calling it on the right, gives me windows from all the right monitor desktops. Weird. Xmonad is pretty unique in how it handles multiple screens though, so I'm not too surprised that it's behaving oddly.

On Mon, Dec 9, 2013 at 11:10 AM, Richard Grenville <notifications@github.com

wrote:

The content of the patch has been committed to the repo. Could you please test it?

— Reply to this email directly or view it on GitHubhttps://github.com/richardgv/skippy-xd/issues/8#issuecomment-30144876 .

richardgv commented 10 years ago

@sagotsky:

wm_check(): Your WM is neither EWMH nor GNOME WM compliant. Troubles ahead.

I believe by default XMonad is not entirely compliant to those standards (not sure if XMonad.Hooks.EwmhDesktops helps), and skippy-xd doesn't work too well with those WMs indeed.

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

It's a small bug that is mostly harmless, I guess? I will probably fix it later.

The other item of note is that it doesn't seem to work quite right with my twinview setup. Calling skippy on my left monitor gives me windows from all my left monitor desktops. Calling it on the right, gives me windows from all the right monitor desktops. Weird. Xmonad is pretty unique in how it handles multiple screens though, so I'm not too surprised that it's behaving oddly.

By default skippy-xd doesn't display windows on other Xinerama screens but do display windows on other virtual screens. That's weird indeed. Please try to enable [xinerama] -> showAll in your configuration file, or build the latest version (50242db622, which has this option enabled by default).

sagotsky commented 10 years ago

Tried the latest build. Works as desired on debian and ubuntu.

landroni commented 10 years ago

@richardgv I tried out latest master, and this seems to work nicely. I have two minor concerns, though:

Thanks!

sagotsky commented 10 years ago

@landroni I'm only interested in grabbing all windows. Maybe this should be a command line arg? --all perhaps?

landroni commented 10 years ago

@sagotsky Or as an option in the config file.

richardgv commented 10 years ago

@landroni:

the iconified windows are displayed as all other windows, which is a bit distracting. Would it be possible to somehow line them up in much smaller dimensions, say 50x50 pixels, either on the top or at the bottom of Skippy-XD?

Possible, though I would be in great trouble if everybody just come and ask for a different layout. :-D I guess it would be hard to invent a general layout system that satisfies everyone's needs?

I might need to take care of #33 firstly...

additionally, and I don't quite think that this is related to this bug report, by default Skippy-XD seems to pick all windows on all workspaces. Shouldn't by default only windows from the current workspace be displayed?

Does my reply in #35 answer your question?

landroni commented 10 years ago

Yes, command-line toggles like in #33 would be useful. As for the optimal layout, I would argue that iconified windows really do need to be grouped separately of the unminized windows.

If you take for instance alt+tab behaviour in Xfce, when both iconified and unminized windows are both present, then alt+tab will firstly display unminized windows grouped together in normal colour and secondly it will display the iconified windows grouped together and grayed out. Apart from the preview/icon distinction that we now have in Skippy-XD, we really do need to present the windows to the user clearly separate, if at least to avoid user confusion and bug reports like #34.