Amazon Best VPN GoSearch

Значок OnWorks

xdotool

Запустите xdotool в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда xdotool, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


xdotool - инструмент автоматизации X11 командной строки

СИНТАКСИС


xdotool CMD аргументы ...

Обозначение: в некоторых документах используется [окно] для обозначения необязательного аргумента окна. Этот
case означает, что аргумент, если он не указан, по умолчанию будет «% 1». См. "СТЕК ОКОН" для
что означает "% 1".

ОПИСАНИЕ


xdotool позволяет программно (или вручную) имитировать ввод с клавиатуры и активность мыши,
перемещать и изменять размер окон и т. д. Это делается с помощью расширения XTEST X11 и других Xlib.
функции.

Имеется некоторая поддержка подсказок расширенного оконного менеджера (также известного как EWMH или NetWM). Увидеть
Раздел «СОВЕТЫ ДЛЯ РАСШИРЕННОГО WINDOW MANAGER» для получения дополнительной информации.

КЛАВИАТУРА КОМАНДЫ


ключ [опции] нажатие клавиши [нажатие клавиши ...]
Опции:

--окно окно
Отправлять нажатия клавиш на определенный идентификатор окна. Вы можете использовать ссылки "WINDOW STACK"
например "% 1" и "% @" здесь. Если есть стек окон, то по умолчанию используется "% 1",
в противном случае используется текущее окно.

См. Также: «ОТПРАВЛЯЕМЫЕ ЗАМЕТКИ» и «СТЕК ОКОН».

--clearmodifiers
Удалите модификаторы перед отправкой нажатия клавиш. См. CLEARMODIFIERS ниже.

--задерживать миллисекунды
Задержка между нажатиями клавиш. По умолчанию 12 мс.

Введите данное нажатие клавиши. Примеры: «alt + r», «Control_L + J», «ctrl + alt + n»,
«BackSpace».

Как правило, подойдет любая допустимая строка X Keysym. Несколько ключей разделяются знаком «+».
Существуют псевдонимы для «alt», «ctrl», «shift», «super» и «meta», которые все соответствуют Foo_L,
такие как Alt_L и Control_L и т. д.

В случаях, когда на вашей клавиатуре фактически нет клавиши, которую вы хотите ввести, xdotool
автоматически найдет неиспользуемый ключевой код и будет использовать его для ввода ключа.

Что касается «COMMAND CHAINING», эта команда потребляет оставшуюся часть
аргументов или до тех пор, пока не появится новая команда xdotool, потому что никакие команды xdotool не
допустимые нажатия клавиш.

Пример: отправьте нажатие клавиши «F2»
xdotool клавиша F2

Пример: отправьте "а" с ударением над ним (не на английской клавиатуре, но все равно работает
с xdotool)
ключ xdotool

Пример: отправьте ctrl + l, а затем BackSpace как отдельные нажатия клавиш:
клавиша xdotool ctrl + l BackSpace

Пример: отправить ctrl + c во все окна, соответствующие заголовку 'gdb' (см. «СОЕДИНЕНИЕ КОМАНД»)
xdotool search --name gdb key ctrl + c

нажатие клавиши [опции] нажатие клавиши
То же, что и выше, за исключением того, что отправляются только события нажатия клавиши.

клавиатура нажатие клавиши
То же, что и выше, за исключением того, что отправляются только события нажатия (отпускания).

напишите [опции] удалось в напишите
Опции:

--окно Windowid
Отправлять нажатия клавиш на определенный идентификатор окна. См. «ОТПРАВИТЕЛЬНЫЕ ЗАМЕТКИ» ниже. По умолчанию,
если окно не указано, зависит от стека окон. Если стек окон пуст
текущее окно набирается при использовании XTEST. В противном случае значение по умолчанию - «% 1» (см.
«ОКОННЫЙ СТЕК»).

--задерживать миллисекунды
Задержка между нажатиями клавиш. По умолчанию 12 мс.

--clearmodifiers
Удалите модификаторы перед отправкой нажатия клавиш. См. CLEARMODIFIERS ниже.

Набирает так, как если бы вы его напечатали. Поддерживает символы новой строки и табуляции (символы новой строки и табуляции в формате ASCII). Каждый
нажатие клавиши отделяется задержкой, заданной --задерживать опцию.

Что касается «COMMAND CHAINING», эта команда потребляет оставшуюся часть
аргументы и типы их. То есть никакие команды не могут быть связаны после type.

Пример: набрать "Hello world!" вы бы сделали:
xdotool type 'Hello world!'

МЫШИ КОМАНДЫ


мышь [опции] x y OR 'восстановить'
Переместите мышь к определенным координатам X и Y на экране.

Вы можете переместить мышь в предыдущее место, если вы укажете «восстановить» вместо
Координаты X и Y. Восстановление работает только в том случае, если вы ранее переехали в этот же
вызов команды. Кроме того, он не работает с параметром --window.

Например, чтобы щелкнуть верхний левый угол экрана и переместить указатель мыши на
исходное положение до того, как вы его переместили, используйте это:
xdotool mousemove 0 0 щелчок 1 mousemove восстановить

--окно ОКНО
Укажите окно, относительно которого нужно двигаться. Координаты 0,0 находятся в верхнем левом углу
окно, которое вы выбираете.

Здесь допустимы ссылки "WINDOW STACK", например% 1 и% @. Хотя, используя% @
наверное, не имеет смысла.

--экран ЭКРАН
Переместите мышь на указанный экран, к которому нужно перейти. Это полезно, только если у вас есть
несколько экранов и НЕ ИСПОЛЬЗУЮТ Xinerama.

По умолчанию используется текущий экран. Если вы укажете --window, флаг --screen будет
игнорируются.

- полярный
Используйте полярные координаты. Это делает 'x' углом (в градусах, 0–360 и т. Д.), А 'y'
расстояние.

Вращение начинается с «вверх» (0 градусов) и вращается по часовой стрелке: 90 = вправо, 180 = вниз,
270 = слева.

По умолчанию исходная точка находится в центре текущего экрана. Если вы укажете
--window, то начало координат будет центром этого окна.

--clearmodifiers
См. КЛИАРМОДИФИКАТОРЫ

--синхронизация
После отправки запроса на перемещение мыши дождитесь фактического перемещения мыши. Если
движение не нужно, ждать не будем. Это полезно для скриптов, зависящих от
о действиях, выполняемых перед тем, как двигаться дальше.

Примечание: мы ждем, пока мышь вообще не двинется, не обязательно, чтобы она на самом деле
достигает намеченного пункта назначения. Некоторые приложения фиксируют курсор мыши на
определенных областях экрана, поэтому ждать движения лучше в
общий случай, чем ожидание конкретной цели.

mousemove_relative [опции] x y
Переместите мышь на x, y пикселей относительно текущего положения курсора мыши.

- полярный
Используйте полярные координаты. Это делает 'x' углом (в градусах, 0–360 и т. Д.), А 'y'
расстояние.

Вращение начинается с «вверх» (0 градусов) и вращается по часовой стрелке: 90 = вправо, 180 = вниз,
270 = слева.

--синхронизация
После отправки запроса на перемещение мыши дождитесь фактического перемещения мыши. Если
движение не нужно, ждать не будем. Это полезно для скриптов, зависящих от
о действиях, выполняемых перед тем, как двигаться дальше.

Обратите внимание, что мы ждем, пока мышь вообще не переместится, не обязательно, чтобы она на самом деле
достигает намеченного пункта назначения. Некоторые приложения фиксируют курсор мыши на
определенных областях экрана, поэтому ждать движения лучше в
общий случай, чем ожидание конкретной цели.

--clearmodifiers
См. КЛИАРМОДИФИКАТОРЫ

нажмите на [опции] кнопка
Отправить щелчок, то есть мышление, за которым следует указатель мыши для данной кнопки с
короткая задержка между ними (в настоящее время 12 мс).

Кнопки обычно отображаются следующим образом: левая мышь - 1, средняя - 2, правая - 3, колесико вверх -
4, опущенное колесо - 5.

--clearmodifiers
Удалите модификаторы перед нажатием. См. CLEARMODIFIERS ниже.

--повторить ПОВТОРЕНИЕ
Укажите, сколько раз нажимать. По умолчанию 1. Для двойного щелчка используйте '--repeat
2'

--задерживать МИЛЛИСЕКУНД
Укажите, как долго в миллисекундах должна задерживаться между щелчками. Этот вариант не
используется, если --повторить flag установлен в 1 (по умолчанию).

--окно ОКНО
Укажите окно, в которое нужно отправить щелчок. См. "ОТПРАВИТЕЛЬНЫЕ ЗАМЕТКИ" ниже для предупреждений. Использует
текущее положение мыши при генерации события.

По умолчанию, если окно не указано, зависит от стека окон. Если окно
стек пуст, текущее окно набирается при использовании XTEST. В противном случае по умолчанию
это «% 1» (см. «СТЕК ОКНА»).

MouseDown [опции] кнопка
Такой же как нажмите на, за исключением того, что отправляется только указатель мыши.

MouseUp [опции] кнопка
Такой же как нажмите на, за исключением того, что отправляется только курсор мыши.

getmouselocation [--оболочка]
Выводит x, y, экран и идентификатор окна курсора мыши. Номера экранов будут
ненулевое значение, если у вас несколько мониторов и вы не используете Xinerama.

--оболочка
Это позволяет getmouselocation выводить данные оболочки, которые вы можете оценить. Пример:

% xdotool getmouselocation --shell
Х = 880
Y = 443
ЭКРАН = 0
ОКНО = 16777250

% eval $ (xdotool getmouselocation --shell)
% echo $ X, $ Y
714,324

behavior_screen_edge [опции] в котором команду ...
Привязать действие к событиям, когда мышь касается края или угла экрана.

Возможные варианты:

--задерживать МИЛЛИСЕКУНД
Задержка в миллисекундах перед запуском команды. Это позволяет вам потребовать
заданный край или угол, который нужно удерживать в течение короткого периода, прежде чем ваша команда будет запущена.
Если вы покинете край или угол до истечения задержки, время будет сброшено.

--затишье МИЛЛИСЕКУНД
Задержка в миллисекундах перед запуском следующей команды. Это помогает предотвратить
случайный запуск вашей команды несколько раз; особенно полезно, если у вас есть
очень короткий --delay (как и значение по умолчанию 0).

Хронология событий

* Мышь задевает край или угол.
* Если задержка не равна нулю, мышь должна оставаться в этом краю или углу, пока не истечет время задержки.
* Если все еще на краю / в углу, нажмите триггер.
* Если quiesce отличен от нуля, то есть период охлаждения, когда следующий
триггер не может произойти

Допустимые значения "где":

оставил
верхний левый
топ
в правом верхнем углу
правую
внизу слева
нижний
Нижний правый

Примеры:
# Активируйте google-chrome при перемещении мыши в нижний левый угол:
xdotool behavior_screen_edge нижний левый \
поиск --class google-chrome windowactivate

# Перейти к следующей рабочей области (справа). Известно, что работает в GNOME (metacity и compiz)
xdotool behavior_screen_edge --delay 500 нижняя правая клавиша XF86Forward

# Активируйте firefox и выполните поиск текста в буфере обмена на новой вкладке
xdotool behavior_screen_edge --delay 1000 в верхнем левом углу \
поиск - имя класса Навигатор \
windowactivate --sync key --delay 250 ctrl + t ctrl + k ctrl + v Возврат

ОКНО КОМАНДЫ


по области применения [опции] описания
Ищите окна с заголовками, именами или классы с шаблоном регулярного выражения.
Вывод представляет собой список идентификаторов окон X, разделенных строками. Если вы используете «КОМАНДА
CHAINING ", команда поиска будет записывать идентификаторы окон в стандартный вывод, только если это последний
(или единственная) команда в цепочке; в противном случае он молчит.

Результат сохраняется в стеке окон для будущих связанных команд. См. "ОКНО
СТЕК "и" СОЕДИНЕНИЕ КОМАНД "для получения более подробной информации.

Параметры по умолчанию: "--name --class --classname" (если вы не укажете один или
больше --name --class или --classname).

Доступны следующие варианты:

--класс
Сопоставьте класс окна.

--имя класса
Сопоставьте с именем класса окна.

--Максимальная глубина N
Установите глубину рекурсии / дочернего поиска. По умолчанию -1, что означает бесконечность. 0 означает нет
глубина, поиск будут выполняться только в корневых окнах. Если вам нужны только окна верхнего уровня, установите
maxdepth = 1 (или 2, в зависимости от того, как ваш оконный менеджер выполняет декорации).

--имя
Сопоставьте с именем окна. Это та же строка, которая отображается в
заголовок окна.

--onlyvisible
Показывать в результатах только видимые окна. Это означает, что с состоянием карты
Доступен для просмотра.

--пид PID
Сопоставьте окна, принадлежащие определенному идентификатору процесса. Это может не работать для некоторых X
приложения, которые не устанавливают эти метаданные в своих окнах.

--экран N
Выбирайте окна только на определенном экране. По умолчанию поиск выполняется по всем экранам. Только
имеет смысл, если у вас несколько дисплеев и вы не используете Xinerama.

- рабочий стол N
Подбирайте окна только на определенном рабочем столе. «N» - это число. По умолчанию поиск
все рабочие столы.

- предел N
Прекратить поиск после нахождения N совпадающих окон. Указание лимита поможет
ускорите поиск, если вам нужно всего несколько результатов.

По умолчанию ограничение поиска отсутствует (что эквивалентно '--limit 0').

--заглавие
УСТАРЕЛО. Смотрите --name.

--все
Требовать выполнения всех условий. Например:

xdotool search --all --pid 1424 --name "Hello World"

Это будет соответствовать только окнам с именем "Hello World", которые принадлежат
Пид 1424.

--любой
Сопоставьте окна, соответствующие любому условию (логически "или"). По умолчанию это включено.
Например:

xdotool search --any --pid 1424 --name "Hello World"

Это будет соответствовать любым окнам, принадлежащим pid 1424, или окнам с именем "Hello World"

--синхронизация
Заблокируйте, пока не будет результатов. Это полезно, когда вы запускаете
приложение хочет подождать, пока не станет видно окно приложения. За
пример:

Гугл Хром &
xdotool search --sync --onlyvisible --class "google-chrome"

выберите окно
Получите идентификатор окна (для клиента), щелкнув по нему. Полезно для запросов скриптов
вы, люди, в каком окне действовать. Например, убить окно, щелкнув по нему:

xdotool выберите окно Windowkill

вести себя окно действие команду ...
Привязать действие к событию в окне. Это позволяет запускать дополнительные команды xdotool
всякий раз, когда происходит совпадающее событие.

Команда, запущенная в результате поведения, выполняется с% 1, которое было окном, которое было
действует. Примеры следуют после списка событий.

Следующие допустимые события:

ввод мыши
Срабатывает, когда мышь входит в окно. Это похоже на события «наведения указателя мыши» в
javascript, если это поможет.

мышка
Срабатывает, когда мышь покидает окно. Это противоположность "ввода мыши".

щелчок мышью
Срабатывает при щелчке мыши. В частности, когда кнопка мыши отпущена.

фокус
Срабатывает, когда окно получает фокус ввода.

пятно
Срабатывает, когда окно теряет фокус.

Примеры:

# Печатать положение курсора всякий раз, когда мышь входит в видимый в данный момент
# окно:
xdotool search --onlyvisible. вести себя% @ mouse-enter getmouselocation

# Печатать заголовок окна и pid всякий раз, когда xterm получает фокус
xdotool search --class xterm behavior% @ focus getwindowname getwindowpid

# Эмулировать фокус-следует-мышь
xdotool поиск. вести себя% @ mouse-enter windowfocus

getwindowpid [окно]
Выведите PID, владеющий данным окном. Это требует усилий со стороны приложения, владеющего
окно и может работать не для всех окон. При этом используется свойство _NET_WM_PID объекта
окно. См. «СОВЕТЫ ДЛЯ РАСШИРЕННОГО WINDOW MANAGER» ниже для получения дополнительной информации.

Если окно не указано, по умолчанию используется "% 1". Если в стеке нет окон, то это
это ошибка. См. «СТЕК ОКОН» для получения более подробной информации.

Пример: найдите PID для всех xterms:
xdotool search --class xterm getwindowpid% @

Getwindowname [окно]
Выведите имя данного окна, также известное как заголовок. Это отображаемый текст
в заголовке окна вашим оконным менеджером.

Если окно не указано, по умолчанию используется "% 1". Если в стеке нет окон, то это
это ошибка. См. «СТЕК ОКОН» для получения более подробной информации.

GetWindowGeometry [опции] [окно]
Вывести геометрию (расположение и положение) окна. Значения включают: x, y,
ширина, высота и номер экрана.

--оболочка
Выходные значения подходят для eval в оболочке.

получить окнофокус [-ф]
Печатает идентификатор текущего окна с фокусом. Сохраняет результат в окне
куча. См. «СТЕК ОКОН» для получения более подробной информации.

Если текущее окно не имеет свойства WM_CLASS, мы предполагаем, что это не нормальный верхний уровень.
window и перемещаемся вверх по родителям, пока не найдем окно с установленным WM_CLASS и
вернуть этот идентификатор окна.

Если вы действительно хотите, чтобы окно в настоящее время было в фокусе, и вам все равно, есть ли у него
WM_CLASS, затем используйте getwindowfocus -f

размер окна [параметры] [окно] ширина высота
Установите размер данного окна. Если окно не указано, по умолчанию используется% 1.
См. «СТЕК ОКОН» и «СОЕДИНЕНИЕ КОМАНД» для получения более подробной информации.

Проценты действительны для ширины и высоты. Они относятся к геометрии
экран окно включено. Например, чтобы сделать окно во всю ширину экрана,
но половинной высоты:

xdotool windowsize I 100% 50%

Проценты действительны с параметром --usehints и по-прежнему означают ширину в пикселях относительно
Размер экрана.

Доступны следующие варианты:

--usehints
Используйте подсказки по размеру окна (если они есть), чтобы установить ширину и высоту. Это полезно
на терминалах для установки размера на основе строки / столбца текста, а не пикселей.

--синхронизация
После отправки запроса размера окна дождитесь фактического изменения размера окна.
Если никаких изменений не требуется, мы не будем ждать. Это полезно для скриптов, которые
зависеть от действий, которые выполняются, прежде чем двигаться дальше.

Примечание. Поскольку многие оконные менеджеры могут игнорировать или изменять исходный размер
просьба, мы подождем, пока размер не изменится от исходного размера, не обязательно
до требуемого размера.

Пример: чтобы установить терминал размером 80x24 символов, вы должны использовать:
xdotool размер окна --usehints some_windowid 80 24

окно [опции] [окно] x y
Переместите окно в указанное положение. Если окно не указано, по умолчанию используется% 1. Видеть
"WINDOW STACK" и "COMMAND CHAINING" для более подробной информации.

Если данная координата x буквально равна 'x', то текущая позиция x окна будет
быть неизменным. То же самое относится к «y».

Примеры:

xdotool getactivewindow windowmove 100 # Перемещается на 100
xdotool getactivewindow windowmove x 100 # Переход к x, 100
xdotool getactivewindow windowmove 100 y # Перемещается на 100, y
xdotool getactivewindow windowmove 100 y # Перемещается на 100, y

--синхронизация
После отправки запроса на перемещение окна дождитесь фактического перемещения окна. Если
движение не нужно, ждать не будем. Это полезно для скриптов, зависящих от
о действиях, выполняемых перед тем, как двигаться дальше.

--родственник
Сделайте движение относительно текущего положения окна.

окно [опции] [окно]
Сфокусируйте окно. Если окно не указано, по умолчанию используется% 1. См. «СТЕК ОКОН» и
"COMMAND CHAINING" для более подробной информации.

Использует XSetInputFocus, который может игнорироваться некоторыми оконными менеджерами или программами.

--синхронизация
После отправки запроса фокуса окна дождитесь, пока окно действительно сфокусируется.
Это полезно для скриптов, которые зависят от действий, выполняемых перед перемещением.
о.

карта окна [опции] [окно]
Сопоставьте окно. В терминологии X11 отображение окна означает его отображение на экране.
экран. Если окно не указано, по умолчанию используется% 1. См. «СТЕК ОКОН» и «КОМАНДА.
ЦЕПЬ »для более подробной информации.

--синхронизация
После запроса карты окна подождите, пока окно действительно отобразится.
(видимый). Это полезно для скриптов, зависящих от выполняемых действий.
прежде чем двигаться дальше.

окно [опции] [окно]
Сверните окно. В терминологии X11 это называется «iconify». Если нет окна
учитывая,% 1 - значение по умолчанию. См. «СТЕК ОКОН» и «СОЕДИНЕНИЕ КОМАНД» для получения более подробной информации.

--синхронизация
После запроса сворачивания окна подождите, пока окно действительно свернется.
Это полезно для скриптов, которые зависят от действий, выполняемых перед перемещением.
о.

поднять окно [window_id =% 1]
Поднимите окно до вершины стопки. Это может не работать со всеми оконными менеджерами. Если
окно не указано, по умолчанию% 1. См. "СТЕК ОКОН" и "СОЕДИНЕНИЕ КОМАНД" для
более подробно.

окно [исходное_окно] целевое_окно
Повторное создание окна. Это перемещает исходное_окно быть дочерним окном
целевое_окно. Если источник не указан, по умолчанию используется% 1. Окно "ОКОННЫЙ СТЕК"
ссылки (например,% 1) действительны для обоих исходное_окно и целевое_окно Посмотреть
"WINDOW STACK" и "COMMAND CHAINING" для более подробной информации.

окно закрыть [окно]
Закройте окно. Это действие уничтожит окно, но не будет пытаться убить
клиент контролирует это. Если окно не указано, по умолчанию используется% 1. См. «СТЕК ОКОН»
и «СОЕДИНЕНИЕ КОМАНД» для более подробной информации.

подоконник [окно]
Убейте окно. Это действие уничтожит окно и убьет клиента, управляющего им.
Если окно не указано, по умолчанию используется% 1. Смотрите WINDOW STACK и «COMMAND CHAINING» для
более подробно.

окно [опции] [window_id =% 1]
Отмените отображение окна, чтобы оно больше не отображалось на вашем экране. Если окно не указано,% 1
по умолчанию. См. «СТЕК ОКОН» и «СОЕДИНЕНИЕ КОМАНД» для получения более подробной информации.

--синхронизация
После запроса отмены отображения окна подождите, пока окно действительно не будет отображено.
(скрытый). Это полезно для скриптов, которые зависят от действий, выполненных до
двигаться дальше.

set_window [опции] [windowid =% 1]
Задайте свойства окна. Если окно не указано, по умолчанию используется% 1. См. "ОКНО
СТЕК "и" СОЕДИНЕНИЕ КОМАНД "для более подробной информации.

Опции:

--имя новое имя
Установить окно WM_NAME (обычно заголовок окна)

--icon-имя новое имя значка
Установить окно WM_ICON_NAME (обычно заголовок окна в свернутом виде)

--роль новая роль
Установить окно WM_WINDOW_ROLE

--имя класса имя нового класса
Установить имя класса окна (не путать с классом окна)

--класс NewClass
Установить класс окна (не путать с именем класса окна)

--overrideredirect ценностное
Установите значение override_redirect окна. Это значение является подсказкой для оконного менеджера.
для того, следует ли им управлять. Если значение перенаправления равно 0, то
оконный менеджер будет рисовать границы и обрабатывать это окно как обычно. Если значение равно
1, оконный менеджер проигнорирует это окно.

Если вы измените это значение, ваш оконный менеджер может не заметить изменения до тех пор, пока
окно отображается снова, поэтому вы можете использовать 'windowunmap' и 'windowmap' для
сделать так, чтобы оконный менеджер принял к сведению.

DESKTOP И ОКНО КОМАНДЫ


Эти команды соответствуют стандарту EWMH. См. Раздел «СОВЕТЫ ПО РАСШИРЕННОМУ WINDOW MANAGER»
чтобы получить больше информации.

окно активировать [опции] [окно]
Активируйте окно. Эта команда отличается от windowfocus: если окно открыто
другой рабочий стол, мы переключимся на этот рабочий стол. Он также использует другой метод для
поднимая окно. Я рекомендую попробовать эту команду перед использованием windowfocus, так как
он будет работать с другими оконными менеджерами.

Если окно не указано, по умолчанию используется% 1. См. «СТЕК ОКОН» и «СОЕДИНЕНИЕ КОМАНД»
Больше подробностей.

--синхронизация
После отправки активации окна дождитесь фактической активации окна.
Это полезно для скриптов, которые зависят от действий, выполняемых перед перемещением.
о.

получитьактивное окно
Вывести текущее активное окно. Эта команда часто более надежна, чем
getwindowfocus. Результат сохраняется в стеке окон. См. "СТЕК ОКОН" для получения дополнительной информации.


set_num_desktops номер
Изменяет количество рабочих столов или рабочих мест.

get_num_desktops
Выведите текущее количество рабочих столов.

get_desktop_viewport [--оболочка]
Сообщите текущее положение области просмотра. Если задано --shell, вывод удобен для
оболочка eval.

В некоторых оконных менеджерах иногда используются видовые экраны вместо «виртуальных рабочих столов». А
область просмотра - это просто представление очень большой области рабочего стола.

set_desktop_viewport x y
Переместите окно просмотра в указанное положение. Не все запросы будут выполнены - некоторые
windowmangers подчиняются только запросам, которые совпадают с границами рабочего пространства, такими как
Размер экрана.

Например, если размер вашего экрана 1280x800, вы можете перейти во вторую рабочую область, выполнив следующие действия:
xdotool set_desktop_viewport 1280 0

set_desktop [опции] рабочий стол_номер
Измените текущий вид на указанный рабочий стол.

--родственник
Используйте относительные движения вместо абсолютных. Это позволяет перемещаться относительно
текущий рабочий стол.

get_desktop
Вывести текущий рабочий стол в поле зрения.

set_desktop_for_window [окно] рабочий стол_номер
Переместите окно на другой рабочий стол. Если окно не указано, по умолчанию используется% 1. Видеть
"WINDOW STACK" и "COMMAND CHAINING" для более подробной информации.

get_desktop_for_window [окно]
Вывести рабочий стол, на котором в данный момент находится данное окно. Переместить окно в другое
рабочий стол. Если окно не указано, по умолчанию используется% 1. См. СТЕК ОКОН и "КОМАНДА"
ЦЕПЬ »для более подробной информации.

РАЗНОЕ КОМАНДЫ


Exec [опции] команду [...]
Выполнить программу. Это часто бывает полезно в сочетании с behavior_screen_edge для выполнения
такие вещи, как блокировка экрана.

Опции:

--синхронизация
Блокировать, пока не завершится дочерний процесс. Затем передается статус выхода дочернего процесса.
родительскому процессу (xdotool), который его копирует.

Примеры:
# Заблокируйте экран, когда мышь находится в правом верхнем углу
xdotool behavior_screen_edge --delay 1000 вверху справа \
команда exec gnome-screensaver --lock
# Замените 'xscreensaver-command -lock', если вы используете эту программу.

# Следующее не сможет переместить мышь, потому что мы используем '--sync' и
# / bin / false выходит ненулевой:
xdotool exec --sync / bin / false движение мыши 0 0

# Однако это удается, поскольку мы не используем --sync в команде exec.
xdotool исполнительный / bin / false движение мыши 0 0

спать секунды
Спите в течение определенного периода. Здесь действительны доли секунды (например, 1.3 или 0.4).

СЦЕНАРИИ


xdotool может читать список команд через стандартный ввод или файл, если хотите. Сценарий не удастся
когда любая команда терпит неудачу.

По правде говоря, режим «сценария» не реализован полностью и может не соответствовать вашим ожиданиям. Если
у вас есть предложения, отправьте их по электронной почте или сообщите об ошибке (см. КОНТАКТЫ).

Сценарии могут использовать позиционные аргументы (представленные $ 1, $ 2, ...) и окружение.
переменные (например, $ HOME или $ WINDOWID). Цитирование аргументов должно работать должным образом.

Сценарии обрабатываются для раскрытия параметров и переменных среды, а затем выполняются, как если бы
вы вызвали xdotool со всем скриптом в одной строке (с помощью КОМАНДНОЙ ЦЕПИ).

· Прочитать команды из файла:

xdotool имя файла

· Чтение команд со стандартного ввода:

хдотул -

· Чтение команд из перенаправленного файла

xdotool - <myfile

Вы также можете писать сценарии, которые запускают только xdotool. Пример:

#! / usr / local / bin / xdotool
поиск --onlyvisible --classname $ 1

размер окна% @ $ 2 $ 3
поднятие окна% @

windowmove% 1 0 0
windowmove% 2 $ 2 0
windowmove% 3 0 $ 3
windowmove% 4 $ 2 $ 3

Этот скрипт возьмет все окна, соответствующие запросу имени класса, заданному arg1 ($ 1) и
sizes / перемещает их в сетку 2x2 с размерами окон по 2-му и 3-му параметрам.

Вот пример использования:

% ./myscript xterm 600 400

Выполнение его таким образом потребует 4 видимых xterms, поднимет их и переместит на плитку 2x2.
сетка с каждым окном размером 600х400 пикселей.

КЛИАРМОДИФИКАТОРЫ


Любая команда, принимающая --clearmodifiers flag попытается очистить любой активный ввод
модификаторы во время команды и восстановить их впоследствии.

Например, если вы запустите эту команду:
xdotool ключ a

Результатом будет «А» или «А» в зависимости от того, удерживали ли вы клавишу Shift или нет.
на клавиатуре. Часто нежелательно, чтобы какие-либо модификаторы были активными, поэтому вы можете сказать
xdotool, чтобы очистить все активные модификаторы.

Порядок действий, если вы удерживаете shift при запуске 'xdotool key --clearmodifiers a'
заключается в следующем:

1. Запрос всех активных модификаторов (в данном случае находит shift)
2. Попробуйте сбросить смену, послав "ключ вверх" для клавиши Shift.
3. Запускает обычный 'xdotool key a'
4. Восстановите клавишу переключения передач, отправив «клавишу вниз» для смены.

Команда --clearmodifiers flag в настоящее время может очищать от следующего:

· Любая клавиша в вашей активной раскладке клавиатуры, с которой связан модификатор. (Видеть
xmodmap(1) вывод 'xmodmap -pm')

· Кнопки мыши (1, 2, 3, 4 и 5)

· Замок с заглавными буквами

ОТПРАВИТЬ ПРИМЕЧАНИЯ


Если вы пытаетесь отправить ключевой ввод в определенное окно, и оно не выглядит
работает, то, вероятно, ваше приложение игнорирует события, генерируемые xdotool.
Это довольно распространенное явление.

Отправка нажатий клавиш в определенное окно использует другой API, чем просто ввод в
активное окно. Если вы укажете 'xdotool type --window 12345 hello', xdotool сгенерирует
ключевые события и отправлять их прямо в окно 12345. Однако серверы X11 установят
специальный флаг для всех событий, сгенерированных таким образом (см. XEvent.xany.send_event в X11
руководство). Многие программы наблюдают за этим флагом и отклоняют эти события.

Важно отметить, что для событий клавиш и мыши мы используем XSendEvent только тогда, когда
определенное окно нацелено. В противном случае мы используем XTEST.

Некоторые программы можно настроить на прием событий, даже если они генерируются xdotool.
Обратитесь за помощью в документацию по вашему приложению.

Конкретные примечания к приложению (из авторского тестирования): * Firefox 3, кажется, игнорирует все
ввод, когда у него нет фокуса. * xterm можно настроить во время работы с
ctrl + leftclick, 'Allow SendEvents' * gnome-terminal, похоже, принимает сгенерированный ввод от
по умолчанию.

ОКНО СТЕК


Некоторые команды (поиск, getactivewindow, getwindowfocus) найдут окна за вас.
Эти результаты обычно выводятся на стандартный вывод, но они также сохраняются в памяти на будущее.
использовать в течение всего жизненного цикла процесса xdotool. См. «СОЕДИНЕНИЕ КОМАНД» для получения дополнительной информации.
Информация.

Единственные модификации, поддерживающие стек окон, - это его замена. То есть два из двух
при последовательном поиске стеком окон будет только последний результат.

КОМАНДА СОЕДИНЕНИЕ


xdotool поддерживает выполнение нескольких команд за один вызов. Как правило, вы начнете
с помощью команды поиска (см. «СТЕК ОКОН»), а затем выполнить ряд действий над этими
результаты.

Чтобы запросить стек окон, вы можете использовать специальную запись «% N», где N - число или
'@' символ. Если указан% N, N-е окно будет выбрано из стека окон.
Обычно вам нужно только первое окно или все окна. Обратите внимание, что порядок
окна в стеке окон соответствуют порядку наложения окон, т. е. самые нижние
окно будет сообщено первым (см. XQueryTree(3)). Таким образом, порядок окон в
стек окон может быть несовместимым при вызовах.

Обозначение, описанное выше, используется в качестве аргумента «окно» для любой данной команды.

Например, чтобы изменить размер всех xterms до 80x24:

xdotool search --class xterm - windowsize --usehints% @ 80 24

Изменить размер - переместить текущее окно:

xdotool getactivewindow windowmove 0 0

Во всех случаях аргумент окна по умолчанию, если он опущен, будет по умолчанию "% 1". это
очевидно, ошибка, если вы опускаете аргумент окна и стек окна пуст. если ты
попробуйте использовать стек окон, а он пуст, это тоже ошибка.

Чтобы активировать первое найденное окно Firefox:

xdotool search --class активация окна Firefox

Это приведет к ошибке:

окно xdotool активировать
xdotool windowactivate% 1
xdotool windowactivate% @

Когда xdotool завершает работу, текущий стек окон теряется.

Кроме того, команды, которые изменяют "СТЕК ОКНА", не будут печатать результаты, если они
не последняя команда. Например:

# Вывести активное окно:
% xdotool getactivewindow
20971533

# Вывести pid активного окна, но не идентификатор активного окна:
% xdotool getactivewindow getwindowpid
4686

РАСПРОСТРАНЕНИЯ ОКНО МЕНЕДЖЕР HINTS


Поддерживаются следующие части стандарта EWMH:

_NET_SUPPORTED
Спрашивает у оконного менеджера, что поддерживается

_NET_CURRENT_DESKTOP
Запросить и установить текущий рабочий стол. Поддержка этого позволяет использовать следующие команды:
"set_desktop", "get_desktop".

_NET_WM_DESKTOP
Запросите и укажите, на каком рабочем столе находится окно. Поддержка этого позволяет
команды: "set_desktop_for_window", "get_desktop_for_window".

_NET_ACTIVE_WINDOW
Позволяет запросить и установить активное окно, попросив диспетчер окон принести его
вперед. Поддержка этого включает следующие команды: "windowactivate", "getactivewindow".

_NET_WM_PID
Эта функция зависит от приложения, а не от оконного менеджера. Запросить PID
владение данным окном. Поддержка этого включает следующие команды: "getwindowpid".

ПОДДЕРЖКА ФУНКЦИИ И ОСОБЕННОСТИ


xdotool (и libxdo) будет пытаться работать при любых обстоятельствах. Однако может быть
некоторые случаи, когда функциональность не предоставляется вашим X-сервером или вашим оконным менеджером.
В этих случаях xdotool попытается обнаружить и сообщить вам, требует ли действие функции.
в настоящее время не поддерживается вашей системой.

Для получения информации о конкретных функциях оконного менеджера см. "СОВЕТЫ ПО РАСШИРЕННОМУ WINDOW MANAGER".

XТЕСТ
Если ваш X-сервер не поддерживает XTEST, тогда некоторые функции набора текста и перемещения мыши
может не работать. В частности, набор текста и действия мыши, которые действуют в «текущем окне»
(окно 0 в libxdo) вряд ли сработает.

В большинстве случаев XTEST - это функция, которую вы можете включить на своем X-сервере, если она не включена.
по умолчанию.

Вы можете увидеть список поддерживаемых расширений X, набрав xdpyinfo и просмотрев
текст 'количество расширений: ...'

Используйте xdotool онлайн с помощью сервисов onworks.net


Ad




×
Реклама
❤️Совершайте покупки, бронируйте или заказывайте здесь — никаких затрат, что помогает поддерживать бесплатность услуг.