MacBSさん、wajunさんに刺激されて、私も改造してみました。
4個以上で縦にもタイリングするバージョンです。
try
— yoko no window no kazu (max)
set yokoMax to 3— get screen size
tell application “Finder”
set theScreen to bounds of (window of desktop)
set X to item 3 of theScreen
set y to item 4 of theScreen
end telltell application “Safari”
activate
set totalCount to number of document
set theCount to 1if totalCount = 4 then set yokoMax to 2
if yokoMax > totalCount then set yokoMax to totalCount
set windowWidth to (X / yokoMax)
set windowHeight to ((y – 22) / (((totalCount – 1) div yokoMax) + 1))set {hidari, ue, migi, shita} to {0, 22, windowWidth, 22 + windowHeight}
repeat while theCount ≤ totalCount
set bounds of window theCount to {hidari, ue, migi, shita}
set {hidari, ue, migi, shita} to {hidari + windowWidth, ue, migi + windowWidth, shita}
if (theCount mod yokoMax) is 0 then
set {hidari, ue, migi, shita} to {0, ue + windowHeight, windowWidth, shita + windowHeight}
end if
set theCount to theCount + 1
end repeat
end tellon error the error_message number the error_number
log (“Error: ” & the error_number & “. ” & the error_message)
end try
あれ、ここのCSSだと字下げがうまく行かないな…
それに実行結果もウインドウが4つ以上のとき、ドックに重なってしまう…何でだろ。
引き続き宿題にしよう。
なんかウインドウ3つ時、4つ時、5つ時などで、それぞれテーブル持った方がいいような気がしてきた。
コメント
タイリングバージョン、良い感じですね。
以下の箇所を修正すればドックに重ならなくなりました。
set windowHeight to ((y – 22) / (((totalCount – 1) div yokoMax) + 1))
↓
set windowHeight to ((y – 22 – 70) / (((totalCount – 1) div yokoMax) + 1))
Dockのサイズが減算されていなかったようです。
横に並べるだけの時は縦の最大サイズ制限で自動的にDockに隠れなかったみたいですね。
正式にはDockの大きさにもよるので、
set dockSize to 70
といった具合にしたほうが良いでしょう。
あと、タブをばらすのも実験してみました。
click menu item “タブを新しいウインドウに移動” of menu “ウインドウ” of menu bar 1
といった感じでやるのですが、これだとユニバーサルアクセスがOnでないとダメです。
もうちょっと調べてみます。
>横に並べるだけの時は縦の最大サイズ制限で
あーそこですね。
ココの規則性が発見できなくて、睡眠時間が1時間減りました(笑