openbox设置透明效果

作者: 孤逐王 | 来源:发表于2015-05-13 17:10 被阅读1258次

X窗口下的透明效果设置

使用transset + devilspie + xcompmgr设置透明效果。

X窗口下没有现成的工具,但可以借助于Xcompmgr和transset。
在运行Xcompmgr之后,就可以用transset来设置窗口透明度了。

transset设置透明度

opacity变量:0~1。0表示完全透明,1表示不透明。如果不指定opacity参数,默认值是0.75

transset --help

查看用法

options:
-h, --help display this message
-t, --toggle force toggle of opacity
-c, --click select by clicking on window (default)
-p, --point select the window currently under the cursor
-a, --actual select the actual window
-n, --name NAME select by name, NAME is matched as regular expression
--no-regex don't use regular expression for matching name
-i, --id select by window id
--inc increase by the given opacity
--dec decrease by given opacity
-m, --min OPACITY minimum possible opacity (default = 0)
-x, --max OPACITY maximum possible opacity (default = 1)
-v, --verbose print some debug info
-V, --version print version number

xcompmgr显示透明效果

xcompmgr

但是,transset是一个命令行工具,如何与窗口系统结合起来,开机启动就显示透明效果呢。下面介绍两种使用方式。

结合devilspie的使用

devilspie支持自动绑定某类窗口,即窗口启动时会触发后台devilspie程序的相应行为。devilspie的配置文件在~/.devilspie/目录中,比如随便建立一个文件opacity.ds。内容为

( if
  ( or
    ( contains ( window_class ) "Gvim" )
    ( contains ( application_name ) "sakura" )
    ( contains ( application_name ) "tilda" )
  )
  ( begin
    ( spawn_async (str "transset -t -i " (window_xid)  ))
  )
  )

应该比较好理解,当启动Gvim, sakura 或 tilda 时设置其透明度为0.75。如执行devilspie -a,然后启动那个应用,它的属性就会在devilspie的输出中显示出来。

注意,xcompmgr和devilspie的启动不一定要放在.xinitrc中,只要在X启动之前执行即可,比如在openbox环境中,加入autostart.sh也是可以的。

openbox下的使用

修改~/.config/openbox/rc.xml中的<context name=”Titlebar”>项下面的鼠标绑定内容。

<context name=”Titlebar”>
    <!-- 使用transset-df设置窗口透明效果 -->
    <mousebind button="C-Middle" action="Click">
        <action name="Execute">
            <execute>transset-df -p</execute>
        </action>
    </mousebind>
    <mousebind button="C-Up" action="Click">
        <action name="Execute">
            <execute>transset-df -p --inc 0.2 </execute>
        </action>
    </mousebind>
    <mousebind button="C-Down" action="Click">
        <action name="Execute">
            <execute>transset-df -p -m 0.2 --dec 0.2</execute>
        </action>
    </mousebind>

这样,你就可以在窗口标题栏上按Ctrl+中键切换透明度了,Ctrl+向上滚动增加透明度,Ctrl+向下滚动减少透明度。

相关文章

  • openbox设置透明效果

    X窗口下的透明效果设置 使用transset + devilspie + xcompmgr设置透明效果。 X窗口下...

  • cmder设置背景透明

    在 Seting -> Features ->Transparency 下调整透明效果 cmder设置背景透明,可...

  • 【Android】设置透明、半透明等效果

    设置透明效果 大概有三种 1、用android系统的透明效果Java代码 例如 设置按钮Java代码 2、用ARG...

  • UINavigationBar属性的设置

    想要改变Bar的背景颜色可以这样设置 取消半透明效果可以这样设置(默认是YES半透明的,设置成NO就是不透明) 这...

  • ViewAnimation

    一、动画效果 (1)AlphaAnimation duration:设置当前动画时长 fromAlpha:设置透明...

  • UILabel的使用

    UILabel背景透明字体不透明的效果 通过storyboard设置在属性栏里设置当前控件的backgroundC...

  • iOS 导航栏navigation的translucent属性

    当translucent设置为NO时,效果是这样的: 当translucent设置为YES时,导航栏呈现半透明效果...

  • iOS开发点滴-修改UISearchBar的灰色背景为透明

    今天做项目遇到一个问题 需要设置UISearchBar 背景为透明颜色,你可以设置背景为透明 但是设置之后没有效果...

  • NavigationBar设置

    NavigationBar设置 设置背景颜色 Translucent设置成透明度,设置成YES会有一种模糊效果 设...

  • Paint画笔

    常用api 初始化 设置颜色 设置透明度, 范围0~255 抗锯齿 描边效果 效果图如下: 描边宽度 圆角效果 拐...

网友评论

    本文标题:openbox设置透明效果

    本文链接:https://www.haomeiwen.com/subject/xlzfqttx.html