urxvt 上的背景不完全透明

urxvt 上的背景不完全透明

我在 StackExchange 网络上查找了几个答案,但都没有达到我想要的效果。

我开始urxvt在 Ubuntu 上使用而不是gnome-terminal,并希望将其配置为看起来相似。我在字体方面取得了成功,但无法击败透明背景。我想要的是混合60% 背景和 40% Ubuntu 中茄子 ( #5E2750)-- 这就是我的gnome-terminal配置方式。我尝试了几种值的组合Urxvt*background(也尝试了 alpha 通道)、Urxvt*transparentUrxvt*backgroundPixmapUrxvt*fadeColorUrxvt*fading(这里看起来实际上没有用,但我遇到的大多数例子也设置了它)Urxvt*shading.Xresources。每一张都不是很接近,大多数都是全黑的背景。看来我的理解backgroundPixmapbackground设置是错误的,但文档对它们并没有那么丰富。

答案1

参考9.20(因为看来这个领域目前正在开发中,今年年初的9.22之后,例如,参见github镜像)。

urxvt在执行其他背景透明度操作后应用背景像素图(它并没有真正组合它们)。要看到这一点,请查看rxvt_term::bg_init ()background.C中的方法:

void
rxvt_term::bg_init ()
{
#if BG_IMAGE_FROM_ROOT
  if (option (Opt_transparent))
    { 
      if (rs [Rs_blurradius])
        root_effects.set_blur (rs [Rs_blurradius]);

      if (ISSET_PIXCOLOR (Color_tint))
        root_effects.set_tint (pix_colors_focused [Color_tint]);

      if (rs [Rs_shade])
        root_effects.set_shade (rs [Rs_shade]);

      rxvt_img::new_from_root (this)->replace (root_img);
      XSelectInput (dpy, display->root, PropertyChangeMask);
      rootwin_ev.start (display, display->root);
    }
#endif

#if BG_IMAGE_FROM_FILE
  if (rs[Rs_backgroundPixmap])
    { 
      fimage.set_file_geometry (this, rs[Rs_backgroundPixmap]);
      if (!bg_window_position_sensitive ())
        update_background ();
    }
#endif
}

相关内容