それは簡単に聞こえます。 xdotool
デスクトップを選択し、シミュレーションします F5 キーを押してフォーカスを呼び出し側のウィンドウ/プログラムに戻します。
グーグルした後、それはもはや簡単に聞こえません。
私はこれをbash/gnome-Shellから行う必要があります。
何か案は?
このプロジェクトはこのQ&Aに関連しており、モニターのサイズが異なるため、アイコンが左画面から黒い全体にドロップします。
おかげで ポデスタの助け 私はこのコードを作成しました:
TestIcons () {
[[ $TestSeconds == "" ]] || [[ $TestSeconds == 0 ]] && TestSeconds=5
local i Position File
for (( i=0; i<${#IconsArr[@]}; i=i+ICON_FLD_CNT )) ; do
File="$ICONS_DIR"/"${IconsArr[((i+ICON_NAME_NDX))]}"
Position="${IconsArr[((i+ICON_COL_NDX))]},${IconsArr[((i+ICON_ROW_NDX))]}"
gvfs-set-attribute -t string "$File" \
'metadata::nautilus-icon-position' "$Position"
done
wmctrl -k on # Show desktop
xdotool key F5 # Refresh desktop (show icon new positions)
sleep $TestSeconds # Pause for view
wmctrl -k off # Restore windows
for (( i=0; i<${#OldIconsArr[@]}; i=i+ICON_FLD_CNT )) ; do
File="$ICONS_DIR"/"${OldIconsArr[((i+ICON_NAME_NDX))]}"
Position="${OldIconsArr[((i+ICON_COL_NDX))]},${OldIconsArr[((i+ICON_ROW_NDX))]}"
gvfs-set-attribute -t string "$File" \
'metadata::nautilus-icon-position' "$Position"
done
wmctrl -k on # Show desktop
xdotool key F5 # Refresh desktop (show icon new positions)
wmctrl -k off # Restore windows
} # TestIcons
画面は次のようになります。
以下のスクリプト @ WinEunuuchs2Unix の作業は、最終的な解決策です。私の最初の答えは終わりです。
#!/bin/bash
TestIcons () {
[[ $TestSeconds == "" ]] || [[ $TestSeconds == 0 ]] && TestSeconds=5
local i Position File
for (( i=0; i<${#IconsArr[@]}; i=i+ICON_FLD_CNT )) ; do
File="$ICONS_DIR"/"${IconsArr[((i+ICON_NAME_NDX))]}"
Position="${IconsArr[((i+ICON_COL_NDX))]},${IconsArr[((i+ICON_ROW_NDX))]}"
gvfs-set-attribute -t string "$File" \
'metadata::nautilus-icon-position' "$Position"
done
wmctrl -k on # Show desktop
xdotool key F5 # Refresh desktop (show icon new positions)
sleep $TestSeconds # Pause for view
wmctrl -k off # Restore windows
for (( i=0; i<${#OldIconsArr[@]}; i=i+ICON_FLD_CNT )) ; do
File="$ICONS_DIR"/"${OldIconsArr[((i+ICON_NAME_NDX))]}"
Position="${OldIconsArr[((i+ICON_COL_NDX))]},${OldIconsArr[((i+ICON_ROW_NDX))]}"
gvfs-set-attribute -t string "$File" \
'metadata::nautilus-icon-position' "$Position"
done
wmctrl -k on # Show desktop
xdotool key F5 # Refresh desktop (show icon new positions)
wmctrl -k off # Restore windows
}
TestIcons
同様の状況で役立つ他のいくつかのxdotools
コマンド:
ウィンドウマネージャーにshow desktopコマンドがある場合は、すべてのウィンドウを最小化して戻すと便利です。通常はctrl+alt+d
に設定されます。
xdotool key ctrl+alt+d
現在アクティブなウィンドウを保存して後で戻すには、次のコマンドを使用できます。
myWindow="$(xdotool getactivewindow)"
Tiは、使用できるウィンドウを最小化します。ループに追加すると、show dekstopの代わりに、すべてのウィンドウを最小化できます。
xdotool windowminimize $(xdotool getactivewindow)
保存したアクティブウィンドウをフォーカスに戻すには:
xdotool windowactivate "$myWindow"
アクティブなウィンドウを閉じるには:
xdotool getactivewindow windowkill
そして最も重要なのは、アクティブウィンドウで使用できるすべてのコマンドで、実際に検索して特定のケースに適用できます。たとえば、タイトルに基づいてこの特定のウィンドウを検索します。
xdotool search --desktop 0 --name "command line - xdotool" windowactivate
タイトル、クラス、表示されているかどうかなどに基づいて、ウィンドウを検索する方法は数多くあります。ウィンドウの位置とマウスの両方を操作することもできます。 xdotolのマンページは非常に包括的です。それらをbashスクリプトと組み合わせると、ほとんどのことを達成するための十分な自由が与えられます。