XFCE 4.10에서 패널을 숨기기 위해 마우스 커서를 올리지 않고 키 누름을 사용하여 패널을 숨길 수 있습니까?


17

마우스 커서를 화면 가장자리에 배치하는 대신 키를 눌러 XFCE 패널의 숨기기를 해제하고 싶습니다.

Xubuntu 12.04를 실행 중이지만 XFCE 4.10으로 업데이트되었습니다.


흠 .. 키를 누르면 마우스를 움직일 수 있는 무언가를 생각 해낼 수 있다고 생각 합니다. 그것이 당신이 원하는 것을 할 것입니까?
세스

@iSeth-더 좋은 것이 없다면 가능합니다. 그러나 최적으로는 커서의 위치에 관계없이 키를 누르고 패널을 볼 수 있기를
원합니다

답변:


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'값은 'never' 자동 숨기기에 사용됩니다. '1'값은 '지능적으로' 패널을 자동으로 숨기기위한 것이며 '2'는 값을 '항상' 자동 숨기기 로 설정하는 데 사용됩니다 .

키 바인딩 설정 :

이것은 하나 선택하여 수행 할 수 있습니다, 응용 프로그램 메뉴 -> 설정 -> 키보드 -> 응용 프로그램 바로 가기, 또는 실행하여 xfce4-keyboard-settings명령 줄에서 ( Ctrl- Alt- t).

첫 번째 명령을 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
Seth

4
toggleXfce 4.10 의 옵션을 사용하여 하나의 키에 단일 명령을 바인딩 할 수도 있습니다 .xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -T

3
최신 버전의 xfce4-panel을 업데이트하기 만하면됩니다. 최신 xfce4- 패널에는 'autohide'속성이 없습니다. 대신 '자동 숨기기 동작'이 있으며 더 이상 부울 값은 아니지만 숫자 값은 0, 1 또는 2입니다. 0 : 절대 숨기기, 1 : 지능형 숨기기, 2 : 항상 숨기기. 동일한 결과를 얻으려면 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 2.
Richard Wong

4

이 해결 방법을 시도하십시오.

설치 xtexdotoolsudo 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 속성은 0, 1 또는 2의 정수인 autohide-behavior로 대체 된 것 같습니다. 그러나 두 키 방식은 여전히 ​​작동합니다. 또한 사람이 파일이나 무언가에 상태를 저장하고 한 키 전략이 다시 작동하도록 일종의 작은 토글 스크립트를 작성할 수 있다고 생각합니다.
J Quigley

@JQuigley 아, 지적 해 주셔서 감사합니다. 더 이상 xfce에 있지 않습니다 ...이 경우 현재 값을 읽고 그에 따라 변경하는 스크립트를 사용하십시오 (외부 파일은 오류가 발생하기 쉽습니다).
페더

2

위의 topisani 스크립트는 여전히 xfce 4.12에서 잘 작동합니다. 당신은 변경 대상 패널을 변경할 수 있습니다 panel-0에 스크립트 panel-1또는 panel-2변화에 두 줄이 있다는 것을 잊지 마세요 등.


1

나는 파티에 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

0

편집하다:

자동 숨기기 속성이 다른 것으로 변경되었으며 -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

아마도 최선의 방법은 아니며, 루비에 대해 많이 알지 못하므로 불에 태워주십시오! :피

누군가 그것을 사용하고 싶다면 :

  1. 루비가 설치되어 있는지 확인하십시오.

  2. 당신이 적합하다고 생각되는 곳 어디에서나 파일로 복사하십시오 ~/scripts/xfce/toogleautohide.rb.

  3. 그것을 실행 가능하게 만드십시오

    chmod +x path/to/your/script
    
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.