Focus through transparent windows

Various KDE 1.-4. Improvements

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

0
Score 50.0%
Description:

I've been using KDE's x composite manager, kompmgr, for a while now and it's just absolutely beatiful. Compared to xcompmgr and transset it's much more dynamic and having windows become transparent when they lose focus or when they are moved is great. However I've come up with an improvement that I'd really like to see implemented:

I have kompmgr set up so that unfocused windows become transparent and I've noticed that when several windows ontop of each other are transparent it's a bit hard to see which ones are above or below the others. The windowfocus behaviour I would like is that if I click the titlebar of a window (that is below other transparent windows) that window will gain focus no matter what Z-index it's at. If an active window is transparent though, that window should not surrender it's focus if the titlebar of an underlaying window is clicked, the behaviour I'm talking about should only happen in the case of several transparent, unfocused windows. Or preferably, be configurable... If my description is a bit confusing, look at the screenshot and it should all be clear...

I've been browsing around KDE's source at http://lxr.kde.org/ for the better part of my day without getting much wiser as to where to start... Is this controlled via the xserver rather than through KDE?

Anybody with more knowledge in the area than me who's got any tips on where to get started or is interested in this functionality?

Are other people even interested in this functionality? Maybe someone has an argument why this is a lousy idea so that I can stop wasting my time learning how KDE works? :)

/AlienNation

CooperHawks

13 years ago

How will you deal two windows with the same size, if I want the front activate and click on it, the bachground window will get focus? Maybe its better to use the scrollwheel and scrolling through the windows.

Report

bratwiz

14 years ago

Good Idea

Report

C

AlienNation

14 years ago

Thanks! thomas12777 is working on implementing this and getting it included into kde svn. I haven't heard anything about the progress in a while though.

Report

ris

14 years ago

This would be an interesting idea for KDE 4.

I think to make it clear what the window manager was going to do, when you mouseovered a window title bar in the background, it should become highlighted (or momentarily brought to the front) so that the behaviour isn't completely unexpected if you're not actually trying to do that.

It would be very annoying to be clicking in a window to bring it to the front, not realising that behind where you clicked there was a titlebar to another window that you didn't care about, and having the other window appear instead.

Report

C

AlienNation

14 years ago

Hehe, I just wrote almost the same sentence as you, regarding the confusion if mistakingly focusing the wrong window, when answering another comment before I saw yours :)

Yeah highlighting on mouseover would be a good idea and the behaviour should not apply to active windows. Maybe even a Ctrl+Click or something like that would be good so that the user definately knows what he/she is doing.

Report

Seli

14 years ago

For questions about developing the feature is the kwin@kde.org mailing list.

Report

C

AlienNation

14 years ago

Thanks, I'll look through the list and then ask some questions there...

Report

zammi

14 years ago

This link will help to improve the idea:

http://liihs.irit.fr/dragice/foldndrop/

Report

C

AlienNation

14 years ago

Wow, I looked at the video and that was really impressive. Think I'll leave that part to someone else though ;)

Report

oisch

14 years ago

well, you could start looking at kdebase/kwin/kompmgr, but it's not really the most beautiful code and it's one bin plain C file. The thing you want to implement is interesting, however it may be a bit tricky. With kompmgr you can only control the displaying of windows on the screen. What you want is also to redirect X Events so that they are received by different windows than the "on top" window. I doubt that it van be done without extensive X knowledge, but somebody please correct me ;)

Report

C

AlienNation

14 years ago

Yeah that's what I figure... Been looking in the kompmgr code but I don't think that has much to do with controlling the focusing of windows.

Felt hard enough trying to figure out the KDE sources, really not looking forward to start digging in the xorg code... :)

Report

thomas12777

14 years ago

it's not /that/ hard to implement 1st off: keep your fingers away from kompmgr.c - it's no way related 2. the right place is kwins evenmanager if (LMB) if (METABUTTON) if (opacity < 0xFFFFFF) for (all clients above in stack) if (windowTitle.contains(LMB.pos())) client.bring_up() else don't do anything() //don't dare to pass the meta'd LMB to the top window- could cause whatever as you can see you don't even have to operate on X event queue regards

Report

thomas12777

14 years ago

AAHHHHHHHHHHHHHHHH!!!! WHY DO I HAVE TO WRITE <br> everytime i want a LINEBREAK??? (much fun reading the above)

Report

C

AlienNation

14 years ago

Hehe, no worries, it was quite clear anyway :)

Hopefully I'll get some time to get the KDE SVN today and start poking around a little...

Great comment, thanks!

Report

thomas12777

14 years ago

be carefull, current svn trunk is allready kde4 as the 3.5 feature list is frozen in 3 days, i proposed those features on the kwin-devel list (hopefully not too late) and if lubos says "ok" i'll just code it in (aside some other stuff) if you want to code it, please shortly contact me, so we won't do it both

Report

C

AlienNation

14 years ago

I would be happy to have you code it. That would be great! It will probably actually work then... =)

Report

toonmuylkens

14 years ago

I think it is a great idea!

At first I dindn't really understand what you meant, but then I looked at the screenshot and it became all clear.

It would be an improvement in usability and user-friendlyness.
Also it would improve the speed of which you can chance from app to app.

However I have no idea how this could be acheaved... So I can't help you with that.

btw: composite isn't supported by the ati (closed source) drivers, and I have to use ATI at the moment. So I wont be able to test it anyway...

I hope your idea will be realised some day.

cheers
tuxer

Report

Nikoo

14 years ago

In fact your idea is interesting, but what your real aim could be achieved by Komposé (i.e exactly what Expose does on MacOSX).
Just move your mouse in a corner to have a full view of all your windows in order to choose the one your are interested in, and in another corner to hide everything and have access to the desktop.

I think that transparency + well working Kompose would be the most efficient way to manage windows.

Report

C

AlienNation

14 years ago

Interesting, I'll check that out and see if it does what I want it to... Thanks for the tip!

Report

stormking

14 years ago

I also think it's a great idea! When I can focus all windows on the screen, even if they are behind other windows, there is no need for a Microsoft-Windows-Style taskbar. That would be great. I never liked the taskbar but it was the fastest way to access all windows on the screen.

Report

Laerte

14 years ago

What happens when the kedit window is raised and become non transparent (like the kcalk in the screenshot)? You must use the taskbar again.

Report

C

AlienNation

14 years ago

Ok, now I understood what you meant... :)

As you mentioned, this will not be a feature that would make the taskbar redundant in any way but that really wasn't the intention either.

Report

C

AlienNation

14 years ago

Well, the annoying thing for me has only been when I want to focus a new window that is behind another transparent window, where both are visible and it's kind of hard to tell which one is above the other. When an active window fully covers another window you can't see it anyway. The same is true, obviously, with a maximized window (given that active windows are not transparent).

So yeah, when Kedit is activated one cannot focus the windows below it this way. If active windows are configured to be transparent as well, then this idea should apply. However it should be configurable since it might be weird if you click somewhere in the active window, like on a button, and the window below it is raised since its titlebar was directly below the button.

By the way, should I use the word "under" instead of "below" to speak correct English here...? =)

Report

C

AlienNation

14 years ago

Yeah that's what I think as well. And now when I have transparent windows i find myself focusing the "wrong" window at times since the window that gets the focus was above the window that I actually wanted to focus.

Report

C

AlienNation

14 years ago

Aw crap, doesn't ATI support the xcomposite extension? I just bought a new computer with an ATI card (it was a good deal but I couldn't choose the graphics card...). Haven't installed linux on it yet and now I guess I'll be a bit disappointed... Hope they'll get around to improve the drivers a bit more, and soon!

Thanks for the positive feedback though.

Report

12345678910
product-maker Base: 4 x 5.0 Ratings
File (click to download) Version Description PackagetypeArchitecture Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
updated Jul 28 2005
added Jul 28 2005
downloads 24h
0
mediaviews 24h 0
pageviews 24h 0