Metacity (Gnome VM) - ограничить размещение окон первичным отображением «Экран 0»?

1

Вопрос

Как я могу ограничить автоматическое размещение всех окон метасити ? Или ограничив Monitor0 или избежать «мертвого пространства» моего дисплея?

Проблема

Я использую CentOS 5.3 с metacity v2.16.0 для оконного менеджера.

У меня есть два монитора, подключенных к одной карте nVidia, больший (0) слева от меньшего (1), выровненные вершины - поэтому X11 сообщает мой размер дисплея как сумму ширин по большей высоте. Мой дисплей отображается на два монитора, как это:

000000000000011111111
000000000000011111111
000000000000011111111
000000000000011111111
0000000000000........
0000000000000........

Моя проблема в том, что есть область, показанная точками (".") В правом нижнем углу, которая не отображается ни на один из мониторов, и metacity пытается разместить там новые окна, поскольку там нет размещенных окон.

Я использую режим "TwinView" и драйвер nVidia.


РЕДАКТИРОВАТЬ : после перезагрузки я обнаружил, что функциональность изменилась:

  • Мертвая (".") Часть экрана больше не используется - отлично!
  • Если я максимизирую окно, оно заполняет один из мониторов («0» или «1») - хорошо!

Таким образом, я все еще хотел бы, чтобы ответ ограничил размещение окна, чтобы контролировать "0", но я могу жить без ответа.


Однако ... теперь панель Gnome будет рисовать значки для «ящика» не в том месте, но это звучит как вариант известной ошибки - https://bugzilla.gnome.org/show_bug.cgi?id=587944

NVRAM
источник
Таким образом, вы не используете compiz, просто прямой метасити?
Элвин Роу
Я думал, что это были разные программы. ps перечисляет "metacity", и я ничего не сделал, чтобы перейти от значения по умолчанию. Так что, если я не смогу запустить metacity без попыток, это прямой metacity.
NVRAM

Ответы:

0

Моя первоначальная проблема "мертвого пространства" была исправлена ​​после перезагрузки. Похоже, Metacity отказывается от какого-либо ограничения размещения окон, поэтому я могу либо:

  1. Прекратить использование Metacity, или
  2. Держите окно открытым на 2-м мониторе, чтобы поощрить размещение на основном мониторе (я делаю это в любом случае).

По-видимому, разработчики Gnome Metacity считали, что размещение окон только на одном мониторе « просто глупо » (см. Цитату ниже).


Из списка рабочих столов Gnome за несколько лет назад:

Currently metacity works very very hard to do the right thing in window
placement for xinerama.  It works more or less as follows:

1) Try to find a place for the window on the current xinerama
2) Construct a "natural xinerama ordering" which is a breadth-first
   traversal of the xinerama graph from the xinerama containing the mouse
   point, with preference to left, then right, then up, then down.
3) walk the natural xinerama ordering to find a nearby xinerama with an
   empty space that could contain the window
4) if the window is big enough to be maximized, try to find an empty
   xinerama where it could go
5) if there is nowhere the window can fit, fall back to a cascade on the
   xinerama containing the pointer

I find that this algorithm makes it exceedingly easy to make good use of
all the space available on both screens.  A simple "always on current
xinerama" policy would simply encourage users to use only one xinerama,
which is really just silly.  If you have two monitors, why not use them?

The one improvement that I'd like to make here is to improve the cascade
algorithm so that it doesn't ever just place window at the upper left
corner of the screen.

-Rob
NVRAM
источник
Обратите внимание , что в решении # 145503 , это обязательство в 2007 году снял размещение окна Xinerama , что Роб Адамс написал и заменить его на тот , который только размещает окна на экране Xinerama , что текущее окно фокусировки. Это именно то, о чем просили uws в этом списке сообщений .
Дан Д.