Window Mover¶
Window Moverは、アクティブウィンドウの位置や大きさをホットキーまたはエリア選択から変更する機能です。
ホットキーで移動する¶
ホットキーを設定¶
使いたいコマンドにホットキーを設定します。
window_mover = {
commands = {
moveToNextDisplay = {
hotkey = {
modifiers = { "ctrl", "alt" },
key = "m",
},
},
maximizeWindow = {
hotkey = {
modifiers = { "ctrl", "alt" },
key = "return",
},
},
cycleLeft = {
hotkey = {
modifiers = { "ctrl", "alt" },
key = "h",
},
},
cycleRight = {
hotkey = {
modifiers = { "ctrl", "alt" },
key = "l",
},
},
},
}
ホットキーを指定していないコマンドは無効です。
ディスプレイとエリア¶
| コマンド | 説明 |
|---|---|
moveToNextDisplay |
次のディスプレイへ移動し、移動先で最大化します。 |
moveToActiveDisplayFreeArea |
現在のディスプレイにある最大の空き領域へ移動・リサイズします。 |
moveToSelectedArea |
ディスプレイごとに設定した移動先を選ぶ画面を開きます。 |
moveToSelectedAreaInJinraiMode |
JinraiModeとして移動先を選ぶ画面を開きます。 |
ウィンドウ操作¶
| コマンド | 説明 |
|---|---|
maximizeWindow |
現在のディスプレイの作業領域へ最大化します。macOSのフルスクリーンとは異なります。 |
minimizeWindow |
ウィンドウを最小化します。 |
サイズを切り替えながら配置¶
同じコマンドを繰り返すと、既定では1/2、1/3、2/3の順にサイズが変わります。
| コマンド | 説明 |
|---|---|
cycleLeft |
左端へ配置し、横幅を切り替えます。 |
cycleHorizontalCenter |
横方向中央へ配置し、横幅を切り替えます。 |
cycleRight |
右端へ配置し、横幅を切り替えます。 |
cycleTop |
上端へ配置し、高さを切り替えます。 |
cycleVerticalCenter |
縦方向中央へ配置し、高さを切り替えます。 |
cycleBottom |
下端へ配置し、高さを切り替えます。 |
切り替える比率は、0より大きく1以下の任意の値へ変更できます。たとえば、次の設定では1/4と3/4も含めて切り替えます。
window_mover = {
behavior = {
cycle = {
horizontalRatios = { 1 / 2, 1 / 3, 1 / 4, 2 / 3, 3 / 4 },
verticalRatios = { 1 / 2, 1 / 3, 1 / 4, 2 / 3, 3 / 4 },
},
},
}
決まったサイズへ配置¶
次のコマンドは、名前に対応する利用可能なエリアへ直接移動します。
| サイズ | コマンド |
|---|---|
| 横または縦の2分割 | halfLeft、halfHorizontalCenter、halfRight、halfTop、halfVerticalCenter、halfBottom |
| 横または縦の3分割 | thirdLeft、thirdHorizontalCenter、thirdRight、thirdTop、thirdVerticalCenter、thirdBottom |
| 横または縦の4分割 | quarterLeft、quarterHorizontalLeftCenter、quarterHorizontalRightCenter、quarterRight、quarterTop、quarterVerticalTopCenter、quarterVerticalBottomCenter、quarterBottom |
| 画面の4分割 | quarterTopLeft、quarterTopRight、quarterBottomLeft、quarterBottomRight |
| 画面の6分割 | sixthTopLeft、sixthTopCenter、sixthTopRight、sixthBottomLeft、sixthBottomCenter、sixthBottomRight |
| 3分の2 | twoThirdsLeft、twoThirdsHorizontalCenter、twoThirdsRight、twoThirdsTop、twoThirdsVerticalCenter、twoThirdsBottom、twoThirdsCenter |
| 4分の3 | threeQuartersLeft、threeQuartersHorizontalCenter、threeQuartersRight、threeQuartersTop、threeQuartersVerticalCenter、threeQuartersBottom、threeQuartersCenter |
共通設定¶
移動後にカーソルを追従¶
behavior.cursor.afterMoveをtrueにすると、移動後にカーソルもウィンドウ中央へ移動します。
エリアを選んで移動¶
moveToSelectedAreaは、各ディスプレイ上に設定済みのエリアとキーを表示します。キーを入力すると、アクティブウィンドウがそのエリアへ移動します。
ディスプレイUUIDを確認¶
エリアが未設定の状態でmoveToSelectedAreaを実行すると、各ディスプレイ上にUUIDと設定例が表示されます。表示されたUUIDをselectedArea.screensのキーに使用します。
エリアを設定¶
設定できるエリア名は利用可能なエリアを参照してください。
window_mover = {
commands = {
moveToSelectedArea = {
hotkey = {
modifiers = { "ctrl", "alt" },
key = "space",
},
},
},
selectedArea = {
defaultScreen = "DISPLAY_UUID_A",
screens = {
["DISPLAY_UUID_A"] = {
freeArea = "V",
full = "A",
halfLeft = "S",
halfHorizontalCenter = "D",
halfRight = "F",
quarterTopLeft = "Q",
quarterTopRight = "W",
quarterBottomLeft = "Z",
quarterBottomRight = "X",
["1920x1080Center"] = "M",
},
},
actions = {
closeWindow = "C",
minimizeWindow = "N",
quitApplication = "Q",
},
windowHints = {
key = "H",
},
hints = {
show = true,
},
},
}
| 設定 | 説明 |
|---|---|
selectedArea.screens |
ディスプレイUUIDごとに、エリア名と選択キーを指定します。 |
selectedArea.defaultScreen |
設定がないディスプレイへ流用するキーマップのUUIDです。 |
selectedArea.actions.closeWindow |
エリア選択中にアクティブウィンドウを閉じるキーです。 |
selectedArea.actions.minimizeWindow |
エリア選択中にアクティブウィンドウを最小化するキーです。 |
selectedArea.actions.quitApplication |
エリア選択中にアクティブウィンドウのアプリケーションを通常終了するキーです。 |
selectedArea.windowHints.key |
エリア選択を閉じ、Window Hintsを開くキーです。 |
selectedArea.hints.show |
エリアとキーを画面上に表示するかを指定します。falseでもキー入力は有効です。 |
選択画面はescape、候補外のクリック、または起動に使ったホットキーで閉じられます。
freeAreaを選ぶと、選択した時点のウィンドウ配置から最大の空き領域を探します。空き領域がない場合、ウィンドウは移動せず選択画面が維持されます。
同じディスプレイ内のエリアキー、アクションキー、Window Hintsへ戻るキーは重複させないでください。BとB1のような、一方がもう一方の先頭に一致する組み合わせも使用できません。
選択画面の見た目¶
window_mover = {
selectedArea = {
appearance = {
borderWidth = 2,
cornerRadius = 6,
state = {
normal = {
bgColor = { red = 0.03, green = 0.03, blue = 0.04, alpha = 0.88 },
textColor = { red = 0.96, green = 1.0, blue = 0.98, alpha = 1.0 },
typedTextColor = { red = 0.96, green = 1.0, blue = 0.98, alpha = 0.38 },
},
dimmed = {
bgColor = { red = 0.03, green = 0.03, blue = 0.04, alpha = 0.30 },
textColor = { red = 0.96, green = 1.0, blue = 0.98, alpha = 0.32 },
},
},
},
},
}
selectedArea.appearance.stylesでは、利用可能なエリアの種類ごとにエリアの色を変更できます。