Ubuntu 18.04とGNOMEを使用しています。ウィンドウの1つが最小化されたときに他のウィンドウもすべて最小化され、ウィンドウが他のすべてのウィンドウも復元されるような方法で複数のウィンドウを関連付けることができる機能があるかどうか知りたいのですが。
つまり私は複数のターミナルウィンドウで作業しています。ターミナルグループを最小化すると、そのグループに属する他のすべてのターミナルウィンドウも最小化されるように、ターミナルをNグループにグループ化したいと考えています。
次の手順は、$ XDG_SESSION_TYPE x11専用です。
ノート:
重要:
ターミナルウィンドウのタイトルが変更されないようにするために、〜/ .bashrcの次の行を最初にコメント化する必要がありました。これが行われない場合、タイトルは設定したタイトルを保持するのではなく、現在の作業ディレクトリを反映します。
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
私は使用して各ウィンドウに名前を付けました
echo -en "\033]0;New title\a"
ここで使用されているxdotoolは、次を使用して名前が付けられたウィンドウを処理しないことに注意してください
wmctrl -r :ACTIVE: -N "New title"
完全な説明については、 ターミナルウィンドウのタイトルの設定:wmctrlとxdotool の回答を参照してください。
次のアニメーションgifは、画像の画面上部にある別の「マスター」ターミナルを使用して、特定のウィンドウグループを最小化または最大化するコードを発行する方法を示しています。
そのために、次の関数を〜/ .bashrcに追加しました。
mmm(){
echo "enter KEYWORD" && read KEYWORD && xdotool search --name --onlyvisible "$KEYWORD" > /tmp/tmp.txt
}
xwn() {
while read p; do xdotool windowminimize "$p"; done </tmp/tmp.txt
}
xwx() {
while read p; do xdotool windowactivate "$p"; done </tmp/tmp.txt
}
mmm
は、xdotoolを使用して、ユーザーが提供した文字列「KEYWORD」を検索します。この例の「earth」は、対象となるターミナルウィンドウのoneグループに共通です。 xdotoolは、一時ファイルに送信されるウィンドウ識別子を生成します。xwn
は、xdotoolのwindowminimizeアクションを使用して、一時ファイルで指定されたウィンドウを最小化します。xwx
は、xdotoolのwindowactivateアクションを使用して、一時ファイルで指定されたウィンドウを最大化します。mmm
またはxwn
の直前にxwx
を実行する必要がある場合があることに注意してください。mogrify -type Grayscale -depth 7 *.png
は、gifのサイズを縮小します。
私はあなたが探しているものを正確に提供するものは何も知りませんが、次の手順に従うことでこのちょっと醜い回避策を試すことができます。
Ubuntu 19.04私はこのスクリプトをテストしていません。これらのキーストロークを自由に修正してください。スクリプトを使用して、ウィンドウと他のウィンドウを名前リストから選択し、最小化キーストロークをそれらに送信することにより、ウィンドウを最小化できます。残念ながら、Gnomeキーボードショートカットに最小化ウィンドウショートカットが表示されません。このスクリプトを実行するには、Gnomeにショートカットキーを設定します。 keydown alt + space release then m(または最小化が私のウィンドウの最初のmin/max/moveリストで最初に入力される)でもトリックが得られますが、xdotoolキーストロークはここで役立ちます https://www.linux.org/threads /xdotool-keyboard.10528/
#!/bin/bash
names="Firefox Thunderbird Kate Konsole"
echo "$names"
for name in $names
do
# id=$(xdotool search --onlyvisible --name
"$name")
id=$(xdotool search --desktop 0 --class
"$name")
echo $name $id
if [ "x$id" = "x" ]
then
echo " window not found for "$name""
else
xdotool windowactivate --sync $id key --
clearmodifiers --delay 100 keydown alt+space
xdotool windowactivate --sync $id key --
clearmodifiers --delay 100 key enter
# you can set sleep by a lesser value here like a
fraction 0.1
sleep 1
fi
done