bbidulock / icewm

A window manager designed for speed, usability, and consistency
Other
594 stars 99 forks source link

Show window outline during alt+tab #612

Open plomari opened 3 years ago

plomari commented 3 years ago

It would be helpful if an outline of the window (a non-filled rectangle) were shown while using alt+tab to cycle through the window list.

IceWM doesn't use a compositor, and it can't just draw to the screen freely to show this rectangle. But maybe it could show a shaped window to emulate that effect?

Showing a "preview" of the window contents with 50% alpha or so would be nice too. Also, a completely new mode where you see an overview of all windows as tiles, like other WMs can do. But then you'd probably really need a compositor.

gijsbers commented 3 years ago

That would require substantially more donations, yes.

plomari commented 3 years ago

How much do I need to donate?

gijsbers commented 3 years ago

2K eu for anything where a compositor needs to be added to IceWM for really very cool but superfluous gimmicks.

danfe commented 2 years ago

It would be helpful if an outline of the window (a non-filled rectangle) were shown while using alt+tab to cycle through the window list.

Helpful to what, exactly? :-) If you want target (switch candidate) window to be more easily identifiable while cycling through them, have you tried QuickSwitchRaiseCandidate setting added in bf87d02 last year?

IceWM doesn't use a compositor, and it can't just draw to the screen freely to show this rectangle.

FWIW, Openbox draws only the window outline (no window contents) when cycling with Alt-Tab and does so without any compositor.

Also, a completely new mode where you see an overview of all windows as tiles, like other WMs can do. But then you'd probably really need a compositor.

If you're talking about Apple's Exposé feature, then again, it does not need a compositor. I use Skippy-XD with both Openbox and IceWM and it works like a charm.

plomari commented 2 years ago

Helpful to what, exactly?

When there a lot of windows on the screen (and some cover large areas of the screen), you often can't see to what window you're switching. With an outline, you see where the window you're switching to is located, which is often sufficient. (I guess you subconsciously memorize where on the screen your windows are.)

have you tried QuickSwitchRaiseCandidate

This is nice and may be more useful to some people than an outline. But since it just raises the entire window, I don't find it ideal either. It has a bit of a confusing effect. If a compositor were in play, I'd suggest rendering the raised window with alpha transparency.

By the way, do themes have a separate color for the window title bar of a window that's highlighted during switching? Would be useful for normal window tabbing too.

Drawing an outline may still be worth a consideration as feature, if it's somehow easy to implement. If I read its source code correctly, openbox creates 4 temporary windows to show a rectangle outline?

If you're talking about Apple's Exposé feature, then again, it does not need a compositor. I use Skippy-XD with both Openbox and IceWM and it works like a charm.

Thanks. Maybe I'll try it sometime next week. Unfortunately, while this looks very interesting, it also looks very dead. There's a slightly newer fork (link buried in one of the issues) which is also dead.

danfe commented 2 years ago

With an outline, you see where the window you're switching to is located, which is often sufficient. (I guess you subconsciously memorize where on the screen your windows are.)

I see; yes, this is Openbox' window cycling style.

By the way, do themes have a separate color for the window title bar of a window that's highlighted during switching?

If a theme specified different color for active window title, then yes, you'd see the candidate window title drawn as active while cycling through them.

If I read its source code correctly, Openbox creates 4 temporary windows to show a rectangle outline?

Yeah, it's pretty dumb and simple. It's not even themeable, as its width and colors are hardcoded. I patch it locally because I find it too thick and ugly (reduce FOCUS_INDICATOR_WIDTH to 4 and change colors to be more subdued and somewhat matching my current theme).

Unfortunately, while this looks very interesting, it also looks very dead. There's a slightly newer fork (link buried in one of the issues) which is also dead.

Well, that's one way of looking at it. On the other hand, it does its job and does it well even being abandonware. One could argue that Openbox is also kind of dead without regular releases, while it's actually considered "finished" by its author (or so I heard).

plomari commented 2 years ago

Took me time, but finally tried it. It works surprisingly well after all. Thanks for the tip. Outline switching would be a nice thing anyway.

cheapy commented 1 year ago

@plomari Did you get skippy-xd to work with IceWM's taskbar to popup a small window showing what is in the window related to the taskbar entry being highlighted? I have seen it work with a tint2 panel with IceWM running, but it doesn't do anything when the IceWM taskbar is active on the same system. Do you know how to configure it to work with IceWM's taskbar?

plomari commented 1 year ago

IceWM's taskbar to popup a small window showing what is in the window

I didn't make an attempt to get something like that working.

rubyFeedback commented 3 weeks ago

One could argue that Openbox is also kind of dead without regular releases, while it's actually considered "finished" by its author (or so I heard).

Often I see that the original author(s) just abandon a project, sometimes requiring later patches to keep it working. Fluxbox kind of died too. :(

What I also sometimes wonder is why the small WMs not use a common base. I am sure we could identify common parts in fluxbox, openbox, icewm, windowmaker, you name it.