시스템에 작은 스크립트와 작은 수술로 설명대로 정확하게 배치 할 수 있습니다.
성분
wmctrl
; 설치해야 할 수도 있습니다.
- 아래 스크립트
xprop
창 속성을 가져옵니다. 시스템에 이미 설치되어 있습니다.
- xfce 패널 설정의 설정 변경
- 추가 키보드 단축키
설정 방법
설치 wmctrl
:
sudo apt-get install wmctrl
디렉토리를 만듭니다 ~/bin
( /home/<yourname>/bin
). 빈 파일에 아래의 스크립트를 복사로 저장 panel_navigate
에서 (확장자) ~/bin
및 실행 가능합니다 .
패널 설정 변경 :
설정 관리자> "패널"> "항목"(탭)> "창 버튼">
- "주문 정렬"> 선택 : 타임 스탬프
- "창 그룹화"> 선택 : "없음"
- 있는지 "모든 작업 공간 또는 뷰포트 창 표시를"확인 되지 않은 쳤다
키보드 단축키 추가 :
설정 관리자> "키보드"> "응용 프로그램 단축키"로 이동하여 "추가"를 선택하십시오. 다음 명령을 추가하십시오 :
panel_navigate 1
키 조합으로 설정 Ctrl+1
이제 다음을 선택할 수 있습니다 :
- 이 절차를 반복
panel_navigate 2
하여 Ctrl+ 아래 에 추가 2하는 등 (9까지)
(저장 옵션) 또는 (구성 파일을 수동으로 편집하는 것을 두려워하지 않는 경우) :
파일을 편집 할 수 있습니다 :
~/.config/xfce4/xfconf/xfce-perchanel-xml/xfce4-keyboard-shortcuts.xml
키보드 단축키 (in xfce
)가 저장됩니다. 파일을 열고 다음 mousepad
과 같은 줄을 찾으십시오.
<property name="<Primary>1" type="string" value="panel_navigate 1"/>
줄을 복사하여 다음 줄에 붙여 넣고 (삽입) 1을 2로 변경하면 다음과 같이됩니다.
<property name="<Primary>1" type="string" value="panel_navigate 1"/>
<property name="<Primary>2" type="string" value="panel_navigate 2"/>
등등..
들여 쓰기가 정확히 같은지 확인하십시오. 9까지 절차를 반복하십시오.
로그 아웃했다가 다시 로그인하면 작동합니다.
Ctrl+1
Ctrl+3
등등...
스크립트
#!/usr/bin/env python3
import subprocess
import sys
def get_value(command):
return subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8").strip()
def run_command(command):
subprocess.Popen(["/bin/bash", "-c", command])
current_workspace = [l for l in get_value("wmctrl -d").splitlines() if l.split(" ")[2] == "*"][0][0]
wlist_ids = [item.split()[0:4] for item in get_value("wmctrl -l").splitlines()]
relevant = [item for item in wlist_ids if item[1] == current_workspace]
panel = []
for item in relevant:
data = get_value("xprop -id "+item[0])
if ("_TYPE_NORMAL" in data, "TYPE_DIALOG" in data).count(True) == 1:
panel.append(item)
try:
window = panel[int(sys.argv[1])-1][0]
run_command("wmctrl -ia "+window)
except IndexError:
pass
설명
솔루션은 기회 주의적 솔루션입니다. 명령에 의해 호출 된 wmcrl -l
창 목록은 창 연령에 따라 정렬됩니다. xfce 패널을 동일하게 (설정) 수행하면 두 순서가 완벽하게 일치합니다. 스크립트는 창 목록을 작성하고 "실제"표시 가능한 창 ( xprop
)을 필터링하고 창 panel_navigate
번호 (왼쪽에서 오른쪽으로)를 agrument로 하여 명령으로 선택한 창으로 전환합니다 .
이슈
IDLE (python 인터프리터) 창에 pid 0이 있고 속성을로 검색 할 수없는 예외가 하나 있습니다 xprop
. 창은 창 목록에 나타나지 않으며 스크립트로 건너 뜁니다.
노트
키 조합 Ctrl+ <number>
는 테스트 중에 오류를 발생시키지 않았지만 일부 응용 프로그램과 충돌 할 수 있습니다. (예) Ctrl+ Alt+ 를 선택하는 것이 더 안전 할 수 있습니다
1