Alt-` Unityの現在のビューポートでアプリケーションのウィンドウを切り替えるために使用されます。
すべてのビューポートでアプリケーションのウィンドウを切り替える別のキーの組み合わせはありますか?
デフォルトの動作を変更したくない Alt-`、現在のビューポートでアプリケーションのウィンドウを切り替えています。
Ubuntu 14.04とUnityを使用しています。
ピノーの答えに触発されて、私はそれを成し遂げるために汚いトリックを見つけました: Alt+` 1つのビューポートでアプリケーションウィンドウを切り替えるため、および(たとえば) Alt+1 すべてのビューポートでアプリケーションウィンドウを切り替える。
マイナーな化粧品の欠点は、設定を変更するのにほんの一瞬しか必要ないため、応答性の精度がやや劣ることです。しかし実際には、ほとんど気付かないでしょう。
xdotool
のインストール:
Sudo apt-get install xdotool
次のスクリプトを空のファイルにコピーして、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
スクリプトを実行するキーの組み合わせSystem Preferences > Keyboard > Shortcuts > Custom Shortcuts
を設定します。私は選ぶ Alt+1、もう一方に近いので。
今、あなたはどちらかを使用することができます Alt+1 (たとえば)geditのすべてのウィンドウを切り替えるには:
または Alt+` 現在のワークスペースのみのgeditウィンドウを切り替えるには:
注:
スクリプトでは、上のキー Tab key 0x60
に設定されます。これは、他のラウヨートでは異なる場合があります。うまくいかない場合は、ターミナルxev
で実行してから、 Return、次にタブの上のキー。出力で、(keysym 0x60, Grave)
などの文字列を探します。 keysym値は、(script-)行で必要な値です。
xdotool keydown alt key 0x60
sleep 0.2
およびsleep 1
の値は、システムでスクリプトを正常に動作させますが、より高速なシステム(削減)の最適化の対象になる場合があります。
その他のオプション
同様に、すべてのapplication windows on all viewportsを切り替えるキーの組み合わせを設定できます。スクリプトは次のようになります。
#!/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:すべてのビューポートですべてのアプリケーションウィンドウを切り替える
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
などのPATHに保存することをお勧めします)。
使用法
ウィンドウマネージャーのキーボードショートカットメニューを使用して、simple-window-switcher
を選択したホットキーに割り当てます。次のパラメーターを使用して、スクリプトの動作を制御できます。
-g
:グローバルウィンドウの切り替え(すべてのワークスペース間)-l
:ローカルウィンドウの切り替え(現在のワークスペース); Unity/Compizでは動作しない可能性があります(詳細についてはコメントセクションを参照)ターミナルを開き、次のコマンドを入力します。
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
次に、Switcherタブですべてのワークスペースのウィンドウを切り替えるオプションを有効にします。