WebDesigner's Memorandumウェブデザイナーの備忘録

Keyboard Maestroでウインドウのリサイズや移動をするときに使う「SCREENVISIBLE」についてのまとめ

Keyboard Maestroでウインドウのリサイズや移動をするときに使う「SCREENVISIBLE」についてのまとめ

Keyboard Maestroでウインドウの操作をしたいとき、移動なら「Move a Window」アクション、リサイズなら「Resize a Window」を使い、両方を行いたい場合はアクション内にある「Move by(もしくはResize by)」をクリックして、[Move and Resize]を選択します。

Move and Resize Window

ここで数値を入力するとウインドウの操作ができますが、デュアルディスプレイの場合はメインディスプレイを基準とした操作になってしまいます。

今回はこの基準を現在アクティブなディスプレイにする方法についてです。

ウインドウ操作用の関数を使う

入力欄が小さいので気付きませんが、実はウインドウ操作アクションの入力欄には数字だけでなく、Keyboard Maestro独自の関数のようなものも入力できます。

試しに、[Move and Resize]内にある[Custom]以外のいずれかをクリックすると、数字ではない文字列が確認できます。

[Move and Resize]→[Full Screen]

このSCREENVISIBLEがウインドウ操作用の関数です。

カッコ内には2つの引数が設定でき、1つ目の引数には「値を取得したいディスプレイ」、2つ目の引数には「取得したい値」を入力することで、ディスプレイの情報が取得できます。

SCREENVISIBLEの解説

上記の例の場合は「Main(メインディスプレイ)のTop(1番上の値)を取得する」という意味になります。

1つ目の引数一覧

1つ目の引数には下記のような値が入力できます。

使える引数説明
Mainメインディスプレイ([システム環境設定]→[ディスプレイ]→「配置」から変更)
Second2つ目のディスプレイ
Third3つ目のディスプレイ
InternalMacの画面
External外部ディスプレイ
Mouseマウスがあるディスプレイ
Front現在アクティブになっているディスプレイ
Back(左から数えて1つ目の)現在アクティブになっていないディスプレイ
Back2(左から数えて2つ目の)現在アクティブになっていないディスプレイ

2つ目の引数一覧

2つ目の引数には下記のような値が入力できます。

使える引数説明
Left左の値
Right右の値
Top上の値
Bottom下の値
Widthディスプレイの横幅
Hieghtディスプレイの高さ
MidXディスプレイの真ん中までの距離(横)
MidYディスプレイの真ん中までの距離(縦)

使うときのポイント

1つ目の引数は「Main」ではなく「Front」か「Mouse」を使うことで、デュアルディスプレイにも対応したウインドウの移動やリサイズが行なえます。

また、関数のあとに四則演算を行って、数字をさらに調整することもできます。

下のマクロは、ウインドウサイズを画面の縦横80%にするものです。

ウインドウサイズをディスプレイの縦横80%にするマクロ

位置に関しては、アクティブなディスプレイの真ん中から、ディスプレイサイズを40%にした値を引いています(この40%は、ウインドウサイズ80%の半分です)。

横幅と高さに関しては、それぞれの値を80%にしています。

このように、少し複雑な位置とリサイズも、計算を工夫すれば簡単に実現できます。

SCREEN関数

ちなみに、似た関数に「SCREEN」という関数もありますが、そちらはメニューバーのサイズも含んでしまうため、ウインドウのリサイズには向きません。

著者について

プロフィール画像

サイトウ マサカズ@31mskz10

1997年生まれ。2016年から専門学校でデザインについて勉強。卒業後は神戸の制作会社「N'sCreates」にウェブデザイナーとして入社。このブログでは自分の備忘録も兼ねて、ウェブに関する記事や制作環境を効率的に行うための記事を書いています。

Twitterをフォロー Facebookでいいね