如何通过终端将xfce4-panel插件添加到特定面板?

问题描述 投票:0回答:1

我有一个已安装的插件,我想将其添加到面板中。我总是可以通过 xfce4-panel GUI 来做到这一点。但我的问题是如何通过终端执行此操作,这样就不会调用 GUI。

xfce4-panel --add=PLUGIN-NAME
将调用 GUI 询问面板编号。

xfce4-panel --add-items=PANEL-NUMBER
将调用 GUI 请求添加插件。

如何组合这些命令,这样就不会调用 GUI,即,假设我知道面板的编号,有没有办法将插件添加到特定面板?

bash plugins terminal panel xfce
1个回答
4
投票

到目前为止,XFCE 中的面板和插件设置保存在自己的数据库中,可以通过编辑

$HOME/.config/xfce4/xfconf/xfce-perchannel-xml
文件夹中的 xml 文件、使用命令行 util 'xfconf-query' 或通过 GUI 工具进行控制
xfce4-settings-editor

该数据库中的面板数据存储在属性“/panels”下的通道“xfce4-panel”中。每个面板在“/panels/panel-0/plugin-ids”属性下按顺序包含其插件列表,其中“panel-0”是面板名称。

这些 id 指向属性“/plugins”下同一频道“xfce4-panel”中列出的所有可用插件。

因此,要以编程方式向面板添加新插件,您需要:

  1. 按名称将插件添加到“/plugins”属性
  2. 将该插件 ID 添加到所选面板的“/plugin-ids”属性中

一些代码:

# xfconf-query not yet support adding individual entries to array 
# so need override all plugins in the panel
# before using this command adapt it to your current list 
# of plugins + simply add your new
# copying and executing this command without adopting may broke your panel 
# do not execute as is
xfconf-query -n -c xfce4-panel -p "/panels/panel-0/plugin-ids" -a \
            -t int -s 1  -t int -s 2  -t int -s 3  -t int -s 4  -t int -s 5  \
            -t int -s 6  -t int -s 7  -t int -s 8  -t int -s 9  -t int -s 10 \
            -t int -s 11 -t int -s 12 -t int -s 13
# so last 13 is our new plugin id, lets add it

# adding new plugin with id 13, lets this be 'xkb' plugin (language layout switcher)
xfconf-query -c xfce4-panel -pn "/plugins/plugin-13" -t string -s 'xkb'

# restart panels for taking effect
xfce4-panel --restart
© www.soinside.com 2019 - 2024. All rights reserved.