2

Chrome ウィンドウを非表示にする小さなスクリプトを作成しましたが、コードを変更してアクティブなウィンドウを非表示にしたいと考えています。xdotool を使用して、アクティブなウィンドウ ID を取得し、非表示にすることができます。非表示にしたいときに問題が発生します。非表示のウィンドウを確認して ID を取得し、非表示を解除するにはどうすればよいですか? クロムを非表示にするための現在のコードは次のとおりです。

  #!/bin/bash

wid=`xdotool search --name Chrome|head -1`
wstate=`xwininfo -id $wid | grep "Map State:"`

if [[ "$wstate" == *IsViewable ]]
then
    xdotool windowunmap $wid
else
    xdotool windowmap $wid
fi
4

2 に答える 2

2

@funivan ありがとうございます!それは私を正しい方向に向かわせました。xbindkeys を使用して、スクリプトをマウスのサイド ボタンの 1 つにマッピングしています。スクリプトを少し変更して、同じコマンドを実行してウィンドウを非表示または非表示にできるようにしました。

#!/bin/bash

file=/tmp/last_active_window
if [[ -s $file ]] ; then
    xdotool windowmap `cat $file`
    cat /dev/null > $file
else 
    wid=`xdotool getactivewindow`      
    xdotool windowunmap $wid
    echo $wid > $file
fi
于 2014-11-10T13:59:26.693 に答える
0
#!/bin/bash

file=/tmp/last_active_window
if [[ $1 == "unhide" ]]  ; then
    xdotool windowmap `cat $file`
else 
    wid=`xdotool getactivewindow`
    xdotool windowunmap $wid
    echo $wid > $file
fi

ウィンドウを非表示にするには:./script.sh 再表示するには./script.sh unhide

于 2014-11-10T09:15:58.053 に答える