Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
True Transparency for aterm [Solved]
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
housetroll0
n00b
n00b


Joined: 03 Oct 2006
Posts: 3

PostPosted: Fri Dec 08, 2006 5:50 pm    Post subject: True Transparency for aterm [Solved] Reply with quote

Anybody looking to waste a little time? I have a challenge for you.
I am looking to make aterm truely transparent so that I can see my really slick screensaver that is running as my desktop background.
Making a screensaver run as a background was easy enough, just add to your .bash_profile the command to run your screensaver. I used
echo >> "/usr/lib/misc/xscreensaver/helios --root --nice --speed 3 --cameraspeed 1 --maxfps 20 &" >> ~/.bash_profile
Most of the options are to make the eyecandy not take up so much processer. From conky I can see that it typically uses less than 2% cpu for my Dell precision M65.

This is not truely setting my background to the screensaver, but constantly writing over it. So, when I use
$ aterm -tr
to get a transparent aterm, I do not see the screensaver but instead the wallpaper background (currently an ugly grey).

I have a thought on how I can get the screensaver to show up with aterm, but don't know exactly how to do it. I would try to pipe the screensaver to file or pseudofile and have the background constantly be updated with it. Anyone with any ideas, solutions?

-Troll

P.S.- Yes I know I'll be eating resources like mad, its just a mountain to climb because its there. I need a sherpa.


Last edited by housetroll0 on Fri Dec 08, 2006 8:44 pm; edited 1 time in total
Back to top
View user's profile Send private message
RageOfOrder
Tux's lil' helper
Tux's lil' helper


Joined: 06 Aug 2006
Posts: 99
Location: EH?!?!

PostPosted: Fri Dec 08, 2006 6:06 pm    Post subject: Reply with quote

As far as I know you'll need something like xcompmgr, or Compiz/Beryl if you have KDE or GNOME.
_________________
...And then stuff happened.
Back to top
View user's profile Send private message
i92guboj
Bodhisattva
Bodhisattva


Joined: 30 Nov 2004
Posts: 10315
Location: Córdoba (Spain)

PostPosted: Fri Dec 08, 2006 7:24 pm    Post subject: Re: True Transparency for aterm Reply with quote

housetroll0 wrote:

I am looking to make aterm truely transparent so that I can see my really slick screensaver that is running as my desktop background.
Making a screensaver run as a background was easy enough, just add to your .bash_profile the command to run your screensaver. I used
echo >> "/usr/lib/misc/xscreensaver/helios --root --nice --speed 3 --cameraspeed 1 --maxfps 20 &" >> ~/.bash_profile
Most of the options are to make the eyecandy not take up so much processer. From conky I can see that it typically uses less than 2% cpu for my Dell precision M65.

This is not truely setting my background to the screensaver, but constantly writing over it. So, when I use
$ aterm -tr
to get a transparent aterm, I do not see the screensaver but instead the wallpaper background (currently an ugly grey).


That's correct. Aterm cannot do transparencies, only the old ugly trick that every application under the sun do, which consist on using the wallpapers or a portion of it as a background. Konsole, Eterm and urxvt do the same, and do does the fvwm and kde "transparent" menus and lots of other apps.


Quote:

I have a thought on how I can get the screensaver to show up with aterm, but don't know exactly how to do it. I would try to pipe the screensaver to file or pseudofile and have the background constantly be updated with it. Anyone with any ideas, solutions?


Erm... even thru direct rendering it is quite resource consuming, imaging doing it as you describe :P

As someone stated you need to use the Xorg composite extension. You can search the gentoo wiki to discover how to setup composite and use xcompmgr to achieve those effects under any window manager, or you can use a window manager that can do so natively. Kwin has support for it if you compile it with the xcomposite use flag. Beryl and compiz can do so as well, and the latest metacity. Enlightenment has this capability since long ago.
Back to top
View user's profile Send private message
housetroll0
n00b
n00b


Joined: 03 Oct 2006
Posts: 3

PostPosted: Fri Dec 08, 2006 8:41 pm    Post subject: Reply with quote

Ok, thanks for the info. I just got comfortable with fluxbox so I don't want to switch WM again just yet. I emerged xcompmgr, it looks like it will work--after I get this no composite extension error corrected. Until then I'll consider this topic solved....
6th pink, RageofOrder,
Thanks alot.
Back to top
View user's profile Send private message
Sadako
Advocate
Advocate


Joined: 05 Aug 2004
Posts: 3792
Location: sleeping in the bathtub

PostPosted: Sat Dec 09, 2006 6:16 am    Post subject: Re: True Transparency for aterm Reply with quote

6thpink wrote:
housetroll0 wrote:

I am looking to make aterm truely transparent so that I can see my really slick screensaver that is running as my desktop background.
Making a screensaver run as a background was easy enough, just add to your .bash_profile the command to run your screensaver. I used
echo >> "/usr/lib/misc/xscreensaver/helios --root --nice --speed 3 --cameraspeed 1 --maxfps 20 &" >> ~/.bash_profile
Most of the options are to make the eyecandy not take up so much processer. From conky I can see that it typically uses less than 2% cpu for my Dell precision M65.

This is not truely setting my background to the screensaver, but constantly writing over it. So, when I use
$ aterm -tr
to get a transparent aterm, I do not see the screensaver but instead the wallpaper background (currently an ugly grey).


That's correct. Aterm cannot do transparencies, only the old ugly trick that every application under the sun do, which consist on using the wallpapers or a portion of it as a background. Konsole, Eterm and urxvt do the same, and do does the fvwm and kde "transparent" menus and lots of other apps.

Actually, urxvt has had support for true transparency since around 7.0, so you can try that out if you can get the composite extension working (and it should be easy enough to get used to coming from aterm).

rxvt-unicode is actually the name of the package, and you'll probably have to add it to package.keywords to get the required version.
_________________
"You have to invite me in"
Back to top
View user's profile Send private message
i92guboj
Bodhisattva
Bodhisattva


Joined: 30 Nov 2004
Posts: 10315
Location: Córdoba (Spain)

PostPosted: Sat Dec 09, 2006 12:16 pm    Post subject: Reply with quote

Nice, believe it or not, urxvt is about the only term emulator I use. But I'm not much into eyecandy, I like it better than any other term just because it's better unicode support, its nice rendering of the fonts and its perl extension and keysyms that I use intensively. Low memory consumption and the capability to use a lot of cliente consoles attached to a single daemon are interesting features as well. There is nothing about "true transparency" or "composite" in the changelog and I can't seem to find it in the manpage (maybe it is not up to date, I don't know). I think mrxvt has built-in composite support, but did not know a thing about urxvt. Would you mind telling us which config option should we look into?

Thanks.
Back to top
View user's profile Send private message
Sadako
Advocate
Advocate


Joined: 05 Aug 2004
Posts: 3792
Location: sleeping in the bathtub

PostPosted: Sat Dec 09, 2006 1:41 pm    Post subject: Reply with quote

Okay, that was really annoying.

I don't use urxvt myself, so trying to figure out how the damn thing works is a pain in the ass, as it's not mentioned anywhere.

First, you need rxvt-unicode compiled with the truetype use flag enabled, which shoudn't be a problem for most, but had me scratching my head as to why the "-depth 32" option, which is what you need to enable compositing, returned a
Code:
urxvt: "depth": unknown or malformed option.
urxvt: "32": malformed option.

Anyway, to try it out start urxvt with something like this;
Code:
urxvt -depth 32 -fg white -bg rgba:0000/0000/0000/cccc

This is what (the end of) the man page tells you, but it never mentions composite;
man urxvt wrote:
ALPHA CHANNEL SUPPORT

If Xft support has been compiled in and as long as Xft/Xrender/X don't
get their act together, rxvt-unicode will support
"rgba:rrrr/gggg/bbbb/aaaa" (recommended, but MUST have 4 digits/compo-
nent) colour specifications, in addition to the ones provided by X,
where the additional A component specifies opacity (alpha) values. The
minimum value of 0 is completely transparent). You can also prefix any
color with "[a]", where "a" is on to four hex digits specifiying the
opacity value.

You probably need to specify "-depth 32", too, and have the luck that
your X-server uses ARGB pixel layout, as X is far from just supporting
ARGB visuals out of the box, and rxvt-unicode just fudges around.

For example, the following selects an almost completely transparent red
background, and an almost opaque pink foreground:

urxvt -depth 32 -bg rgba:0000/0000/0000/2222 -fg "[e]pink"

Please note that transparency of any kind if completely unsupported by
the author. Don't bug him with installation questions!

I really should have remebered how much of a pain it was to figure out when I mentioned this in my last post.

I also forgot how nice it is, though. Might start using it again myself.
_________________
"You have to invite me in"
Back to top
View user's profile Send private message
i92guboj
Bodhisattva
Bodhisattva


Joined: 30 Nov 2004
Posts: 10315
Location: Córdoba (Spain)

PostPosted: Sat Dec 09, 2006 3:02 pm    Post subject: Reply with quote

Thank you for the quick response. :)

I inmediatly though about compositing. I am not sure but for what it seems that alpha transparency can be used only in RGBA visuals and it might, probably, be something similar to the shaped transparency that some wm's like fvwm feature on some modules, that can show the windows below them, faking some kind of advanced false transparency. If this is the same, it is still a fake, though a clever one. You can make sure by puting the transparent term in front of an mplayer window while a video is running, you will see the mplayer thru a shaped bar in fvwm for example, but the video under that shaped thingie will not update.

This is just my assumption, I never used that feature and didn't even know it existed.
Back to top
View user's profile Send private message
Sadako
Advocate
Advocate


Joined: 05 Aug 2004
Posts: 3792
Location: sleeping in the bathtub

PostPosted: Sat Dec 09, 2006 4:03 pm    Post subject: Reply with quote

Just tested this out, and placing the urxvt window over mplayer's just gives an ugly black box where they overlap, and the drop shadows make it even worse.

However,if I try it mplayer with "-vo x11" instead of the default xv overlay, you can see the video playing in the terminal's background, and there is very little difference with regards to cpu usage.

It's quite nice actually, here's a quick screenie (beware, large file ~700 Kb).
_________________
"You have to invite me in"
Back to top
View user's profile Send private message
widremann
Veteran
Veteran


Joined: 14 Mar 2005
Posts: 1314

PostPosted: Sun Jun 08, 2008 5:55 pm    Post subject: Reply with quote

Hopeless wrote:
Okay, that was really annoying.

I don't use urxvt myself, so trying to figure out how the damn thing works is a pain in the ass, as it's not mentioned anywhere.

First, you need rxvt-unicode compiled with the truetype use flag enabled, which shoudn't be a problem for most, but had me scratching my head as to why the "-depth 32" option, which is what you need to enable compositing, returned a
Code:
urxvt: "depth": unknown or malformed option.
urxvt: "32": malformed option.

Anyway, to try it out start urxvt with something like this;
Code:
urxvt -depth 32 -fg white -bg rgba:0000/0000/0000/cccc

This is what (the end of) the man page tells you, but it never mentions composite;
man urxvt wrote:
ALPHA CHANNEL SUPPORT

If Xft support has been compiled in and as long as Xft/Xrender/X don't
get their act together, rxvt-unicode will support
"rgba:rrrr/gggg/bbbb/aaaa" (recommended, but MUST have 4 digits/compo-
nent) colour specifications, in addition to the ones provided by X,
where the additional A component specifies opacity (alpha) values. The
minimum value of 0 is completely transparent). You can also prefix any
color with "[a]", where "a" is on to four hex digits specifiying the
opacity value.

You probably need to specify "-depth 32", too, and have the luck that
your X-server uses ARGB pixel layout, as X is far from just supporting
ARGB visuals out of the box, and rxvt-unicode just fudges around.

For example, the following selects an almost completely transparent red
background, and an almost opaque pink foreground:

urxvt -depth 32 -bg rgba:0000/0000/0000/2222 -fg "[e]pink"

Please note that transparency of any kind if completely unsupported by
the author. Don't bug him with installation questions!

I really should have remebered how much of a pain it was to figure out when I mentioned this in my last post.

I also forgot how nice it is, though. Might start using it again myself.

I've tried that, but I get the stupid "Error: Unsupported depth 0... exiting" message, which makes no sense, because I gave it a depth of 32, not 0. Googling reveals absolutely nothing. Any ideas?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum