如何以编程方式更改 openbox 中的壁纸?

如何以编程方式更改 openbox 中的壁纸?

我不是在寻找更换壁纸的工具。但这些工具有什么作用呢?我该如何实施?

答案1

就我而言,我使用的是 openbox-lxde 窗口管理器,但桌面首选项由 pcmanfm 处理。将pcmanfm --desktop-pref打开一个允许设置壁纸的菜单。配置已更新,/home/username/.config/pcmanfm/LXDE/pcmanfm.conf现在是该系统桌面设置的默认配置文件。

总结一下下面写的内容,这似乎是创建和设置系统使用的默认配置文件的问题,以便您的程序成为操作桌面设置的首选应用程序。

您可以查看/src/pcmanfm.c工作实际上是如何完成的,但如果您不打算使用该特定库在 c 中进行编码,那么您最关心的是设置默认应用程序和 .desktop 配置。

这可以通过 openbox 系统配置来完成1

Openbox 还将获取由全局 /etc/xdg/autostart 目录中的某些包自动安装的 .desktop 文件。负责允许 Openbox 额外获取 /etc/xdg/autostart 目录的软件包是 python2-xdg。

pcmanfm 软件包2用于./data/pcmanfm-desktop-pref.desktop.in将桌面设置的首选应用程序设置为pcmanfm --desktop-pref

它看起来像是./data/Makefile.am设置了默认的应用程序配置,其中包括pcmanfm-desktop-pref.desktop.in.

NULL=

SUBDIRS=ui

man_MANS=pcmanfm.1

desktopdir=$(datadir)/applications
desktop_in_files= \
        pcmanfm.desktop.in \
        pcmanfm-desktop-pref.desktop.in \
        $(NULL)
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@

defconfdir=$(sysconfdir)/xdg/pcmanfm/default
defconf_DATA = \
        pcmanfm.conf \
        $(NULL)

EXTRA_DIST= \
        $(desktop_in_files) \
        $(desktop_DATA) \
        $(defconf_DATA) \
        $(NULL)

您必须弄清楚它们在系统上的位置,但希望 make file 对您有所帮助。

这些文件pcmanfm.desktoppcmanfm-desktop-pref.desktop添加到/usr/share/applications我的系统上。 / etc pcmanfm.conf file was added to/xdg/pcmanfm . This was because of my environment variables used by thisMakefile.am`。它会因系统而异。

@pcmanfm --desktop --profile LXDE也列在/etc/xdg/lxsession/LXDE/autostart我的系统中,我在这里指出是为了提醒您,您的程序或脚本也应该位于适当的自动启动文件中。

这绝不是一个彻底的指南,但它应该为您指明正确的方向。现在您已经了解了一种流行工具如何执行此操作的一些示例,请阅读系统配置部分位于Openbox - ArchWiki有关 openbox 配置过程的详细信息。

相关内容