hs.grid
Перемещение/изменение размера окон в сетке
Сетка разделяет ваши экраны для управления окнами. По умолчанию сетка имеет 3 столбца и 3 строки. Вы можете задавать разные сетки для разных экранов и/или разрешений.
Окна, которые выровнены с сеткой, описываются как cell. Каждая ячейка - это hs.geometry прямоугольник со следующими полями:
- x - Столбец левого края окна
- y - Строка верхнего края окна
- w - Количество столбцов, занимаемых окном
- h - Количество строк, занимаемых окном
Для сетки 3x3:
- ячейка
'0,0 1x1'будет в верхнем левом углу - ячейка
'2,0 1x1'будет в верхнем правом углу - и так далее...
Кроме того, предоставляется модальный интерфейс управления с клавиатурой для интерактивного изменения размера с помощью hs.grid.show(); сетка будет наложена на экран фокусированного или активного окна с подсказками для клавиатуры. Чтобы изменить размер/переместить окно, вы можете выбрать угловые ячейки желаемого положения. Для только перемещения вы можете выбрать ячейку и подтвердить нажатием клавиши «return». Выбранная ячейка станет новым верхним левым углом окна. Вы также можете использовать стрелки для перемещения окна на смежные экраны, а клавиши Tab/Shift+Tab для переключения на следующее/предыдущее окно. После выбора ячейки вы можете использовать стрелки для навигации по сетке. В этом случае сетка выделит выбранные ячейки. После выделения достаточного количества ячеек нажмите Enter, чтобы переместить/изменить размер окна на выделенную область.
Обзор API
- Переменные - Настраиваемые значения
- Функции - API-вызовы, предлагаемые непосредственно расширением
Документация API
Переменные
HINTS
| Подпись | hs.grid.HINTS |
|---|---|
| Тип | Переменная |
| Описание |
Двумерный массив (таблица таблиц строк), содержащий подсказки для клавиатуры (согласно |
| Примечания |
|
| Источник | extensions/grid/grid.lua строка 601 |
ui
| Подпись | hs.grid.ui |
|---|---|
| Тип | Переменная |
| Описание |
Позволяет настроить пользовательский интерфейс модальной сетки для изменения размера. |
| Источник | extensions/grid/grid.lua строка 650 |
Функции
adjustWindow
| Signature | hs.grid.adjustWindow(fn, window) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Вызывает указанную пользователем функцию для изменения ячейки окна. |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 372 |
get
| Signature | hs.grid.get(win) -> cell |
|---|---|
| Type | Function |
| Description |
Получает ячейку, описывающую окно. |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 243 |
getCell
| Signature | hs.grid.getCell(cell, screen) -> hs.geometry |
|---|---|
| Type | Function |
| Description |
Получает прямоугольник |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 266 |
getGrid
| Signature | hs.grid.getGrid(screen) -> hs.geometry size |
|---|---|
| Type | Function |
| Description |
Получает заданный размер сетки для заданного экрана или разрешения экрана. |
| Parameters |
|
| Returns |
|
| Notes |
Использование: local mygrid = hs.grid.getGrid('1920x1080') -- получает заданную сетку для всех экранов с разрешением 1920x1080 local defgrid=hs.grid.getGrid() defgrid.w=defgrid.w+2 -- увеличивает количество столбцов в стандартной сетке на 2 |
| Source | extensions/grid/grid.lua строка 117 |
getGridFrame
| Signature | hs.grid.getGridFrame(screen) -> hs.geometry rect |
|---|---|
| Type | Function |
| Description |
Получает заданную рамку сетки для заданного экрана или разрешения экрана. |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 154 |
hide
| Signature | hs.grid.hide() |
|---|---|
| Type | Function |
| Description |
Скрывает сетку, если она видна, и выходит из модального режима изменения размера. |
| Parameters |
|
| Returns |
|
| Notes |
|
| Source | extensions/grid/grid.lua строка 207 |
maximizeWindow
| Signature | hs.grid.maximizeWindow(window) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Перемещает и изменяет размер окна, чтобы заполнить всю сетку. |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 400 |
pushWindowDown
| Signature | hs.grid.pushWindowDown(window) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Перемещает окно на одну ячейку вниз по экрану или на сетку соседнего экрана при необходимости |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 515 |
pushWindowLeft
| Signature | hs.grid.pushWindowLeft(window) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Перемещает окно на одну ячейку влево по сетке или на сетку соседнего экрана при необходимости |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 430 |
pushWindowRight
| Signature | hs.grid.pushWindowRight(window) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Перемещает окно на одну ячейку вправо, или на сетку соседнего экрана при необходимости |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 454 |
pushWindowUp
| Signature | hs.grid.pushWindowUp(window) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Перемещает окно на одну ячейку вверх по экрану, или на сетку соседнего экрана при необходимости |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 540 |
resizeWindowShorter
| Signature | hs.grid.resizeWindowShorter(window) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Изменяет размер окна так, чтобы его нижний край сместился на одну ячейку выше |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 564 |
resizeWindowTaller
| Signature | hs.grid.resizeWindowTaller(window) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Изменяет размер окна так, чтобы его нижний край сместился на одну ячейку ниже |
| Parameters |
|
| Returns |
|
| Notes |
|
| Source | extensions/grid/grid.lua строка 577 |
resizeWindowThinner
| Signature | hs.grid.resizeWindowThinner(window) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Уменьшает ширину окна на одну ячейку |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 502 |
resizeWindowWider
| Signature | hs.grid.resizeWindowWider(window) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Увеличивает ширину окна на одну ячейку |
| Parameters |
|
| Returns |
|
| Notes |
|
| Source | extensions/grid/grid.lua строка 479 |
set
| Signature | hs.grid.set(win, cell, screen) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Устанавливает ячейку для окна на определённом экране |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 295 |
setGrid
| Signature | hs.grid.setGrid(grid,screen,frame) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Устанавливает размер сетки для заданного экрана или разрешения |
| Parameters |
|
| Returns |
|
| Examples | |
| Source | extensions/grid/grid.lua строка 48 |
setMargins
| Signature | hs.grid.setMargins(margins) -> hs.grid |
|---|---|
| Type | Function |
| Description |
Устанавливает отступы между окнами |
| Parameters |
|
| Returns |
|
| Source | extensions/grid/grid.lua строка 98 |
show
| Signature | hs.grid.show([exitedCallback][, multipleWindows]) |
|---|---|
| Type | Function |
| Description |
Отображает сетку и запускает модальный интерактивный процесс изменения размера для активного или верхнего окна. |
| Parameters |
|
| Returns |
|
| Notes |
|
| Source | extensions/grid/grid.lua строка 187 |
snap
| Подпись | hs.grid.snap(win) -> hs.grid |
|---|---|
| Тип | Функция |
| Описание |
Привязывает окно к ближайшим линиям сетки |
| Параметры |
|
| Возвращает |
|
| Источник | extensions/grid/grid.lua строка 353 |
toggleShow
| Подпись | hs.grid.toggleShow([exitedCallback][, multipleWindows]) |
|---|---|
| Тип | Функция |
| Описание |
Переключает режим сетки и модальности изменения размера — см. |
| Параметры |
|
| Возвращает |
|
| Источник | extensions/grid/grid.lua строка 221 |
© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.grid.html