Teen Programmers Unite  


Return to forum top

Is there a way to get transparent windows?

Posted by FatalDragon [send private reply] at July 30, 2002, 12:11:25 PM

Ok, I saw some one on TV using Linux, and their shell terminal window was transparent (You could see their desktop background through the window). I also saw somethign similer with Mac OS X. Is there a way to do this in Windows XP?

Posted by CodeRed [send private reply] at July 30, 2002, 12:40:25 PM

I've only heard of it ever being done in WinXP. WinXP's GUI supports alpha channel color (rgba) it defines the level of transparency

Posted by unknown_lamer [send private reply] at July 30, 2002, 01:11:58 PM

I wish that X supported _real_ transparancy. I think the easy way to do that would be to create a new graphics context type (so you don't have to break binary compatibility) that has an alpha channel. You could do this with the normal GC type if it is really just a typedef struct GC* GC; (i.e. all GCes are really pointers to graphic contexts). So, onto what I was going to say that no one else will understand or care about.

Basically, X should have a new function: XSetGCAlpha (some_gc, level); Where some_gc is a graphics context with an alpha channel and level is the level of the alpha channel you want (0.0-1.0). Then everything drawn onto the gc would be alpha blended with the windows underneath it. How? Well, a semi-transparant GC wouldn't cover the other window; the windows below the semi-transparant gc would still think they were exposed and continue to send drawing events, which the X server would shade.

I am probably thinking about this in a horribly incorrect way. But it would be cool!

Posted by miken [send private reply] at July 30, 2002, 01:32:09 PM

The Windows SDK function set_Opacity(double) should do it ... Take a look at the GDI+ docs included with Viz C++ 7.0 or on MSDN (msdn.microsoft.com). GDI+ is the "next generation" of GDI APIs.

Also, I haven't looked, but I bet it's a property of the new Windows window creation routines ...

Posted by AnyoneEB [send private reply] at July 30, 2002, 04:12:06 PM

I have a program called powermenu that allows you to set the transparency of windows in 2k/XP... let me find the download site... http://www.veridicus.com/tummy/programming/powermenu/

Posted by CodeRed [send private reply] at July 30, 2002, 04:24:46 PM

You can do that right in XP without special software, just go to system properties and look for it (I forget exactly what the tab was called, visual preferances or something like that)

Posted by miken [send private reply] at July 31, 2002, 02:28:37 PM

Whoops - I took your question from a programming stance! If you have a GeForce graphics card take a look at the nView options (under Control Panel->Display->Adapter->Advanced...) and there is an option to make windows transparent when dragged. Also, some applications such as Trillian and the new (unreleased) WinAmp have transparency options. Note that transparency often requires hardware support for any kind of speediness.

Posted by FatalDragon [send private reply] at July 31, 2002, 04:12:10 PM

Ya, I noticed it in Trillian.

Posted by Brok3n_Link [send private reply] at July 31, 2002, 09:46:00 PM

Trillian has sweeet transparentcy.
I've done it in VB using AlphaBlending.dll, but you can't have it continuesly(?) refresh because it has to hide the form the take a screenshot of what is behind it, so I guess you could say it isn't *True* transparency. Otherwise, it's excellent and I use it in a couple of things.

You must be logged in to post messages and see which you have already read.

Log on
Save for later automatic logon

Register as a new user
Copyright TPU 2002. See the Credits and About TPU for more information.