Запущенное приложение не остается на том же рабочем столе

Запущенное приложение не остается на том же рабочем столе

Почему приложение с длительным временем загрузки (NetBeans, Eclipse и т. д.) совершает «переход» на текущий рабочий стол, даже если процесс был запущен на другом?

Если я перейду на рабочий стол 3 и запущу приложение, а затем перейду на рабочий стол 2, пока жду, то после загрузки приложения оно запустится на рабочем столе 2. Можно ли это как-то изменить?

решение1

Это довольно сложная проблема.

Менеджер окон (WM) должен, кто бы мог подумать, управлять окнами. Это включает, помимо прочего, их положение, размеры, рабочий стол и то, получают ли они декор или нет. Что не является частью WM, так это запуск приложений каким-либо образом, он будет видеть и управлять только окнами, которые этот процесс создаст. Так что же происходит?

  • Переключиться на рабочий стол 2
  • Запустить NetBeans
    • Заставка создается как окно без украшений на рабочем столе 2
  • Переключиться на рабочий стол 3
    • Экран-заставка NetBeans остается на рабочем столе 2
  • NetBeans завершает работу и, наконец, создает главное окно, которое, конечно же, отправляется на текущий рабочий стол, поскольку это совершенно новое окно.

Проблема в данном случае в том, что диспетчер окон совершенно не осознает (или не осознает, не уверен)ВОЗчто окно принадлежит. Есть две возможности:

Найдите оконный менеджер, который...

  1. ...поддержка группировки окон по родительскому процессу
  2. ...позволяют вам определять правила для каждого окна

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

решение2

Если вы используете compiz (да, вы можете это сделать даже в версии 12.04 ;) ), вы можете попробовать установить compiz, compizconfig-settings-managerа затем перейти в Place Windowsподменю, чтобы добавить новый Fixed Window tab, где вы выберете класс (имя) вашего приложения и рабочего стола.

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

Связанный контент