将 HTML 页面设置为 Linux 上的墙纸

Sha*_*nce 6 linux html openbox desktop-customization

我想在 Linux 上设置一个带有 JavaScript 的 HTML 文件作为我的墙纸。我正在运行 Openbox,如何将其设置为我的桌面背景?

Ran*_*nym 6

如前所述,我建议在后台运行轻量级浏览器。

这个浏览器应该是完美的,因为你只想用它来设置一个页面作为你的背景。它使用 WebKit,所以一切都应该显示得很好,而且它足够轻,启动应该是即时的。

只要你有GTK,WebKit的GTK,蟒蛇,和WebKit的GTK Python绑定(默认情况下,在许多发行版安装,并可以从大多数包管理器),你可以将它保存到你的主目录,也就是说,browser.py和添加如下内容:

python ~/browser.py YOUR_WEBSITE &     #browser.py requires http:// before remote urls
Run Code Online (Sandbox Code Playgroud)

到您的 ~/.config/openbox/autostart 以便让它与 openbox 一起启动。

然后,您可以编辑您的 ~/.config/openbox/rc.xml 以在该<applications>部分下包含类似内容:

<application class="Browser.py">
  <decor>no</decor>
  <maximized>yes</maximized>
  <layer>below</layer>
  <desktop>all</desktop>
</application>
Run Code Online (Sandbox Code Playgroud)

要使像“Wd”这样的键绑定工作,您可能需要安装 wmctrl(在大多数包管理器中也可用)。

这个脚本应该带你到你的“桌面”,不管它是否启动(见这里的原始脚本;另外,在脚本聚焦浏览器之前,你的实际桌面显示可能会有轻微的延迟,但不是几乎够麻烦的了。):

#!/bin/sh

terminal_wm_class="Browser.py"
terminal_exec="python ~/browser.py YOUR_WEBSITE"

# no terminal started, so start one
if [ -z "`wmctrl -lx | grep Browser.py`" ]; then
    $terminal_exec &
else
    wmctrl -x -a $terminal_wm_class
fi;
Run Code Online (Sandbox Code Playgroud)

您可以将它保存在您的主目录中,例如 showdesktop.sh,然后替换 ~/.config/openbox/rc.xml 中的默认 Wd 键绑定

<keybind key="W-d">
  <action name="ToggleShowDesktop"/>
</keybind>
Run Code Online (Sandbox Code Playgroud)

<keybind key="W-d">
  <action name="ToggleShowDesktop"/>
  <action name="Execute">
    <command>~/showdesktop.sh</command>
  </action>
</keybind>
Run Code Online (Sandbox Code Playgroud)

完成后,您只需按 A-T​​ab 键即可返回上一个窗口。

(如果你想保留你的窗口布局,用 CA-Left 或 W-F4 等切换到一个空桌面可能是最简单的(参见默认的 rc.xml),然后用 CA-Right 或 W-F1 等切换回来.,取决于您的键绑定和当前桌面。)

如果您出于任何原因从起始页导航,您只需关闭窗口(默认为 A-F4)并按 Wd 运行 showdesktop.sh 并带您返回主页

其中任何一个都可以在没有其他人的情况下进行修改或使用,因此请随意使用最适合您的方法。