Linux (в идеале Mint/MATE): как избежать перемещения нескольких окон Chrome в разные рабочие пространства при перезапуске Chrome
Chrome имеет отличную функцию, где он сохраняет все ваши открытые окна. Когда вы закрываете Chrome (или нарочно, или из-за того, что электрическая система вашего дома ужасна, а ваша жена одновременно пыталась приготовить чай и пользоваться микроволновой печью), он сохраняет каждое открытое окно, а затем при следующем запуске Chrome восстанавливает их. (или дает вам возможность, в зависимости от).
Это все замечательно, за исключением одного: все эти окна вновь появляются в текущем рабочем пространстве, а НЕ в рабочем пространстве, из которого они были закрыты. В целом, я хотел бы иметь 1-2 окна Chrome с вкладками по теме № 1 в рабочей области № 1, 1-2 с вкладками по теме № 2 в рабочей области № 2 и т. Д. Но когда происходит сбой или закрытие Chrome и я перезапускаю его, я должен переместить все эти окна в правильные рабочие пространства.
Кто-нибудь нашел программу или даже сценарий, который позволил бы Chrome (или сценарию, запускающему Chrome) расположить все эти окна обратно в рабочее пространство, к которому они принадлежат?
1 ответ
Выглядит как wmctrl
Программа (из пакета с тем же именем) может быть полезна для ваших сценариев, ее описание
Wmctrl - это инструмент командной строки для взаимодействия с XW Manager, совместимым с EWMH/NetWM (примеры включают Enlightenment, icewm, kwin, metacity и sawfish).
Wmctrl обеспечивает доступ из командной строки практически ко всем функциям, определенным в спецификации EWMH. Например, он может максимизировать окна, сделать их липкими, установить их всегда сверху. Он может переключать и изменять размеры рабочих столов и выполнять множество других полезных операций.
у него есть варианты, такие как
-r <WIN>
Укажите целевое окно для действия.-t <DESK>
Переместить окно, указанное с помощью действия -r, на рабочий стол<DESK>
,-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 в список окон или интерпретировать<WIN>
как имя WM_CLASS.[Например,
chromium.Chromium
]
Более быстрая "ручная" идея
Я искал пакет AntiX (также в MX-Linux) wingrid-antix
и он имеет сценарии оболочки для перемещения и изменения размеров окон, они используются в качестве сочетаний клавиш в вашем оконном менеджере, используя wmctrl -r :ACTIVE: ...
это дало мне эту идею:
Если вы сделали несколько сочетаний клавиш для отправки окна на определенный рабочий стол (нумерация начинается с нуля):
wmctrl -r :ACTIVE: -t 0
И другие, чтобы отправить на рабочие столы -t 1
, -t 2
и т. д. с помощью сочетаний клавиш, таких как "Ctrl+Super+1", затем, когда окно браузера активно, все, что вам нужно сделать, это нажать сочетания клавиш на рабочем столе, и это окно будет отправлено на другой рабочий стол.
Он не автоматический, но простой в использовании, и не стоит беспокоиться о странных именах окон Chrome.