我可以使用按键取消隐藏XFCE 4.10中的面板而不是使用鼠标光标hover来显示它吗?

我希望能够通过按键而不是将鼠标光标放在屏幕边缘来取消隐藏XFCE面板。

我正在运行Xubuntu 12.04但更新到XFCE 4.10

执行以下两个命令并将它们绑定到单独的超级键组合:

xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s false xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s true 

这可以通过选择,应用程序菜单 – >设置 – >键盘,或通过从命令行运行xfce4-keyboard-settingsCtrlAltt)来完成

我把第一个命令绑定到Superu (“取消隐藏”面板)。 对于第二个命令,我绑定Superh (“隐藏”面板)。

正如您在上面的命令中所看到的,仅在单个面板上更改了行为(在这种情况下,正在修改面板-0)。

当面板改变状态时,您会注意到轻微的延迟。

来源 。 有关xfconf命令的更多详细信息,请参见此处 。

试试这个解决方法:

使用sudo apt-get install xdotool xautomation

您可以使用xdotool查找鼠标的x,y坐标。 打开终端类型xdotool getmouselocation然后将鼠标移动到激活面板的位置并按Enter键。 您将得到一些输出,如:

 findclient: 62914741 findclient: 6291474 x:1282 y:1079 screen:0 window:62914741 

这里最重要的是: x:1282 y:1079 ,它给出了鼠标的x,y坐标。

现在输入xte 'mousemove 1282 1079' (用你之前得到的坐标代替1282 1079 )。 这应该将鼠标移动到您想要的位置。

您可以使用xbindkeys将此命令绑定到键盘上的键。 我可以根据要求添加说明,也可以在Xubuntu的键盘设置中进行设置。

编辑:

@JQuigley指出“这不再有效……”见评论。


正如凯文所说,你可以使用xfconf,但我会这样做:

 xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -T 

-T切换true / false值。 这样,您可以使用相同的键来隐藏/取消隐藏。

要获得更多选择:

 xfconf-query --help 

我想对Kevin的答案发表评论,因为这是让我走上正轨的原因。 但我是新来的,没有足够的声誉..

topisani的上述脚本在xfce 4.12中仍然运行良好。 您可以通过将脚本中的panel-0更改为panel-1panel-2等来更改目标面板。不要忘记要更改两行。

我知道我在派对上已经晚了几年,但是对于那些将来可能会看到这个的人来说:这是一个在新系统中切换自动隐藏的bash脚本,只需将其保存在某个文本文件中,运行chmod +x file/that/i/saved并将脚本设置为设置 – >键盘 – >快捷方式中的键。

 #!/bin/bash cur=$(xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior) if [[ cur -eq 0 ]]; then nxt=1 else nxt=0 fi xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s $nxt 

编辑:

在评论中已经指出,自动隐藏属性已被更改为其他属性,并且-T不适用于新的属性:/


所以,当我在讨厌这个时,我做了一个小ruby脚本来同时切换所有面板。 它似乎工作。

 #!/usr/bin/env ruby #Toggle all panels' autohide property in xfce4 # fede s. out = `xfconf-query -c xfce4-panel -l`.split out.inject(Array.new) {|res, val| m= /panel-([0-9]+)/.match(val); #get the panel numbers if m then res.push(m[1]) end; #add only if it matches res}.sort.uniq.each do #filter duplicates | num | `xfconf-query -c xfce4-panel -p /panels/panel-#{num}/autohide -T` #here is the command that will repeat for every panel found end 

这可能不是最好的方法,而且我对ruby的了解并不多,所以请随意把我扔进火里! :P

如果有人想要使用它:

  1. 确保你安装了ruby。

  2. 将它复制到一个你认为合适的文件中(我的作为~/scripts/xfce/toogleautohide.rb )。

  3. 让它可执行

     chmod +x path/to/your/script