Posso exibir o painel no XFCE 4.10 usando uma tecla pressionada em vez de passar o cursor do mouse para revelá-lo?

17

Gostaria de poder exibir o painel XFCE pressionando uma tecla em vez de colocar o cursor do mouse na borda da tela.

Estou executando o Xubuntu 12.04, mas atualizado para o XFCE 4.10

Borsook
fonte
hmmm .. Eu acho que poderia inventar algo que moveria seu mouse até lá pressionando uma tecla. Isso faria o que você quer?
Seth
@ iSeth - se nada melhor for possível, então sim. Mas de forma ideal eu gostaria de poder para pressionar uma tecla e ver o painel, independentemente de onde o cursor é ...
Borsook

Respostas:

10

Pegue os seguintes comandos e vincule-os a separar combinações de teclas Super:

Comandos para o 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

Atualização: 09/09/2018 : Conforme mencionado nos comentários, os comandos acima não são mais suportados.

Comandos para o Xfce 4.12 e versões mais recentes:

Os seguintes comandos agora são usados ​​para definir as propriedades de ocultação automática:

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

Valores de comando:

O valor '0' é usado para 'nunca' ocultar automaticamente. O valor '1' é para ocultar automaticamente o painel 'inteligentemente' e '2' é usado para definir o valor para 'sempre' ocultar automaticamente.

Configurando as combinações de teclas:

Isso pode ser feito selecionando-se Menu Aplicativos -> Configurações -> Teclado -> Atalhos do aplicativo ou executando xfce4-keyboard-settingsna linha de comando ( Ctrl- Alt- t).

Liguei o primeiro comando a Super- u(para 'mostrar' o painel). Para o segundo comando, estou vinculando Super- h(para 'ocultar' o painel).

Como você pode ver nos comandos acima, o comportamento é alterado apenas em um único painel (nesse caso, o painel 0 está sendo modificado).

Você pode notar um pequeno atraso enquanto o painel muda de estado.

Fonte . Mais detalhes sobre o xfconfcomando podem ser encontrados aqui .

Kevin Bowen
fonte
Hmmm, eu tentei isso e recebi um xconf command not founderro. Qual versão do Xfce você usa?
Seth
1
@ iSeth O comando xfconfnão é xconf. ;-) O comando está disponível desde o xfce 4.6. Estou correndo xfce 4,10 a partir deste PPA ppa.launchpad.net/xubuntu-dev/xfce-4.10/ubuntu
Kevin Bowen
Ah, você está certo. Funciona agora. 1
Seth
4
Você também pode usar a toggleopção no Xfce 4.10 e simplesmente ligam um único comando para uma chave: iexfconf-query -c xfce4-panel -p /panels/panel-0/autohide -T
3
Apenas para atualizar na versão posterior do xfce4-panel. O painel mais recente do xfce4 não possui a propriedade 'ocultar automaticamente'. Em vez disso, existe um 'comportamento de ocultação automática' e não é mais um valor booleano, mas um valor numérico de 0, 1 ou 2. 0: nunca ocultar, 1: ocultar inteligente, 2: ocultar sempre. Para alcançar o mesmo resultado, você pode usar xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 0e xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 2.
Richard Wong
4

Tente esta solução alternativa:

Instale xtee xdotoolcomsudo apt-get install xdotool xautomation

Você pode usar xdotoolpara encontrar as coordenadas x, y do mouse. Abra um tipo de terminal xdotool getmouselocatione mova o mouse para algum lugar onde ele irá ativar o painel e pressione Enter. Você obterá alguma saída como:

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

O importante aqui é x:1282 y:1079:, que nos fornece as coordenadas x, y do mouse.

Agora digite xte 'mousemove 1282 1079'(substituindo 1282 1079pelas coordenadas que você obteve anteriormente). Isso deve mover o mouse para onde você quiser.

Você pode usar xbindkeyspara vincular esse comando a uma tecla do teclado. Posso adicionar instruções mediante solicitação ou você pode configurá-lo nas configurações de teclado do Xubuntu.

Seth
fonte
2

Editar:

@JQuigley apontou "Isso não funciona mais ..." ver comentários.


Como Kevin disse, você pode usar o xfconf, mas eu faria desta maneira:

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

O -Talterna o valor true / false. Dessa forma, você pode usar a mesma chave para ocultar / exibir.

Para obter mais opções, faça:

xfconf-query --help

Eu queria comentar a resposta de Kevin, já que é o que me leva ao caminho certo. Mas sou novo aqui, não tenho reputação suficiente ..

fede s.
fonte
Infelizmente, isso não funciona mais; a propriedade autohide parece ter sido substituída pelo comportamento autohide, que é um número inteiro que pode ser 0, 1 ou 2. Mas a abordagem com duas teclas ainda funciona. Também imagino que uma pessoa possa escrever algum tipo de script de alternância para talvez armazenar o estado em um arquivo ou algo assim e permitir que uma estratégia de uma tecla funcione novamente.
J Quigley
@JQuigley oh, obrigado por apontar. Não estou mais no xfce ... Se esse for o caso, eu usaria um script para ler o valor atual e alterá-lo de acordo (o arquivo externo é propenso a erros).
fede s.
2

O script de topisani acima ainda funciona bem no xfce 4.12. Você pode alterar o painel de destino alterando panel-0o script para panel-1ou panel-2etc. Não se esqueça de que há duas linhas para alterar.

eylem akcay
fonte
1

Sei que estou dois anos atrasado para a festa, mas para qualquer pessoa que possa ver isso no futuro: Aqui está um script bash que alterna o ocultação automática no novo sistema, simplesmente salve-o em um arquivo de texto em algum lugar, execute chmod +x file/that/i/savede defina o script como uma chave em Configurações -> Teclado -> Atalhos.

#!/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
topisani
fonte
0

EDITAR:

Foi observado em um comentário que a propriedade ocultar automaticamente foi alterada para outra coisa e -T não funciona com a nova: /


Então, enquanto eu estava brincando com isso, fiz um pequeno script em rubi para alternar todos os painéis ao mesmo tempo. Parece funcionar.

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

Provavelmente não é a melhor maneira de fazer isso, e eu realmente não sei muito sobre ruby, então fique à vontade para me jogar no fogo! : P

Se alguém quiser usá-lo:

  1. verifique se você tem o ruby ​​instalado.

  2. copie-o para um arquivo onde quiser (eu tenho o meu como ~/scripts/xfce/toogleautohide.rb).

  3. Torne executável

    chmod +x path/to/your/script
    
fede s.
fonte