Вопрос XFCE: скрытие приложения из панели задач


Я запускаю Xubuntu 14.04.2 и запускаю стандартный диспетчер окон с помощью кнопки окна окна по умолчанию xfce4-panel, Мне нужно скрыть приложение с панели задач, чтобы оно отображалось только на Alt-Tab а не на панели.

Любая идея о том, как это можно сделать? Я знаю, что это возможно, поскольку утилита календаря Orage имеет этот вариант в построении. Должно быть возможно возиться и сделать это возможным для любого приложения.


7
2017-07-09 10:49


происхождения


Я снова просмотрел «Дьявольский пирог» и «Devilspie2», а затем выяснил, почему скрытие не работает должным образом в Xfce. Откат назад и обновленный мой ответ, как показано ниже. - clearkimura


ответы:


Дьявольский пирог предположительно, самый простой способ сделать это, но он не работает должным образом в Xubuntu или Xfce. То же самое относится к Devilspie2,

необходимое условие

Убедитесь, что свойства «пропустить» не управляемый оконным менеджером. Это требуется в Xfce, но может быть ненужным в других средах рабочего стола.

В Xfce перейдите к Менеджер настроек > Изменения в Window Manager > Езда на велосипеде и найдите эту опцию Пропустить окна, в которых установлены свойства «skip pager» или «skip taskbar», Установите опцию как непроверенную (флажок пуст).

Если опция остается как отмечено (флажок установлен), приложение будет скрыто полностью все вместе, что даст «ложный результат», как объяснено в мой оригинальный ответ,

Использование дьявольского пирога

Например, чтобы скрыть окно приложения Xfce4 Dictionary из панели задач.

  1. Откройте текстовый редактор и введите следующее.

    (if (is (application_name) "xfce4-dict") (skip_tasklist))
    
  2. Сохранить как $HOME/.devilspie/hide.ds (имя файла может быть любым, но должно быть .ds расширение).

  3. Бег devilspie в Терминале.

На шаге 1 альтернативой является использование (window_name) с "Dictionary", который является текстом, который появляется в заголовке. Но некоторые приложения будут изменять текст в соответствии с содержимым, поэтому использование (application_name) предпочтительнее.

Использование Devilspie2

Тот же пример адаптирован для использования Devilspie2.

  1. Откройте текстовый редактор и введите следующее.

    if (get_application_name()=="xfce4-dict") then
       set_skip_tasklist(true);
    end
    
  2. Сохранить как $HOME/.config/devilspie2/skip.lua (имя файла может быть любым, но должно быть .lua расширение).

  3. Бег devilspie2 в Терминале.

Что использовать

Используйте один, какой пользователь предпочитает. Devil's Pie и Devilspie2 имеют схожие функции, однако каждый скрипт отличается и несовместим между собой. Devilspie2 ищет сценарии LUA, а правила оригинального пирога Devil's не поддерживаются.

Оба доступны в репозитории юниверсов любых поддерживаемых выпусков Ubuntu, согласно этот результат поиска Ubuntu Packages,

Как есть -d вариант для подробного вывода, который будет печатать отладочную информацию. Devilspie2 имеет еще несколько опций, то есть указать папку для поиска скриптов за пределами $HOME/.config/devilspie2,

Оба тестировались в Xubuntu 14.04 (Xfce 4.10).

Статус разработки

Эта GNOME Wiki отметил, что пирог Дьявола действительно не поддерживается. Сайт разработчика отмеченная версия 0.22 была последней версией, обновленной в конце 2007 года. Этот журнал изменений на Launchpad отметили, что новый сопровождающий обрабатывает пирог дьявола с версии 0.22-2.


3
2017-07-13 10:46





Способ сделать это без пирога дьявола (2):

  • Делать:

    xprop | grep "CLASS"

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

  • Это вернет что-то вроде WM_CLASS(STRING) = "name", "name"
  • Делать программа сценарий запуска или запустить один раз, в зависимости от ваших предпочтений:

    wmctrl -x -r name.name -b add,skip_taskbar

Источники:


4
2017-07-14 04:51



+1, потому что я тестировал это в Xubuntu 14.04 (Xfce 4.10). Для Xfce опция для свойств «skip» должна быть отключена аналогично, иначе приложение также будет скрыто в Alt-Tab. - clearkimura
Форум упомянул, что укрытие будет потеряно, когда окно закроется, что я подтвердил. Если бы у этого был способ сделать установку постоянной для любых зарегистрированных окон, это, возможно, было более легким решением, чем пирог дьявола. - clearkimura


Самый быстрый и простой способ удалить из панели задач конкретное окно - использовать специальную строку :SELECT: в wmctrl:

wmctrl -r :SELECT: -b add,skip_taskbar

... теперь вам нужно будет только щелкнуть по окну, которое вы хотите скрыть.

Если вам нужно вернуть это окно на панель задач, используйте

wmctrl -r :SELECT: -b remove,skip_taskbar

ИСТОЧНИКИ:

  • Muehe мне помогает ответ
  • wmctrl -h

2
2017-07-04 12:02



Привет, Энейм! Приложите ссылку ответа, а не плаката (Muehe). - abu_bua