Bug 3412 - В GNOME SHell Classic и вертикальном расположении мониторов невозможно перетянуть окно программы на другой
: В GNOME SHell Classic и вертикальном расположении мониторов невозможно перетя...
Status: CONFIRMED
Product: Desktop Bugs
Classification: ROSA Desktop
Component: GNOME edition
: Fresh
: All Linux
: Low minor
: ---
Assigned To: Arkady L. Shane
: Stanislav Fomin
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-12-13 23:00 MSK by Stanislav Fomin
Modified: 2015-02-11 16:46 MSK (History)
3 users (show)

See Also:
RPM Package:
ISO-related:
Bad POT generating:
Upstream:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stanislav Fomin 2013-12-13 23:00:47 MSK
В GNOME SHell Classic и вертикальном расположении мониторов невозможно перетянуть окно программы на другой монитор.

* Вертикальное расположение мониторов — очень распространено в офисах (монитор выше, ноут под ним).
* У нас, стандартный режим — GNOME Classic, с нижней панелью переключений.

При этом:

* WIN-SHIFT←→  : не работает, не перебрасывает окно.
* Перетаскивание вручную за заголовок — тоже фейл.

См. скринкаст.
http://yadi.sk/d/M_307kYEEHGiV
Comment 1 Dmitry 2014-01-14 12:11:02 MSK
Пробовал обычный Гномшелл (не классический) в виртуалке с двумя окнами-мониторами и выяснил с помощью gdb, что в mutter'е есть набор функций, которые проверяют ограничения на координаты и размеры окон. Все эти функции с префиксом constrain_…. У меня получалось, что функция constrain_titlebar_visible восстанавливала исходные координаты (т.е. не давала окну перейти через панель), но при этом GDB почему-то сразу выходил из этой функции. Есть предположение, что нужно собрать пакет без оптимизационнных опция типа -O2, тогда GDB будет себя вести более адекватно.
Comment 2 Aleksey Yermakov 2014-02-10 11:31:13 MSK
Причина бага оказалась гораздо серьезнее, чем казалось поначалу. Проблема в механизме резервирования экранного пространства под панели в X.org - struts. При помещении панели на нижнюю часть верхнего монитора X.org резервирует все пространство начиная от верхнего края панели до низа виртуального экрана - включая всю область нижнего монитора. По этой причине на второй монитор не переносятся окна.

Было решено переработать механизм расположения панели windowlist - теперь панель располагается на самом нижнем мониторе. Если мониторы находятся на одном уровне - предпочтение отдается первичному.

https://abf.rosalinux.ru/build_lists/1607650
https://abf.rosalinux.ru/build_lists/1607651
Comment 3 Stanislav Fomin 2014-09-22 20:27:51 MSD
Все это так и не попало в import и GNOME R3.
Тестировал недавно — все также.

Аркадий, можешь поискать эти патчи?
Comment 4 Arkady L. Shane 2014-09-23 13:21:51 MSD
Поставил собираться пакет. Отпишу когда будут готовы контейнеры для теста.
Comment 6 Stanislav Fomin 2014-09-25 17:00:33 MSD
(In reply to comment #5)
> Попробуй, Стас:
> 
> http://abf-downloads.rosalinux.ru/rosa2012.1/container/2242459/i586/main/
> release/
> http://abf-downloads.rosalinux.ru/rosa2012.1/container/2242460/x86_64/main/
> release/

Проверил еще раз. Только что.
Та же фигня - если главный монитор верхний, панель делит мониторы, и не уползает на нижний.

https://vimeo.com/106429855/settings