#!/bin/bash
#このスクリプトを実行するには wmctrl が必要です.
#ubuntuの場合,$sudo apt-get install wmctrl でインストールできます
#ここを自分で設定する
#左側ディスプレイの横幅
left_window_width=1280
#右側ディスプレイの横幅
right_window_width=1920
#アクティブウィンドウのwindow IDを取得
active_window_id_info=`xprop -root | grep ^_NET_ACTIVE_WINDOW`
set -- $active_window_id_info
active_window_id=$5
#デバッグ用 アクティブウィンドウID表示
#echo "ACTIVE_WINDOW" $active_window_id
#アクティブウィンドウx座標取得
active_window_x_info=`xwininfo -id $active_window_id | grep "Absolute\ upper-left\ X:"`
set -- $active_window_x_info
active_window_x=$4
#デバッグ用 アクティブウィンドウの座標を表示
#echo "ACTIVE_WINDOW_X:" $active_window_x
#左側にあるウィンドウを右側に
#右側にあるウィンドウを左側にするためのX座標を計算
move_window_x=0
if [ $active_window_x -lt 1280 ]; then
right_left=`echo "scale=5; $right_window_width / $left_window_width" | bc`
result=`echo "scale=5; $left_window_width+$right_left*$active_window_x" | bc`
move_window_x=$result
else
window_x=`expr $active_window_x - $left_window_width`
left_right=`echo "scale=5; $left_window_width / $right_window_width" | bc`
result=`echo "scale=5; $left_right*$window_x" | bc`
move_window_x=$result
fi
#少数を整数へと変換
move_window_x=${move_window_x%.*}
#正しく値が変換できなかったらx座標を0にする
if [ ${#move_window_x} = 0 ]; then
move_window_x=0
fi
#デバッグ用 移動先のX座標を表示
#echo "MOVE_WINDOW_X:" $move_window_x
#ウィンドウを移動させる
wmctrl -i -r $active_window_id -e 0,$move_window_x,-1,-1,-1