我可以通过按键而不是使用鼠标悬停来隐藏XFCE 4.10中的面板吗?


17

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

我正在运行Xubuntu 12.04,但已更新为XFCE 4.10


嗯..我想我能想出一些会移动那边鼠标上的按键。那会做你想要的吗?
赛斯

@iSeth-如果没有更好的办法,那就可以。但最理想的情况是,无论光标在哪里,我都希望能够按一个键并看到面板...
Borsook 2013年

Answers:


10

采取以下命令并将其绑定到单独的超级键组合:

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

更新:12/09/2018:如评论中所述,不再支持上述命令。

Xfce 4.12和更高版本的命令:

现在使用以下命令来设置自动隐藏属性:

xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 0
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 1 
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 2

命令值:

值“ 0”用于“从不”自动隐藏。值“ 1”用于“智能”自动隐藏面板,而值“ 2”用于将值设置为“始终”自动隐藏。

设置键绑定:

这可以通过选择来完成,应用程序菜单- >设置- >键盘- >应用程序的快捷方式,或者通过运行xfce4-keyboard-settings在命令行(Ctrl- - )。Altt

我已将第一个命令绑定到Super- u(以“取消隐藏”面板)。对于第二个命令,我绑定Super- h(以“隐藏”面板)。

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

当面板更改状态时,您可能会注意到一些延迟。

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


嗯,我试过了,但xconf command not found出错了。您使用什么版本的Xfce?
赛斯

1
@iSeth命令xfconf不是xconf。;-)该命令自xfce 4.6起可用。我正在从此PPA运行xfce 4.10 ppa.launchpad.net/xubuntu-dev/xfce-4.10/ubuntu
Kevin Bowen

啊,你的权利。现在可以使用。+1
赛斯

4
您还toggle可以在Xfce 4.10中使用该选项,并将单个命令绑定到一个键:即xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -T

3
只是为了更新xfce4-panel的更高版本。最新的xfce4-panel没有'autohide'属性。而是有“自动隐藏行为”,不再是布尔值,而是数值0、1或2。0:从不隐藏,1:智能隐藏,2:始终隐藏。要获得相同的结果,可以使用xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 0xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 2
Richard Wong

4

尝试以下解决方法:

安装xtexdotool使用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的键盘设置中进行设置。


2

编辑:

@JQuigley指出“这不再起作用...”,请参阅评论。


正如Kevin所说,您可以使用xfconf,但是我可以这样:

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

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

要获得更多选择,请执行以下操作:

xfconf-query --help

我想对凯文(Kevin)的回答发表评论,因为这使我处于正确的轨道。但是我是新来的,信誉不够。


不幸的是,这不再起作用。autohide属性似乎已替换为autohide-behavior,它是可以为0、1或2的整数。但是,两键方法仍然有效。我还想象一个人可以编写某种形式的切换脚本,以将状态存储在文件或其他内容中,并允许一键策略再次起作用。
J奎格利

@JQuigley哦,谢谢指出。我不再使用xfce ...如果是这种情况,我将带一个脚本来读取当前值并相应地进行更改(外部文件容易出错)。
fede s。

2

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


1

我知道我晚了几年,但是只对将来可能会看到这种情况的人:这是一个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

0

编辑:

有人在评论中指出,autohide属性已更改为其他内容,并且-T不适用于新的属性:/


因此,在我鬼混时,我制作了一个红宝石脚本来同时切换所有面板。它似乎有效。

#!/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

这可能不是最好的方法,而且我对红宝石的了解并不多,所以请随意将我扔掉!:P

如果有人要使用它:

  1. 确保已安装红宝石。

  2. 将其复制到文件中您认为合适的位置(我的名称是~/scripts/xfce/toogleautohide.rb)。

  3. 使它可执行

    chmod +x path/to/your/script
    
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.