icesh(1)

ICESH(1) User Commands ICESH(1)

ИМЯ

 icesh - управление свойствами окон и диспетчером окон IceWM

СИНОПСИС

icesh ПАРАМЕТРЫ|ДЕЙСТВИЯ+

ОПИСАНИЕ

icesh предоставляет два типа команд:

1. Команды для прямого взаимодействия с icewm:
Они перечислены в секции "ДЕЙСТВИЯ ДИСПЕТЧЕРА" ниже. Они просты в использовании, потому что не требуют выбора одного или более окон. Например, "icesh restart" перезапустит icewm и "icesh clients" покажет список приложений, которыми управляет icewm.
2. Команды, которые оперируют выбором окон:
См. секцию "ДЕЙСТВИЯ ОКОН" ниже. Например, "icesh close" запрашивает закрытие окна, но какого? Тогда icesh изменит указатель мыши на перекрестие. Щелчок на окне и закроет его, отправив запрос этому приложению.

Сила icesh заключается в способности программного выбора одного или более окон и работе над этим выбором. Это может быть использовано в скриптах и в icewm-keys(5), чтобы определить ваши собственные горячие клавиши управления окнами. Например, для немедленного закрытия всех окон xterm сделайте "icesh -c xterm close".

Далее имеется множество "ПАРАМЕТРОВ ВЫБОРА", чтобы выбрать окна. Они начинаются с '-' или '+'. Новый выбор начинается с '-', в то время как '+' добавляет ещё окна в существующий выбор.

Этот выбор окон может быть ограничен "ПАРАМЕТРАМИ ФИЛЬТРАЦИИ". Они удаляют лишние окна из текущего выбора. Могут быть заданы несколько параметров фильтрации. Например, "icesh -c xterm -W this close" закроет только те xterm, которые показаны на текущем рабочем месте. Xterm на других рабочих местах будут отфильтрованы параметром фильтрации "-W this".

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

ПАРАМЕТРЫ

icesh распознаёт следующие параметры:

ПАРАМЕТРЫ ВЫБОРА

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

Следующие параметры выбирают одно или более клиентских окон. Если нужно, они могут быть повторены для последующих действий.

-a, -all
Выбирает все клиентские окна диспетчера окон.
-f, -focus, +f, +focus
Выбирает окно приложения, которое сейчас имеет фокус. Параметр со знаком минус замещает существующий выбор окном с фокусом. Со знаком плюс окно с фокусом добавится к существующему выбору.
+g, +group
Расширяет текущий выбор клиентскими окнами, которые принадлежат к той же группе окон приложений.
-r, -root, +r, +root
Выбирает корневое окно. Параметр со знаком минус замещает существующий выбор корневым окном. Со знаком плюс корневое окно добавится к существующему выбору.
-s, -shown
Выбирает все клиентские окна, которые есть на текущем рабочем месте.
-t, -top
Выбирает все окна вернего уровня на дисплее без условий. Это включает окна, которые никогда не были отображены и окна с установленным битом переопределения перенаправления для избежания управления.
-w, -window, +w, +window WINDOW_ID
Определяет идентификатор окна, WINDOW_ID, для которого применятся действия. Специальными идентификаторами являются root для корневого окна и focus для текущего окна, имеющего фокус. Параметры со знаком минус замещает существующий выбор. Со знаком плюс окно добавится к существующему выбору.
-x, -xembed
Выбирает все окна, которые являются встроенными с использованием протокола XEMBED.
+c, +class CLASS
Расширяет текущий выбор теми клиентскими окнами, которые имеют свойство WM_CLASS, равное CLASS. Это экземпляр ресурса и имя класса. Если CLASS содержит период, совпадают только окна с точно тем же свойством WM_CLASS. Если там нет периода, выбираются окна с тем же самым классом и тем же самым ресурсом.
+C, +Class
Расширяет текущий выбор клиентскими окнами, которые имеют свойство WM_CLASS, соответствующее уже выбранному набору окон.
-D, -Dockapps
Выбирает все приложения-Докаппы, которыми управляет icewm.
+P, +Pid
Расширяет текущее выделение клиентскими окнами, которые имеют тот же самый идентификатор процесса, как у одного из выбранных окон.
-T
Выбирает панель задач IceWM.
-A, -Await
Ждёт появления одного или нескольких новых клиентских окон и делает их новым выбором.

ПАРАМЕТРЫ ФИЛЬТРАЦИИ

Следующие параметры фильтруют текущий выбранный набор окон. Если предыдущий параметр выбор не был задан, то подразумевается параметр -all, фильтрующий все клиентские окна.

-c, -class CLASS
Фильтрует набор окон по их свойству WM_CLASS. Это экземпляр ресурса и имя класса. Если CLASS содержит период, совпадают только окна с точно тем же свойством WM_CLASS. Если там нет периода, выбираются окна с тем же классом и окна с тем же ресурсом (или -name).
-l, -last
Фильтрует клиентов и сохраняет только самого последнего клиента.
-m, -machine HOST
Фильтрует клиентов по имени хоста. Выбираются клиенты со свойством WM_CLIENT_MACHINE, равным HOST.
-n, -name NAME
Фильтрует клиентов по _NET_WM_NAME или WM_NAME. NAME соответствует любой части значения свойства. Чтобы соответствовать в начале, используйте префикс "^". Чтобы соответствовать в конце, используйте суффикс "$".
-p, -pid PID
Фильтрует клиентов по ID процесса. Когда libXRes имеет версию 1.2, выбираются клиенты, имеющие ID процесса PID, или же имеющие свойство _NET_WM_PID, равное PID.
-u, -unmapped
Фильтрует клиентов и сохраняет тех, которые сейчас нельзя увидеть. Это клиенты скрытые, свёрнутые, скрученные или на других рабочих местах.
-v, -viewable
Фильтрует клиентов и сохраняет только тех, которые сейчас можно увидеть. Это клиенты, размещённые на текущем рабочем месте.
-G, -Gravity GRAVITY
Фильтрует клиентов по полю "window gravity" свойства WM_NORMAL_HINTS. Выбираются клиенты с "gravity", равным GRAVITY. Если GRAVITY начинается с восклицательного знака, то фильтрация инвертируется.
-L, -Layer LAYER
Фильтрует клиентов по GNOME window layer, который может быть или именем слоя, или номером слоя. См. ВЫРАЖЕНИЯ ниже. Если LAYER начинается с восклицательного знака, то фильтрация инвертируется.
-N, -Netstate STATE
Фильтрует клиентов по EWMH window state. Выбираются клиенты, которые имеют по крайней мере один статус окна EWMH из STATE. Этот статус относится к деталям как MINIMIZED или MAXIMIZED. См. ВЫРАЖЕНИЯ ниже. Если STATE начинается с восклицательного знака, то фильтрация инвертируется. Знак вопроса "?" фильтрует клиентов с любым набором битов в STATE.
-P, -Property PROP[=value]
Фильтрует клиентов по свойству. Выбираются клиенты, которые имеют свойство PROP. Если дополнительно задано value, совпадение успешно только если PROP это string, window, cardinal или atom, со значением, равным value. Фильтрация инвертируется, если PROP начинается с восклицательного знака.
-R, -Role ROLE
Фильтрует клиентов по WM_WINDOW_ROLE. Выбираются клиенты, имеющие значение свойства WM_WINDOW_ROLE, равное ROLE. Фильтрация инвертируется, если ROLE начинается с восклицательного знака.
-W, -Workspace WORKSPACE
Фильтрует клиентов по рабочему месту. Рабочее место WORKSPACE это любое имя рабочего места, или номер рабочего места считая от нуля, или слово "this" для текущего рабочего места, или слово "all" для всех рабочих мест. Если WORKSPACE начинается с восклицательного знака, то фильтрация инвертируется.
-X, -Xinerama MONITOR
Ограничивает клиентов по RandR/Xinerama монитору. Работает только с клиентами, которые отображаются на MONITOR, где MONITOR может быть "all" для всех мониторов, "this" для монитора, где отображаетя активное окно, или номер монитора начиная от нуля. См. вывод "randr" или "xinerama" ниже.
-Z, -Zerminal
Оставляет только терминалы: клиентов, у которых форкнута оболочка.

ОБЩИЕ ПАРАМЕТРЫ

Следующие параметры идентичны для всех команд IceWM.

-d, -display DISPLAY
Определяет X11 DISPLAY. Если не определено, по умолчанию $DISPLAY.
-h, --help
Печатает краткое сообщение по использованию на stdout и выходит.
-V, --version
Печатает версию программы на stdout и выходит.
-C, --copying
Печатает разрешения на копирование на stdout и выходит.
-q, --quiet
Не жалуется, если не было найдено совпадений окон.

ДЕЙСТВИЯ

icesh ожидает один или более аргументов действия. Там имеется два вида действий: действия окон и действия диспетчера. Первое работает с выбранными окнами. Второе непосредственно взаимодействует с диспетчером окон icewm.

ДЕЙСТВИЯ ОКОН

Следующие действия влияют на выбранные окно или окна.

activate
Активировать окно, или дать фокус.
close
Отправить запрос на закрытие клиенту, создавшему окно.
kill
Заставить немедленно закрыть клиента, создавшего окно.
id
Напечатать идентификаторы окон для выбранных окон.
pid
Напечатать идентификаторы процессов для выбранных окон.
list
Показать подробную информацию окон, как геометрия и имена.
lower
Опустить окно.
raise
Поднять окно.
above
Переместить по стеку окно выше остальных.
below
Переместить по стеку окно ниже остальных.
rollup
Скрутить определённое окно.
fullscreen
Поставить окно на полный экран.
maximize
Развернуть окно.
horizontal
Развернуть окно только по горизонтали.
vertical
Развернуть окно только по вертикали.
minimize
Свернуть окно.
restore
Восстановить окно до нормального и сбросить флаг срочности.
hide
Скрыть окно.
unhide
Вернуть скрытое окно.
skip
Убрать окно с панели задач.
unskip
Показать окно на панели задач.
sticky
Показать окно на всех рабочих местах.
unsticky
Показать окно только на одном рабочем месте.
urgent
Установить флаг срочности чтобы кнопка задачи мигала.
resize WIDTH HEIGHT
Изменить размер окна до WIDTH на HEIGHT единиц окна. Для текстовых приложений вроде терминалов, единица окна это размер ячейки одиночного символа.
sizeto WIDTH HEIGHT
Изменить размер до WIDTH на HEIGHT пикселов. Если WIDTH или HEIGHT оканчиваются на знак процента "%", то они относятся к процентному отношению к рабочей области десктопа. Здесь, "sizeto 50% 100%" изменяет размер до половины десктопа по ширине и до какой-либо доступной высоты выше или ниже панели задач.
sizeby WIDTH HEIGHT
Изменить размер на WIDTH на HEIGHT пикселов. Если WIDTH или HEIGHT оканчиваются на знак процента "%", то они относятся к процентному отношению к текущему размеру окна. Здесь, "sizeby 50% 200" увеличивает ширину на 50% и увеличивает высоту на 200 пикселов.
move X Y
Переместить выбранные окно или окна на экранную позицию X Y. Чтобы определить значения X или Y относительно правой стороны или нижней стороны, предварите значение дополнительным знаком минус, как в "move -+10 --20". Когда X или Y оканчиваются знаком процента "%", они выражаются в процентном отношении к рабочей области рабочего стола.
moveby X Y
Переставить окно на X Y пикселов.
center
Расположить окно в центре рабочей области десктопа.
left
Расположить окно на левой стороне рабочей области десктопа.
Расположить окно на правой стороне рабочей области десктопа.
top
Расположить окно на верхней стороне рабочей области десктопа.
bottom
Расположить окно на нижней стороне рабочей области десктопа.
setIconTitle TITLE
Установить название значка в TITLE.
getIconTitle
Напечатать название значка.
setWindowTitle TITLE
Установить заголовок окна в TITLE.
getWindowTitle
Напечатать заголовок окна.
setGeometry GEOMETRY
Установить геометрию окна в geometry. Эта геометрия должна быть определена в том формате, который разбирает XParseGeometry(3). Отрицательные смещения относятся к нижней или правой стороне экрана. Используйте "+-" для реально отрицательного расположения.
getGeometry
Напечатать геометрию окна.
setClass CLASS
Установить имя и класс ресурса в CLASS, который должен быть именем ресурса и классом ресурса, соединёнными точкой. Чтобы сохранить любое существующее имя или класс, используйте знак процента для той части.
getClass
Напечатать имя и класс ресурса.
netState [STATE]
Если STATE опущен, то будет показан EWMH window state. Если STATE начинается с "+", то флаги в STATE будут добавлены к существующему EWMH window state. Если STATE начинается с "-", то флаги в STATE будут удалены из существующего EWMH window state. Если STATE начинается с "^", то флаги в STATE будут переключены относительно существующего EWMH window state. Если STATE начинается с "=", то EWMH window state будет установлен в STATE. См. ВЫРАЖЕНИЯ ниже. Список флагов EWMH можно найти в выводе "icesh symbols".
setLayer LAYER
Переместить определённое окно на другой слой окна. См. ВЫРАЖЕНИЯ ниже для просмотра списка символов LAYER.
getLayer
Напечатать слой окна для определённого окна.
setWorkspace WORKSPACE
Переместить определённое окно на другое рабочее место. Выберите корневое окно, чтобы сменить текущее рабочее место. Если WORKSPACE это "All", то определённое окно станет видимым на всех рабочих местах. Определите "this" для текущего рабочего места, "next" для последующего рабочего места или "prev" для предшествующего рабочего места.
getWorkspace
Напечатать рабочее место для определённого окна.
opacity [OPACITY]
Напечатать непрозрачность окна, если OPACITY не задан, иначе установить непрозрачность окна в OPACITY.
setTrayOption TRAYOPTION
Установить IceWM tray option для определённого окна в TRAYOPTION. См. IceWM tray options ниже символы TRAYOPTION.
getTrayOption
Напечатать IceWM tray option для определённого окна.
setNormalGravity GRAVITY
Установить поле "window gravity" свойства WM_NORMAL_HINTS для определённого окна в GRAVITY. См. ниже символы GRAVITY.
getNormalGravity
Напечатать "window gravity" из свойства WM_NORMAL_HINTS для определённого окна.
setWindowGravity GRAVITY
Установить "window gravity" для определённого окна в GRAVITY. См. ниже символы GRAVITY.
getWindowGravity
Напечатать "window gravity" для определённого окна.
setBitGravity GRAVITY
Установить "bit gravity" для определённого окна в GRAVITY. См. ниже символы GRAVITY.
getBitGravity
Напечатать "bit gravity" для определённого окна.
motif [funcs FUNCTIONS | decor DECORATIONS | remove]
Запросить, установить или изменить свойство "_MOTIF_WM_HINTS" для определённого окна. Без аргументов motif покажет текущее значение, но только если окно имеет такое свойство. Свойство может быть удалено или сброшено с аргументом remove. С отдельными полями funcs и decor это свойство может быть включено или выключено. Если FUNCTIONS или DECORATIONS начинается со знаков плюс или минус, то существующее значение изменится, иначе будет установлено новое значение. Заметьте, что если установлено "all", другие установленные поля будут выключены и очищенные поля будут включены.
borderless
Скрыть границы рамки и заголовок.
bordered
Показать границы рамки и заголовок.
denormal
Удалить свойство WM_NORMAL_HINTS, если оно есть. Это снимает ограничения на изменение размера шрифта, особенно для терминалов.
prop PROPERTY
Напечатать свойство PROPERTY, если оно имеется.
properties
Напечатать все свойства и их значения.
frame
Напечатать идентификатор рамки окна.
extents
Напечатать идентификатор окна и размеры границы рамки: левый, правый, верхний и нижний.
focusmodel
Напечатать модель фокуса ICCCM как объявленный клиентским окном. Это один из Locally, Passive, Globally or NoInput.
override [0|1]
Напечатать статус переопределения редиректа, или если задан 0 или 1, то выключить или включить статус переопределения редиректа.
tabto label
Переместить окна во вкладки рамки "frame", которая имеет метку label. Если нужно, такая рамка создаётся.
untab
Переместить каждое окно в собственную рамку, если они сейчас являются вкладками.
loadicon image.pam
Загрузить значок из файла, который должен быть в формате изображений PAM, с размерами не более 256, глубиной 4 и типом RGB_ALPHA.
saveicon file000.pam
Сохранить значок в новый файл в формате изображений PAM. Цифры увеличиваются для генерации уникального имени файла для каждого окна.
usertime
Показать время последнего взаимодействия с пользователем в миллисекундах.
click window-x window-y button
Отправить событие нажатия и отпускания кнопки в позиции window-x, window-y. Отрицательная позиция является отностельной к нижнему правому углу. Указатель мыши будет переставлен в эту позицию перед отправкой события. Номер кнопки должен быть между 1 и 5 включительно.
monitors top bottom left right
Установить мониторы, используемые для полного экрана. Top, bottom, left и right являются индексами команды icesh xinerama.
spy
Наблюдать за выбранными окнами и докладывать о любых изменениях. Это включает фокус, видимость, позицию, размер и все свойства окна. Для просмотра всех сообщений запроса протокола, которые клиентские приложения могут отправлять в icewm, также следить за корневым окном.
stacking
Сортировать список окон от самого верхнего до самого нижнего.
reverse
Сделать обратным порядок списка окон.

ДЕЙСТВИЯ ДИСПЕТЧЕРА

Следующие действия управляют диспетчером окон IceWM и, следовательно, не требуют параметров окон select или filter:

listWorkspaces
Показать список имён всех рабочих мест.
current
Показать номер и имя текущего рабочего места.
goto WORKSPACE
Сменить текущее рабочее место на WORKSPACE. Укажите "next" для последующего рабочего места или "prev" для предшествующего рабочего места.
workspaces [COUNT]
Напечатать количество рабочих мест, если COUNT не задан, иначе установить количество рабочих мест в COUNT.
setWorkspaceName INDEX NAME
Сменить имя рабочего места INDEX на NAME, где INDEX это номер рабочего места, начиная от нуля.
setWorkspaceNames NAME [NAME]*
Сменить имена рабочих мест на список NAME.
addWorkspace NAME
Создать новое рабочее место с именем NAME.
desktop [SHOWING]
Если SHOWING это 1, то установить режим "показать рабочий стол". Если SHOWING это 0, то выключить режим "показать рабочий стол". Напечатать текущий режим, если SHOWING не задан.
workarea
Напечатать размеры рабочей зоны для текущего рабочего места. Это рабочий стол, но минус пространство, занятое окнами дока и панели.
randr
Обобщить конфигурацию RandR.
xinerama
Обобщить конфигурацию Xinerama.
check
Напечатать информацию о текущем диспетчере окон, как имя, версию, класс, локаль, команду, имя хоста и PID.
clients
Показать список всех управляемых клиентских окон, их заголовки и геометрию.
shown
Показать список всех имеющихся клиентских окон для текущего рабочего места, их заголовки и геометрию.
windows
Показать список всех окон верхнего уровня, их заголовки и геометрию.
systray
Показать список приложений, которые находятся в системном лотке IceWM.
xembed
Показать список окон приложений, которые встроены, используя протокол XEMBED. Это другой путь найти приложения в системном лотке.
logout
Позволить icewm выполнить "LogoutCommand".
reboot
Позволить icewm выполнить "RebootCommand".
shutdown
Позволить icewm выполнить "ShutdownCommand".
cancel
Позволить icewm отменить logout/reboot/shutdown.
about
Позволить icewm показать окно "О программе".
windowlist
Позволить icewm показать окно списка окон.
restart
Позволить icewm перезапустить самому себя.
suspend
Позволить icewm выполнить "SuspendCommand".
hibernate
Позволить icewm выполнить "HibernateCommand".
winoptions
Позволить icewm перечитать "winoptions". Это влияет только на новые окна.
keys
Позволить icewm перечитать файл "keys".
toolbar
Позволить icewm перечитать файл "toolbar".
refresh
Позволить icewm обновить фон рабочего стола.
guievents
Наблюдать за свойством ICEWM_GUI_EVENT и докладывать обо всех изменениях. Нажмите "Ctrl+C", чтобы прервать это действие и продолжить со следующей команды.
delay [time]
Остановить выполнение на time или на 0.1 секунды.
runonce program [arguments...]
Это действие предназначено для использования совместно с параметром -class. Только если нет окна, совпадающего по WM_CLASS, то выполняется program [arguments...].
loop [count]
Вернуться к началу команды и повторить её. Дополнительный count ограничивает количество повторов.
pick
Выбрать окно с помощью щелчка кнопкой мыши.
x11time
Показать текущее время сервера X11 в миллисекундах.
sync
Синхронизировать с диспетчером окон IceWM. То есть, подождать, пока icewm обработает все предыдущие действия.
symbols
Показать список всех поименованных символов.

УСЛОВИЯ

Icesh поддерживает выражения "if-then-else". Полный синтаксис это:

    if selection
    then
        actions
    elif selection
    then
        actions
    else
        actions
    end

Где "selection" это последовательность параметров выбора и фильтрации, которая считается true, когда там не пусто. То есть, если одно или более окон выполняют условия. Если там пусто, то этот пункт "actions" пропускается и последующий пункт "elif" или "else" проверяется или принимается. Каждый пункт не обязателен.

Каждый раз, когда условие выбора считается false, выбор окна, который существовал перед пунктом "if", немедленно восстанавливается. Это также происходит после пункта "end".

ВЫРАЖЕНИЯ

Некоторые из действий окон требуют один или два аргумента EXPRESSION.

EXPRESSION ::= SYMBOL | EXPRESSION { "+" | "|" | "-" } SYMBOL

Зто значит, что любое выражение- либо SYMBOL, либо выражение, которое объединяется с оператором в SYMBOL. Другими словами, выражение- это последовательность символов, которые объединяются с помощью операторов, где оператором может быть плюс, вертикальная черта или минус.

Каждый SYMBOL может быть или числом, или именованным символом из одного из следующих разделов, в зависимости от контекста, в котором используется:

Window layer
Поименованные символы раздела Window layer (числовой диапазон: 0-15):

    Desktop                (0)
    Below                  (2)
    Normal                 (4)
    OnTop                  (6)
    Dock                   (8)
    AboveDock             (10)
    Menu                  (12)
    Fullscreen            (14)
    AboveAll              (15)
    

Эти символы используются с аргументом LAYER к действию "setLayer".

IceWM tray option
Поименованные символы раздела IceWM tray option (числовой диапазон: 0-2):

    Ignore                 (0)
    Minimized              (1)
    Exclusive              (2)
    

Эти символы используются с аргументом TRAYOPTION к действию "setTrayOption".

Gravity symbols
Поименованные символы для окна и "bit gravity" (числовой диапазон: 0-10):

    ForgetGravity         (0)
    NorthWestGravity      (1)
    NorthGravity          (2)
    NorthEastGravity      (3)
    WestGravity           (4)
    CenterGravity         (5)
    EastGravity           (6)
    SouthWestGravity      (7)
    SouthGravity          (8)
    SouthEastGravity      (9)
    StaticGravity         (10)
    
Motif functions
    All                  (1)
    Resize               (2)
    Move                 (4)
    Minimize             (8)
    Maximize             (16)
    Close                (32)
    
Motif decorations
    All                  (1)
    Border               (2)
    Resize               (4)
    Title                (8)
    Menu                 (16)
    Minimize             (32)
    Maximize             (64)
    
EWMH window state symbols
Поименованные символы раздела EWMH state (числовой диапазон: 0-8191):

    ABOVE                 (1)
    BELOW                 (2)
    DEMANDS_ATTENTION     (4)
    FOCUSED               (8)
    FULLSCREEN            (16)
    HIDDEN                (32)
    MAXIMIZED_HORZ        (64)
    MAXIMIZED_VERT        (128)
    MODAL                 (256)
    SHADED                (512)
    SKIP_PAGER            (1024)
    SKIP_TASKBAR          (2048)
    STICKY                (4096)
    

ПРИМЕРЫ

Показать список имён рабочих мест:

    icesh listWorkspaces

Пример вывода:

    workspace #0: `main'
    workspace #1: `web'
    workspace #2: `doc'
    workspace #3: `dev'

Закрыть терминал "work" и активировать терминал "fun".

    icesh -c work.XTerm close -a -c fun.XTerm activate

Напечатать непрозрачность для всех терминалов xterm.

    icesh -c XTerm opacity

Изменить непозрачность для всех терминалов xterm.

    icesh -c XTerm opacity 84

Переместить все окна с рабочего места "Top" на текущее рабочее место.

    icesh -W "Top" setWorkspace "this"

Восстановить всех скрытых клиентов, свернуть всех клиентов на текущем рабочем месте и активировать Firefox.

    icesh -N HIDDEN restore -a -W "this" minimize -a -c Firefox activate

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

    icesh -f sizeto 49% 100% top right raise

Переключить границу окна, имеющего фокус.

    if icesh -f motif | grep -q 'decor:$'; then \
        icesh -f motif decor All; else icesh -f motif decor ""; fi

Вот другое решение с использованием условий.

    icesh -f if -P _NET_FRAME_EXTENTS=0 then bordered else borderless

Вот условие для переключения видимости roxterm, который имеет значение WM_ROLE "special", или запуск его с runonce.

    icesh if -c roxterm.Roxterm -R special then \
        if -v then hide \
        elif -u then setWorkspace this activate end \
        else runonce roxterm --role=special

Собрать все терминалы urxvt с четвёртого рабочего места в одну рамку на текущем рабочем месте.

    icesh -W 3 -c urxvt tabto myfunnyname

Использовать конструкцию цикла loop с условием, чтобы дождаться появления конкретного окна.

    icesh -t if -n Tooltip then list else delay 0.05 loop end

ОКРУЖЕНИЕ

DISPLAY
Дисплей по умолчанию.

СТАТУС ЗАВЕРШЕНИЯ

0
Последнее действие выполнено успешно.
1
Последнее действие выполнено неудачно, или нет окна, соответствующего условию.
2
Условие имеет неправильный синтаксис.
3
Дисплей не был открыт.
4
X-cервер сообщил об ошибке во время обработки запроса.

СООТВЕТСТВИЕ

icesh во многом соответствует спецификациям EWMH и ICCCM. Некоторые команды, как действия диспетчера, специфичны для IceWM.

СМ. ТАКЖЕ

icewm(1), wmctrl(1), xdotool(1), xprop(1), xwininfo(1), XParseGeometry(3).

ОШИБКИ

Пожалуйста, сообщайте об ошибках на <https://github.com/bbidulock/icewm/issues>.

АВТОР

Brian Bidulock <bidulock@openss7.org>.

См. --copying для получения полной информации об авторских правах и правах на копирование.

ПЕРЕВОД

Перевод данного текста на русский язык, а также поддержка пакета программного обеспечения icewm в ALTLinux Dmitriy Khanzhin <jinn@altlinux.org>.

ЛИЦЕНЗИЯ

IceWM лицензирован под GNU Library General Public License. См. файл COPYING в комплекте поставки или используйте флаг --copying для показа прав на копирование.

2025-04-26 icewm 3.7.4