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

1 ответ1

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

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