質問: 2 firefox` または `open-in-screen 2 firefox` などです。 問題であれば、私の環境はKWinウィンドウマネージャを使ったKDEです。 KWinウィンドウのルールはtitleのようないくつかのプロパティにしかマッチできませんが、filterとしての環境変数を見つけることができませんでした。 セカンダリディスプレイはプライマリ画面を拡張します。 ``` $ xrandr -q Screen 0: minimum 320 x 200, current 3520 x 1080, maximum 32767 x 32767 LVDS1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 382mm x 214mm 1600x900 60.1*+ 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 VGA1 disconnected (normal left inverted right x axis y axis) HDMI1 connected 1920x1080+1600+0 (normal left inverted right x axis y axis) 477mm x 268mm 1920x1080 60.0* 50.0 59.9 1920x1080i 60.1 50.0 60.0 1680x1050 59.9 1280x1024 75.0 60.0 1440x900 59.9 1280x960 60.0 1280x720 60.0 50.0 59.9 1024x768 75.1 70.1 60.0 832x624 74.6 800x600 72.2 75.0 60.3 56.2 720x576 50.0 720x480 60.0 59.9 640x480 75.0 72.8 66.7 60.0 59.9 720x400 70.1 DP1 disconnected (normal left inverted right x axis y axis) ```
回答: I did come across this method which makes use of `xdotool`, `xprop`, & `wmctrl`. これが下記のスクリプトの動作です。 1. アクティブなウィンドウを探す 2. 最大化された状態にして覚えておく 3. 最大化を削除する 4. ジオメトリを取得する 5. 新しい職位を計算する 6. 移動する 7. 以前の状態に基づいて最大化する 8. 上げる 9. これを行うスクリプトは次のとおりです。 ### スクリプト これにより、アクティブウィンドウが他のモニターに移動します。並んでいる、別名でしか扱えません。水平、モニターの設定。 ``` wid=`xdotool getactivewindow` max_state=`xprop -id $wid _NET_WM_STATE` wmctrl -ir $wid -b remove,maximized_vert,maximized_horz eval `xdotool getwindowgeometry --shell $wid` new_x=1600 if [[ "$X" -ge "$new_x" ]]; then new_x=0 fi xdotool windowmove $wid $new_x $Y if [ -z "${max_state/*_NET_WM_STATE_MAXIMIZED_*/}" ]; then wmctrl -ir $wid -b add,maximized_vert,maximized_horz fi xdotool windowraise $wid ``` ***ソース:** Xubuntu - モニタ間でウィンドウを移動する*