我正在经历使 XTerm 透明的过程,我已按照以下步骤操作这个网站。我安装了transset-df
并将Xcompmgr
这一行添加到我的.bashrc
文件中[ -n "$XTERM_VERSION" ] && transset-df -a >/dev/null
我正在使用,当我用+Awesome WM
打开一个新窗口时,我收到一条错误消息,它不会使窗口透明,但是当我创建连续的窗口时,它确实使前一个窗口透明,即使它使前一个窗口透明非 XTerm 窗口透明,最新的窗口除外。首先,我认为这是一个软件问题,但后来查看帮助后,我意识到该选项告诉将透明度应用于实际窗口。Mod4Enterinvalid window parameter
transset-df
-a
transset-df
所以它所做的就是将透明度应用于最近的窗口,这就是为什么第一个 XTerm 窗口显示错误(它不是在调用命令时创建的),并且连续的 XTerm 使前一个窗口透明。
我需要某种方法来告诉 bash 仅在创建窗口后才应用该命令。
谢谢。
答案1
我通过完全避免来解决这个问题.bashrc
。我创建了一个名为的 shell 脚本xterm
,用于打开 xterm,并在短暂延迟后设置透明度,以确保 xterm 窗口已创建:
#!/usr/bin/env sh
# Launch xterm in the background
/usr/bin/xterm &
# Sleep long enough to get the window open, and set transparency
sleep .4s
transset-df -a
如果其他应用程序嵌入 xterm,或者期望它直接运行,这确实会导致问题,因此您可能需要命名脚本xterm-trans
或不覆盖实际二进制文件的名称。