KDEのWindows用アプリケーションのショートカット

KDEのWindows用アプリケーションのショートカット

次のタスクを実行するために、複数のアプリへのショートカットが必要です。

  • まだ実行されていない場合は、アプリケーションを起動します。
  • アプリがバックグラウンドにある場合は、フォアグラウンドにインポートされます。
  • アプリケーションの次のインスタンスがある場合は、フォアグラウンドにインポートします。

私はDebianとKDEを使用しています。これを達成するための最良の方法は何ですか?

答え1

複数のステップに分けて、最初に名前でタスクを見つけて見つからない場合は実行できます。

APPID=`pgrep <taskname>`
if [ $APPID == "" ] ; then
    <app-command-with-options>
    exit 0
fi

これでアプリケーションを実行する必要がある場合はスクリプトが終了し、それ以外の場合は続行されます。窓を探しています。次のタスクに属します。

known_windows=$(xwininfo -root -children|sed -e 's/^ *//'|grep -E "^0x"|awk '{ print $1 }')

for id in ${known_windows}
do
    xp=$(xprop -id $id _NET_WM_PID)
    if test $? -eq 0; then
        pid=$(xprop -id $id _NET_WM_PID|cut -d'=' -f2|tr -d ' ')

        if test "x${pid}" = x${APPID}
        then
            echo "Windows Id: $id"
        fi
    fi
done

この時点で、スクリプトは一致するウィンドウのリストを繰り返しました。ループの後にコマンドを追加して「$ id」とマークされたウィンドウをアクティブにすると、リストの最後のウィンドウに切り替わり、一番上に上がります。

xdotool windowactivate $id

自分に合った順序でウィンドウを選択するさまざまな戦略を見つけることができます。また、コマンドxdotoolと検索オプションをより賢く使用してスクリプトを簡素化できます。

関連情報