바로 가기를 사용하여 창 표시 줄에서 창을 열 수있는 방법이 있습니까? 예를 들어 왼쪽 Ctrl + 1의 첫 번째 창을 열고 왼쪽 Ctrl + 2의 두 번째 창을 엽니 다.
현재 xfce4를 사용하고 있지만 xfce4에서 사용할 수없는 경우이를 허용하는 다른 데스크탑 환경이 있습니까?
동일한 응용 프로그램에 대해 여러 개의 창이 열려 있기 때문에 응용 프로그램과 관련된 sortcut을 검색하지 않지만 아래에서 말하는 것처럼 창을 검색합니다.
바로 가기를 사용하여 창 표시 줄에서 창을 열 수있는 방법이 있습니까? 예를 들어 왼쪽 Ctrl + 1의 첫 번째 창을 열고 왼쪽 Ctrl + 2의 두 번째 창을 엽니 다.
현재 xfce4를 사용하고 있지만 xfce4에서 사용할 수없는 경우이를 허용하는 다른 데스크탑 환경이 있습니까?
동일한 응용 프로그램에 대해 여러 개의 창이 열려 있기 때문에 응용 프로그램과 관련된 sortcut을 검색하지 않지만 아래에서 말하는 것처럼 창을 검색합니다.
답변:
시스템에 작은 스크립트와 작은 수술로 설명대로 정확하게 배치 할 수 있습니다.
wmctrl; 설치해야 할 수도 있습니다.xprop창 속성을 가져옵니다. 시스템에 이미 설치되어 있습니다.설치 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