是否可以在 XFCE 中隐藏单个面板?

是否可以在 XFCE 中隐藏单个面板?

安装 XFCE 桌面后我有两个面板。第一个是停靠栏,第二个是屏幕顶部的栏。我想移除扩展坞,但与其移除它,我更愿意隐藏它。有没有我可以更改的配置文件?

答案1

选项 1:将面板设置为自动隐藏

Xfce 支持面板自动隐藏。我不知道从什么时候开始,但是这个功能似乎至少自 2010 年以来就存在这是官方 git 存储库可以追溯到的日期。

通过在面板首选项中配置“自动隐藏面板”选项,可以为任何单个面板启用面板自动隐藏。启用后,面板将在鼠标光标离开后最小化,并在光标返回时再次弹出,这应该适合大多数使用情况。

当鼠标光标在其周围移动时,面板会弹出或弹出隐藏状态


选项 2:通过切换配置禁用面板

如果面板自动隐藏功能不适合您的用例,并且您希望暂时完全禁用面板以及将运行的所有插件,那么遗憾的是,这不是受支持的功能。
https://gitlab.xfce.org/xfce/xfce4-panel/-/issues/443

请使用 xfce4-panel-profiles 创建配置/布局的备份并删除面板。这个功能对我来说确实没有任何意义。您会浪费资源,因为必须保留一些您显然不想保留的东西(否则为什么要禁用/隐藏它?)。

太多的代码和麻烦,对于很多用户不定期完成的事情......

为了帮助完成此任务,您可以尝试“Xfce4 面板配置文件”。这是一篇文章关于该程序及其在 Xubuntu 15.10 中引入时的功能。它可以从官方 Ubuntuuniverse存储库获取:

apt install xfpanel-switch

根据它在 launchpad.net 上的条目,该程序已经有一段时间没有更新了,但继续包含在当前的 Ubuntu 版本中,并且在 Ubuntu 23.04 中测试了一个看似新的版本。

因为我不使用 Xubuntu,所以我没有测试这个程序,也不知道它的当前状态以及它当前的功能或有用性,但我认为如果它现在停止工作,他们会删除该程序包。


选项 3:通过乱搞不该碰的东西来禁用面板

如果您需要更精细的控制,还可以选择通过直接修改 Xfce 设置来解决问题:在通道
 中的各个面板首选项中,还有一个包含所有相应面板 ID 的数组,因为它事实证明,操纵这个数组会影响识别哪些面板。xfconfxfce4-panel

在此输入图像描述

像这样搞乱配置显然会带来问题,最值得注意的是,在索引数组不完整时添加面板通常会覆盖现有面板。准备好丢失您的设置并根据需要创建备份。
除非您找到其他方法来防止这种情况,否则您始终必须记住在 GUI 中进行任何编辑之前将阵列恢复到原始状态,尽管您也可以通过编辑原始配置文件来手动添加新面板。

如果您对所有这些都满意,请按照以下步骤操作。经过测试可以与 Xfce 一起使用4.18

基本步骤

xfconf文件保存在~/.config/xfce4/xfconf/xfce-per-channel/.~/.config/xfce4/panel/根据使用的面板项目,可能存在其他配置文件。确保在开始之前将它们复制到安全位置。对于某些用例,您可能需要直接编辑这些文件以进行更精细的控制。您可能需要使用专用的 XML 编辑器来获得更好的概述,否则mousepad使用语法突出显示应该没问题。

打开终端,然后:

  1. 退出面板
    xfce4-panel --quit
  2. 设置您想要启用的面板 ID。这有点笨拙,因为据我所知,每个值都需要单独指定。此示例将数组设置为[0, 1]
    xfconf-query -c xfce4-panel -p /panels --force-array -t int -s 0 -t int -s 1
  3. 重新启动面板
    xfce4-panel >/dev/null 2>&1 & disown

编辑原始 xfconf 文件:

  1. 退出面板和 xfconfd
    xfce4-panel --quit && pkill xfconfd
  2. 进行编辑并保存
  3. 重新启动面板。 xfconfd 会自动启动。

跨面板配置共享插件设置

在我的用例中,我有两种不同的面板配置,我在这两种配置之间切换。由于我在具有相同设置的两种配置中使用大部分面板项目,因此我编辑了原始配置文件,以便两个面板对这些项目使用相同的插件 ID。这工作得很好,但这些面板可能永远不会同时处于活动状态,因为这样做会弄乱插件 ID:只有第一个面板保持完整,而第二个面板会丢失一些插件,同时使用默认设置重新创建剩余的插件。

自动化

为了便于在面板之间切换,我编写了一个简单的脚本和一个桌面入口。您很可能希望调整这些内容以更好地满足您的个人需求。

要使用它们,请将 shell 脚本放入$PATH.如果您的 PATH 中只有系统目录,您可以将其添加export PATH=$PATH:~/.local/bin~/.profile.这应该在您下次登录时生效。或者,请参阅https://wiki.archlinux.org/title/Environment_variables#Per_user或者在桌面条目中指定脚本的完整路径。
 然后将桌面条目放入~/.local/share/applications/.您应该能够右键单击 Whiskermenu 或任何其他启动器中的桌面条目来运行自定义操作。如果它们没有出现,则重新启动 Whiskermenu 或整个面板(如上所述)将强制完全重新加载。

外壳脚本

#!/bin/sh
print_help() {
printf 'Usage: %s PANEL_TYPE

Possible values for PANEL_TYPE:
    -d|default
        My normal panel.
    -s|slim
        A smaller panel that leaves all the display area to windows.
' ${0##*/}
}
switch_panel() {
    local panel_id=${1:-0}
    local titleless=${2:-false}
    xfce4-panel --quit
    xfconf-query -c xfce4-panel -p /panels -a -t int -s $panel_id
    # Window Manager Tweaks -> Accesibility -> Hide title of windows when maximized
    xfconf-query -c xfwm4 -p /general/titleless_maximize -t bool -s $titleless
    xfce4-panel >/dev/null 2>&1 & disown
}

case "$1" in
    -d|"default")
        switch_panel
        ;;
    -s|"slim")
        switch_panel 1 true
        ;;
    *)
        print_help
        exit
        ;;
esac

桌面条目panel-preferences.desktop
如果您需要本地化值或者该值已过时,请从 获取原始文件的全新副本/usr/share/applications/,然后添加从 开始Actions=...到末尾的所有行。

[Desktop Entry]
Version=1.0
Exec=xfce4-panel --preferences
Icon=org.xfce.panel
Type=Application
Categories=XFCE;GTK;Settings;DesktopSettings;X-XFCE-SettingsDialog;X-XFCE-PersonalSettings;
OnlyShowIn=XFCE;
Terminal=false
StartupNotify=true
X-XfcePluggable=true
X-XfceHelpComponent=xfce4-panel
X-XfceHelpPage=preferences
Name=Panel
Comment=Customize the panel
Keywords=panels;settings;preferences;taskbar;autohide;application menu;start;buttons;launcher;notification area;status;icons;plugins;

Actions=panel-default;panel-slim;
[Desktop Action panel-default]
Name=Panelswitch: Default
Exec=xfce-panelswitch default
[Desktop Action panel-slim]
Name=Panelswitch: Slim
Exec=xfce-panelswitch slim

答案2

可以在里面获取xfce面板配置/home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml

相关内容