# rxvt transparency and fonts



## Beeblebrox (Nov 10, 2014)

I have rxvt-devel-2.7.10_7 installed, and I'd like to get some eye candy working.

~/.Xdefaults has (among others):

```
# These work
rxvt*foreground: Green
rxvt*background: Black

# NOT WORKING: Transparency
rxvt*transparent: true
rxvt*shading: 30
## (also tried shading 150)

# NOT WORKING: Fonts
rxvt*font: xft:Liberation Mono:pixelsize=13:antialias=true:hinting=true
rxvt*boldFont: xft:Liberation Mono:bold:pixelsize=13:antialias=true:hinting=true
```

Problems:

I get no transparency (I'm using Enlightenment desktop).
I get a font error:
`$ rxvt`

```
rxvt: can't load font "xft:Liberation Mono:pixelsize=13:antialias=true:hinting=true"
```


----------



## fonz (Nov 10, 2014)

If I recall correctly you need *u*rxvt (x11/rxvt-unicode) for transparency. The same may apply to fonts, but I'm not entirely sure about that one.

P.S. Please note that (u)rxvt only supports pseudo-transparency. The background needs to be set properly.


----------



## protocelt (Nov 10, 2014)

Hi,

x11/rxvt-unicode does support true transparency if using a window manager that supports compositing. I'm using it with true transparency as I write this.


----------



## Beeblebrox (Nov 10, 2014)

From what I read (I forget where) x11/rxvt-devel incorporates all the features of  x11/rxvt-unicode, therefore making it the next best thing since sliced bread. Am I wrong on this?



> rxvt only supports pseudo-transparency


_I'm a_ware of that, and also that the code "transparent: true" is stated as only relevant for pseudo-transparency.

I do wonder whether e17 incompatibilities have any relevance.


----------



## fonz (Nov 10, 2014)

Beeblebrox said:


> From what I read (I forget where) x11/rxvt-devel incorporates all the features of  x11/rxvt-unicode, therefore making it the next best thing since sliced bread. Am I wrong on this?


I haven't tried rxvt-devel, but for me using `urxvt -tr` and having

```
URxvt*font: xft:Bitstream Vera Sans Mono:pixelsize=11
```
in ~/.Xdefaults works as expected. May I ask how you're setting your background? Not all background-setting applications work with (u)rxvt. For example, graphics/xv does not, graphics/hsetroot does.


----------



## Beeblebrox (Nov 11, 2014)

> for me using urxvt -tr ... works as expected



Well, that's interesting. Using "-tr" does give transparent mode, albeit the image displayed is from Slim's login and not the desktop wallpaper, but that's fixable. I would have assumed that one would be able to specify "-tr" as default in .Xdefaults?



> May I ask how you're setting your background?


I'm not using any extra port. e17 has a menu item for setting the wallpaper image, and that's what I use.

The font error is consistent with all three fonts that I have installed: bitstream-vera, liberation and dejavu. Something in the configuration line needs to be different for this version I suppose. Using Rxvt*font (instead of rxvt*font) made no difference.

I forgot to mention that copy/paste also do not work. The default keys are supposedly ctrl+Insert/shift+Insert, but these do nothing. Must one necessarily use perl scripts to get this done?


----------



## fonz (Nov 11, 2014)

Beeblebrox said:


> I would have assumed that one would be able to specify "-tr" as default in .Xdefaults?




```
Rxvt*Transparent: True
```
should work. (Or maybe rxvt*..., but you get the idea.)



Beeblebrox said:


> I'm not using any extra port. e17 has a menu item for setting the wallpaper image, and that's what I use.


I think Enlightenment used to come with Esetroot, but apparently not any more. And whatever it uses now, it would seem that Rxvt doesn't pick it up as being the desktop background. Maybe you can try using e.g. graphics/hsetroot to set the background instead of e17's built-in function.



Beeblebrox said:


> I forgot to mention that copy/paste also do not work. The default keys are supposedly ctrl+Insert/shift+Insert, but these do nothing. Must one necessarily use perl scripts to get this done?


I built and installed x11/rxvt-devel, just to check:

Copy/paste with the mouse works. Pasting with Shift+Insert also works, but Ctrl+Insert only rings the bell.
The following works for x11/rxvt-unicode:

```
URxvt*font: xft:Bitstream Vera Sans Mono:pixelsize=11
```
But setting the following for x11/rxvt-devel

```
Rxvt*font: xft:Bitstream Vera Sans Mono:pixelsize=11
```
only results in

```
rxvt: can't load font "xft:Bitstream Vera Sans Mono:pixelsize=11"
```

Transparency works for me when I set the background using graphics/hsetroot.


----------



## Beeblebrox (Nov 11, 2014)

```
Rxvt*Transparent: True
```
I already have that but it strangely does not work (from post #1).



> it would seem that Rxvt doesn't pick it up as being the desktop background.


I remember that I had same problem with gnome-terminal some time back, which means that the problem is not reserved to Rxvt.

Copy/Paste: I'm getting mouse double-click results in copy, shift+insert pastes, but only within Rxvt. This means I can copy/paste text from/to Rxvt, but nothing outside. That fails if I try to paste to text-editor the copied item from Rxvt (and vice-versa).

graphics/hsetroot is interesting, because it seems compatible with x11-wm/openbox which I plan on delving into eventually. A search on the subject also brings up graphics/feh as alternative method (which I would prefer).

How do you configure hsetroot to work? Below in ~/.xinitrc did not work.

```
hsetroot -center <path>/wallpapers/some-paper.jpg
```


----------



## fonz (Nov 12, 2014)

Beeblebrox said:


> I remember that I had same problem with gnome-terminal some time back, which means that the problem is not reserved to Rxvt.


Eterm (if that's still around) is probably affected too. I don't recall the exact nitty-gritty details, but if I recall correctly there are two ways (in terms of programming) of setting an X background: a correct one and an incorrect one. Not all background setting programs do it the correct way and with those that don't, programs such as Rxvt, Eterm, gnome-terminal etc. don't (or more to the point: can't) pick up on the background.



Beeblebrox said:


> How do you configure hsetroot to work? Below in ~/.xinitrc did not work.
> 
> ```
> hsetroot -center <path>/wallpapers/some-paper.jpg
> ```


That looks correct and should work (I should know, I maintain that port...). Please try it from a terminal. My guess is that it works initially but then the background gets overwritten by e17.


----------



## Beeblebrox (Nov 12, 2014)

So here's what I have now:

In e17 from a terminal, `$ hsetroot -full <path>/some-paper.jpg` does nothing, but the image flickers briefly when I exit the desktop environment (ctrl+alt+Backspace). So e17 is suppressing hsetroot.
In Openbox and Fluxbox, again from a terminal, the image gets set and stays there.
Setting the same above in ~/.xinitrc, then logging in via Slim gives: nothing in e17, but the image briefly flickers in Fluxbox/Openbox and then goes back to the default background.
`$ rxvt -tr` works correctly in Fluxbox/Openbox, plain `rxvt` does not (even though I have Rxvt*Transparent: True).


----------



## fonz (Nov 12, 2014)

Beeblebrox said:


> Setting the same above in ~/.xinitrc, then logging in via Slim gives: nothing in e17, but the image briefly flickers in Fluxbox/Openbox and then goes back to the default background.


I've had a quick look at Fluxbox. I didn't bother to check Openbox, but it's probably similar.

The styles that come with it (Fluxbox calls them "system styles" and they should be in /usr/local/share/fluxbox/styles/) explicitly set the background, overriding what happened in ~/.xinitrc. Editing those style files is not a real fix because they will be reset every time the port/package is updated. The solution is to use what Fluxbox calls a "user style". It can be a copy of a system style (until you decide to start fiddling with it, of course) except that it has the background.* lines removed so it no longer overrides what you do in ~/.xinitrc. User styles go in ~/.fluxbox/styles/.

I'm not very familiar with Enlightenment, sorry. The problem (and fix) _might_ be the same, I don't know.


Beeblebrox said:


> `$ rxvt -tr` works correctly in Fluxbox/Openbox, plain `rxvt` does not (even though I have Rxvt*Transparent: True).


Confirmed. It's a development version of course, but this looks like a bug to me.

I'm not sure whether submitting a PR will help, though, because x11/rxvt-devel currently seems to have no maintainer. You could ask/report on the freebsd-ports mailing list, but they'll probably just tell you to use x11/rxvt-unicode instead. It has all the eyecandy as well (transparency, tinting, background pixmaps, 256 colours, what have you) and is supposed to be working properly. Including fonts.


----------



## Beeblebrox (Nov 12, 2014)

I just realised that my last post contains inaccuracies. I have several minor Xorg/e17 bugs floating around on the system, of which any could be a contributing cause for hsetroot behavior in e17. I'll come back to this task after I have those cleaned up. Thanks.


----------



## Toast (Nov 13, 2014)

Beeblebrox said:


> From what I read (I forget where) x11/rxvt-devel incorporates all the features of  x11/rxvt-unicode, therefore making it the next best thing since sliced bread.



It's the other way around. x11/rxvt-unicode is a fork of x11/rxvt-devel with Unicode and other fancy stuff. I'm pretty sure x11/rxvt-devel is dead. The latest version (rxvt-2.7.10) is from 2003.


----------



## fonz (Nov 13, 2014)

Toast said:


> I'm pretty sure x11/rxvt-devel is dead. The latest version (rxvt-2.7.10) is from 2003.


Toast, do you have references to back that up? If x11/rxvt-devel is no longer maintained upstream, doesn't have a FreeBSD maintainer, doesn't work properly and doesn't add anything to what x11/rxvt and x11/rxvt-unicode have to offer, it should probably just be removed from the ports tree.


----------



## Toast (Nov 13, 2014)

fonz said:


> Toast, do you have references to back that up? If x11/rxvt-devel is no longer maintained upstream, doesn't have a FreeBSD maintainer, doesn't work properly and doesn't add anything to what x11/rxvt and x11/rxvt-unicode have to offer, it should probably just be removed from the ports tree.



Here you go:
Latest version - 2001 - http://sourceforge.net/projects/rxvt/files/rxvt/2.6.4/
Latest version - 2003 - http://sourceforge.net/projects/rxvt/files/rxvt-dev/2.7.10/
Last commit - 2008 - http://sourceforge.net/p/rxvt/code/1787/log/?path=


----------



## fonz (Nov 13, 2014)

Thanks Toast. I'll have a look at it and submit a PR if it turns out that's the right thing to do.


----------



## fonz (Nov 24, 2014)

PR 195034


----------

