모든 뷰포트에서 응용 프로그램 창 사이를 전환하는 키 조합


11

Alt- `유니티에서 현재 뷰포트에서 응용 프로그램의 창 사이를 전환하는 데 사용됩니다.

모든 뷰포트에서 응용 프로그램 창간에 전환 할 수있는 다른 키 조합이 있습니까?

현재 뷰포트에서 응용 프로그램 창 사이를 전환하는 Alt-의 기본 동작을 변경하고 싶지 않습니다 `.

Ubuntu 14.04와 Unity를 사용하고 있습니다.


관점에서 당신은 작업 공간을 의미합니까?
Tim

답변:


7

KEEP : 피노의 대답에 의해 영감을, 나는 그것을 끝내야하는 더러운 트릭을 발견 Alt+ `하나 개의 뷰포트에서 응용 프로그램 창 사이를 전환하고 (예를 들어) Alt+ 1모든 뷰포트에서 응용 프로그램 창 사이를 전환 할 수 있습니다.

사소한 외관상의 단점은 설정을 변경하는 데 1 초의 시간이 필요하기 때문에 응답 성이 약간 덜 정확하다는 것입니다. 그러나 실제로는 거의 눈치 채지 못할 것입니다.

  1. 설치 xdotool:

    sudo apt-get install xdotool
    
  2. 다음 scipt를 빈 파일에 복사하고 다른 이름으로 저장하십시오. switch.sh

    #!/bin/bash
    
    dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport false
    sleep 0.2
    xdotool keydown alt key 0x60
    dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport true
    sleep 1
    
  3. 스크립트를 실행할 키 조합을 설정하십시오 System Preferences > Keyboard > Shortcuts > Custom Shortcuts. 나는 다른 것에 가깝기 때문에 Alt+를 선택합니다 1.

    이제 Alt+ 1를 사용하여 gedit의 모든 창 사이를 전환 할 수 있습니다 .

    여기에 이미지 설명을 입력하십시오

    또는 Alt+ `는 정확한 작업 공간의 gedit 창 사이를 전환합니다.

    여기에 이미지 설명을 입력하십시오

노트:

  1. 스크립트에서 위의 키 Tab는로 설정되어 key 0x60있습니다. 다른 레이아웃에서 다를 수 있습니다. 작동하지 않으면 터미널에서 실행 xev한 다음을 누른 Return다음 탭 위의 키 를 누르 십시오. 출력에서와 같은 문자열을 찾으십시오 (keysym 0x60, grave). keysym 값은 (script-) 줄에 필요한 값입니다.

    xdotool keydown alt key 0x60
    
  2. 내 시스템에서 스크립트 의 값 sleep 0.2sleep 1스크립트가 제대로 작동하지만 더 빠른 시스템 (감소)에 최적화 될 수 있습니다.

더 많은 옵션

마찬가지로, 모든 사이를 전환하는 키 조합을 설정할 수 있습니다 응용 프로그램 창모든 뷰포트 스크립트는 다음과 같다 :

#!/bin/bash

dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport false
sleep 0.2
xdotool keydown alt key 0xff09
dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport true
sleep 1

예를 들어 Alt+ Q를 설정하면 모든 옵션이 훌륭하게 나타납니다.

Alt+ 현재 뷰포트 에서 현재 응용 프로그램` 간 전환

Alt+ 모든 뷰포트 에서 현재 응용 프로그램1 간 전환

Alt+ 현재 뷰포트의 모든 응용 프로그램Tab 간 전환

Alt+ 모든 뷰포트 에서 모든 응용 프로그램Q 간 전환

여기에 이미지 설명을 입력하십시오

Alt+ Tab: 현재 뷰포트의 모든 응용 프로그램 창 간 전환

여기에 이미지 설명을 입력하십시오

Alt+ Q: 모든 뷰포트에서 모든 응용 프로그램 창 간 전환


5

사용하는 일반적인 솔루션 wmctrl


개요

다음 스크립트는 모든 EWMH 호환 창 관리자 (예 : xfwm4, openbox, kwin, compiz ...) 와 호환되어야합니다 . 다음을 사용 wmctrl하여 xprop설치할 수있는 및를 사용합니다.

sudo apt-get install x11-utils wmctrl

설치

다음 구절을 복사하여 다음과 같이 저장하십시오 simple-window-switcher.

#!/bin/bash

# based on a script by Robert Steiniger
# (http://lars.st0ne.at/blog/switch%20between%20windows%20within%20the%20same%20application)

Usage="
  Title:        simple-window-switcher 0.1
  Description:  switch between all windows of active application
  Author:       Copyright Glutanimate 2014 (https://github.com/Glutanimate)
  License:      GNU GPLv3
  Usage:        $(basename "$0") [-g|-l|-h]
                -g: global window switching (across all workspaces)
                -l: local window switching (current workspace)
                -h: display this help message

                If no argument is provided window switching will be set to global.
"

while getopts "lgh" OPTIONS; do
  case $OPTIONS in
    l ) Fields="3-4"
        ;;
    g ) Fields="4"
        ;;
    h ) echo "$Usage"
        exit 0
        ;;
   \? ) echo "$Usage"
        exit 1
        ;;
  esac
done

ActiveWinID="$(xprop -root | sed -n 's/_NET_ACTIVE_WINDOW(WINDOW): window id # 0x//p')"
# fields 3-4: <desktop number> <window class>
ActiveWinClass="$(wmctrl -xl | grep "$ActiveWinID" | cut -d" " -f${Fields})"
WindowList="$(wmctrl -xl | grep "$ActiveWinClass" | cut -d" " -f1)"
NextWindow="$(echo "$WindowList" | grep -A1 "$ActiveWinID" | sed -n 2p)"

if [[ -z "$NextWindow" ]]; then
  NextWindow="$(echo $WindowList | head -n 1)"
fi

wmctrl -i -a "$NextWindow"

스크립트를 실행 가능으로 표시하고 원하는 곳 (예 : /usr/local/bin또는 ~/bin)에 저장하십시오.

용법

창 관리자의 바로 가기 키 메뉴를 사용 simple-window-switcher하여 선택한 단축키에 할당 하십시오. 다음 매개 변수를 사용하여 스크립트의 작동 방식을 제어 할 수 있습니다.

  • -g: 전역 창 전환 (모든 작업 공간에서)
  • -l: 로컬 창 전환 (현재 작업 공간); Unity / Compiz에서 작동하지 않을 수 있습니다 (자세한 내용은 주석 섹션 참조)

@Glutanimate에게, -l다른 작업 공간의 창으로도 전환합니다.
Kadir

@Kadir 이상하다. 내 시스템에 없습니다. 시간이 있다면 pastebin.comwmctrl -xl같은 사이트에 결과를 게시하고 여기에 연결 하시겠습니까?
Glutanimate

@Glutanimate님께, 여기 있습니다 : pastebin.com/iJBAZ5a7
Kadir

감사합니다! Unity / Compiz가 작업 공간 정보를 올바르게 노출하지 않는 것처럼 보이므로 wmctrl이 선택하는 데 문제가 있습니다 (두 번째 열에 0 만 표시되는 경우, 작업 공간 번호 여야 함). 그것이 버그인지 또는 그런 식으로 설계되었는지는 알 수 없습니다. LXDE를 사용하고 있었기 때문에이를 알지 못했습니다. 답변에 메모를 추가하겠습니다.
Glutanimate

4

터미널을 열고 다음 명령을 입력하십시오.

dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport false

또는 Unity Tweak Tool을 설치할 수 있습니다.

sudo apt-get install unity-tweak-tool
unity-tweak-tool

그런 다음 스위처 탭에서 모든 작업 공간 에서 창 간 전환 옵션을 활성화하십시오 .

여기에 이미지 설명을 입력하십시오


현재 뷰포트에서 응용 프로그램 창 사이를 전환하는 Alt-`의 속성을 유지하고 싶습니다. Ctrl-Alt-`와 같은 다른 바로 가기가 필요합니다.이 단축키는 모든 뷰포트에서 응용 프로그램 창 사이를 전환합니다.
Kadir

1
@Kadir 불행하게도, dconf 속성은 두 설정이 공존 할 수 없습니다. 하나의 행동 또는 다른 행동입니다.
Sylvain Pineau
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.