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

Это все замечательно, за исключением одного: все эти окна вновь появляются в текущем рабочем пространстве, а НЕ в рабочем пространстве, из которого они были закрыты. В целом, я хотел бы иметь 1-2 окна Chrome с вкладками по теме № 1 в рабочей области № 1, 1-2 с вкладками по теме № 2 в рабочей области № 2 и т.д. Но когда происходит сбой или закрытие Chrome, и я перезагружаю его, я должен переместить все эти окна в правильные рабочие пространства.

Кто-нибудь нашел программу или даже сценарий, который позволил бы Chrome (или сценарию, запускающему Chrome) расположить все эти окна обратно в рабочее пространство, к которому они принадлежат?

1 ответ1

0

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

Wmctrl - это инструмент командной строки для взаимодействия с XW Manager, совместимым с EWMH/NetWM (примеры включают Enlightenment, icewm, kwin, metacity и sawfish).

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

у него есть варианты, такие как

  • -r <WIN> Укажите целевое окно для действия.

  • -t <DESK> Переместить окно, указанное с помощью действия -r, на рабочий стол.

  • -l список окон, управляемых менеджером окон. Для каждого окна выводится одна строка, причем строка разбивается на колонки, разделенные пробелами. Первый столбец всегда содержит идентификатор окна в виде шестнадцатеричного целого числа, а второй столбец всегда содержит номер рабочего стола (-1 используется для обозначения прикрепленного окна). Если указана опция -p следующий столбец будет содержать PID для окна в виде десятичного целого числа. Если указана опция -G то будут следовать четыре целочисленных столбца: x-offset, y-offset, width и height. Следующий столбец всегда содержит имя клиентского компьютера. Остальная часть строки содержит заголовок окна (возможно, с несколькими пробелами в заголовке).

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

  • -N name Установить имя (длинное название) окна, указанного в действии -r, на name.

  • -I name Установите для значка имя (короткое название) окна, указанного в действии -r.

  • -T name Укажите имя (длинное название) и имя значка (короткое название) окна, заданного действием -r, для name. Это действие похоже на одновременное использование действий -N и -I (что в противном случае было бы невозможно, поскольку wmctrl может выполнять только одно действие одновременно).

  • -x Включить WM_CLASS в список окон или интерпретировать как имя WM_CLASS.

    [Например, chromium.Chromium ]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .