Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 3794 - Изменились _NET_WM_WINDOW_TYPE в 1.0.9   Make a simular bug
Summary: Изменились _NET_WM_WINDOW_TYPE в 1.0.9
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Окна / фокус / перерисовка (show other bugs)
Version: 1.0.9
Hardware: PC Windows
: P4 minor
Target Milestone: ---
Assignee: Илья Шпигорь
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
In work:
Reported: 2009-04-09 16:40 MSD by dimbor
Modified: 2009-05-28 14:50 MSD (History)
3 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description dimbor 2009-04-09 16:40:17 MSD
Начиная с 1.0.9, для окон без заголовка  вайном выставляется _NET_WM_WINDOW_TYPE_DIALOG вместо _NET_WM_WINDOW_TYPE_UTILITY.
Создавало проблемы при установке стилей таких окон в рутлес-режиме NXClient for windows. У таких окон, напр форм выбора из списков 1c77, появляется заголовок.
(В оригинальном клиенте от nomachine вообще не анализируются эти стили, т.е. речь идет только о сборках RX@Etersoft.)
Проблему видно в сборках ftp://updates.etersoft.ru/pub/Etersoft/RX@Etersoft/Windows/3.3.0.6/nxclient-3.3.0.6-r11-win32.exe и r12.1 там-же.
На восьмом вайне со стилями в рутлесе все хорошо, начиная с девятого - все окошки overrideRedirect==0 с заголовками.
В более поздних версиях клиента от анализа _NET_WM_WINDOW_TYPE пришлось отказаться. 
Ход мыслей находится по адресу http://unixforum.org/index.php?showtopic=64076&view=findpost&p=819194.
Сейчас установка стилей в новых версиях клиента под виндовс идет через анализ _MOTIF_WM_HINTS - там все правильно.
Только не создаст ли проблем в будущем такое решение?
Comment 1 Илья Шпигорь Живая Классика 2009-04-10 10:53:04 MSD
(In reply to comment #0)
> Начиная с 1.0.9, для окон без заголовка 
> вайном выставляется _NET_WM_WINDOW_TYPE_DIALOG вместо
> _NET_WM_WINDOW_TYPE_UTILITY.

Вернуться назад к типу _NET_WM_WINDOW_TYPE_UTILITY вряд ли возможно. Дело в том, что этот атом определяет не только внешний вид X-ового окна, но и его поведение (например, положение в стэке окон, передачу фокуса ввода). Кроме того, это изменение произошло в оригинальном wine и, возможно, часть кода теперь ориентируется на поведение окна именно со стилем _NET_WM_WINDOW_TYPE_DIALOG.

> Сейчас установка стилей в новых версиях
> клиента под виндовс идет через анализ
> _MOTIF_WM_HINTS - там все правильно.
> Только не создаст ли проблем в будущем
> такое решение?

Насколько я понимаю, _MOTIF_WM_HINTS дополнительный атом, определяющий свойства окна наряду с _NET_WM_WINDOW_TYPE. Вряд ли его использование в wine может измениться в будущем. Вопрос в том, достаточно ли правильно сейчас устанавливаются свойства окна с помощью _MOTIF_WM_HINTS и нет ли каких-либо багов этим вызванных?
Comment 2 dimbor 2009-04-10 16:20:29 MSD
Если в хронологическом порядке, то скорее наоборот.
_MOTIF_WM_HINTS основной, а _NET_WM_WINDOW_TYPE - дополнительный.
После вчитывания в
http://standards.freedesktop.org/wm-spec/latest/
да, действительно, второй заточен больше под определение поведения, чем под оформление. Меня смутило то, что а) изначально _MOTIF_WM_HINTS в nx-клиент не попадал, б) только я что-то сделал, как оно все поменялось.
А с _MOTIF_WM_HINTS все просто: есть бит заголовка - ставим стиль с заголовком, ... и т.д.
Спасибо за информацию, этот вопрос можно закрыть.