Sunday, April 24, 2011

All Application Windows Should Support Transparency

My first experience with window transparency was the Terminal application in Mac OS X. Since then it has turned up elsewhere in various operating systems, much to my pleasure. ...but isn't enough.

I've developed a taste for EMACS. When I first tried it, almost 20 years ago, I found it unusable. It was clearly for programmers, which I wasn't. Now I love it, even though I'm still no hacker.
One of EMACS' many virtues is that on most systems I can run it within a terminal window ("emacs -nw filename") or in a GUI window (click and icon or "emacs filename"). On many systems it is also trivial to make a terminal window transparent.

I'm visual. Ordinarily that's a problem for CLI/terminal work. Terminal emulators with background transparency turn that on its head. Now I can see the web page I'm cribbing bash code from while I type it into EMACS.

Sadly, making other windows transparent is often not trivial. I'm blessed to work on PCs with up to three monitors so putting windows side by side is usually an option and of course most systems I use have proper cut/copy/paste clipboard systems. These things are not substitutes for transparency.

Transparency does "multiple big monitors" one better. Not only can you see the contents of two windows without moving them, you can see the contents of two windows without moving your eyes. This is a godsend for anybody who has ever switched application windows only to forget why. I'm pretty sure that's all of us.
All windows in all applications should have optional transparency. The technology is neither new nor prohibitively processor intensive. If you are a developer, of anything, consider this a feature request.


prime said...

I think you should take a look at compiz fusion.

DJ Dual Core said...

I have, but you are right. I should take a closer look at it.

Does it allow applying transparency to any window?

prime said...

You can control the transparency of any individual window using compiz fusion.

Try this link: