Тестирую для перехода вайны - (сейчас энтерсотовский) и возникает на всех вайнах нехороший эффект.
При создании модального окна, оно при заблокированном родительском, может за него скрытся.
В винде этого нет в принципе.
Пробовал ковыряться с настройками менеждера окон (КДЕ), но так ничего и не получилось.
Как сделалать виндозное поведение для модальных форм,
что бы модальное-диалоговое окно было всегда впереди и не перекрывалось disabled-родительским?
Как показывать модальные диалоги?
Модератор: Модераторы разделов
-
- Сообщения: 147
- ОС: Sabayon ~x86
Re: Как показывать модальные диалоги?
AWSVladimir писал(а): ↑27.09.2007 13:42Тестирую для перехода вайны - (сейчас энтерсотовский) и возникает на всех вайнах нехороший эффект.
При создании модального окна, оно при заблокированном родительском, может за него скрытся.
В винде этого нет в принципе.
Пробовал ковыряться с настройками менеждера окон (КДЕ), но так ничего и не получилось.
Как сделалать виндозное поведение для модальных форм,
что бы модальное-диалоговое окно было всегда впереди и не перекрывалось disabled-родительским?
У меня помогало снятие чекбокса "разрешить менеджеру окон управлять окнами wine" на закладке "графика" в winecfg
-
- Сообщения: 138
- ОС: пока Мандривка
Re: Как показывать модальные диалоги?
Спасибо! То, что надо!
-
- Сообщения: 138
- ОС: пока Мандривка
Re: Как показывать модальные диалоги?
Хм, возникли другие траблы 
1. Нельзя м/у несколькими программами переключаться Alt+Tab
2. Вайновская Ctrl+Esc не работает - вызывается кде-шный системный монитор
3. Вайновкие окна всегда на верху
4. Если сделать вирт рабочий стол, то все вновь открываемые проги в нем и нет возможности переключится м/у ними
5. Самое противное. Обработчик клавиатуры слетает с вайновких окон. Мышкой шелкаешь на таблице - фокус есть, клавишами навигации начинаешь работать - в вайне не работает, но отлично работает параллельно в другом окне MiningCom, или на рабочем столе, хотя мышкой щелкаешь по вайновскому окну. Делал "Разреш. прилож DirectX удерж крысу", но приложения не DirectX - и эта фича не проходит, но ч.з некоторое время можно и с клавы управлять.
Много конечно написал, но может кто-нибуть, что-нибуть посоветует?
Вайн этерсофтовский (пока тестирую).

1. Нельзя м/у несколькими программами переключаться Alt+Tab
2. Вайновская Ctrl+Esc не работает - вызывается кде-шный системный монитор
3. Вайновкие окна всегда на верху
4. Если сделать вирт рабочий стол, то все вновь открываемые проги в нем и нет возможности переключится м/у ними
5. Самое противное. Обработчик клавиатуры слетает с вайновких окон. Мышкой шелкаешь на таблице - фокус есть, клавишами навигации начинаешь работать - в вайне не работает, но отлично работает параллельно в другом окне MiningCom, или на рабочем столе, хотя мышкой щелкаешь по вайновскому окну. Делал "Разреш. прилож DirectX удерж крысу", но приложения не DirectX - и эта фича не проходит, но ч.з некоторое время можно и с клавы управлять.
Много конечно написал, но может кто-нибуть, что-нибуть посоветует?
Вайн этерсофтовский (пока тестирую).
-
- Модератор
- Сообщения: 1442
- Статус: Etersoft team
- ОС: ALT Linux
Re: Как показывать модальные диалоги?
AWSVladimir писал(а): ↑28.09.2007 10:37Много конечно написал, но может кто-нибуть, что-нибуть посоветует?
Вайн этерсофтовский (пока тестирую).
всё должно работать корректно со включённым в winecfg "управлением менеджером окон" в WINE@Etersoft 1.0.8. В более ранних версиях могли быть такие проблемы.
-
- Сообщения: 2
- ОС: linux openSuSE, Fedora
Re: Как показывать модальные диалоги?
Никаких флажков включать не надо. Все эти игры с флагами не решают проблему, это только имитации.
Управлением рамок окон занимается менеджер оконн . Под оконным менеджером часто понимают KDE или GNOME, это не совсем так - это среды. http://ru.wikipedia.org/wiki/Менеджер_окон
Найболее распространенный менеджер окон - это metacity, а KDE или GNOME надстройки к нему . Есть другие мендж. окон: Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, WindowMaker, OpenBox и.т.д.
Чтобы увидеть поведение окон в metacity запустите metacity-window-demo.
Поэтому игры с настройками не помогут.
Уходя в глубь проблемы: Так получилось, что X "не знает" как диалоговые окна win-приложения вызываются - модально или не модально. В данном случае API Xlib предоставляет больший набор параметров создаваемого окна чем Win32 API - в этом неоднозначность. Поэтому Wine'овцы по умолчанию вызывают все окна не модально.
Подробно по этой проблеме можно посмотреть http://bugs.winehq.org/show_bug.cgi?id=3997
Отличие от windows проявляется еще в том, что каждое окно появляется в панели задач, а также при пролистывании (alt+tab) приложений - это мягко говоря смущает, и скорее разражает. Видимо разработчики решили дать пользователю полный контроль над окнами в неоднозначных ситуациях.
Собственно ближе к теме. В нашей конторе решили попровоать спрыгнуть с иглы от M$ и перейти на linux. Переписать это все просто нереально А при запуске в linux из под wine наших самописных win-прог, мы столкнулись с данной проблемой. Была также проблема с печатью (но это совсем другая история). Если установить флажок в winecfg "запускать приложение в виртуальном рабочем столе" - не получается листать через alt+tab, а приложений приходится запускать много.
Поскольку разработчики мы, можно передать из win-приложений подсказки для wine - как отображать окна. Пришлось слегка модифицировать wine. В данном случае речь идет о версиях wine-0.9.42 и выше. В исходных кодах wine легкой модификации подвергся файл wine-0.9.4x/dlls/winex11.drv/window.c
В общем случе, для того, чтобы приблизить поведение окон приложения к windows, можно исходить из предположения, что все диалоговые окна модальные. Следущее: убрать из панели задач и из пейджера (листатель приложений по alt+tab) присутствие дочерних окон. К, сожалению, пока не удалось отобразить иконки приложений в таскбаре и в пейджере. (Если в приложении повторно вызвать перерисовку - иконка появляется.) В KDE иконки, правда, появляются, но зато окна ведуть себя не совсем требуемым способом.
Вот такая история. Если такой расклад устраивает - могу выложить исходники wine с данными изменениями. Либо патч с изменениям.
Если у Вас wine от этерсофт - проблема. У меня нет их исходников.
Если что - обращаться vinnitalik@yandex.ru
В завершение добавлю, что в качестве пробы удалось организовать несколько рабочих linux-десктопов. Народ вполне удовлетворен. При переходе на linux большее противодействие оказывают женщины - но это традиционно.
На пробу выбрали две операционки Ubuntu 7.04 и openSuSe 10.3. По-правде, мне больше нравится SUSE. Рабочий менеджер окон GNOME - вроде как попроще для рядового пользователя.
Ключевые слова: модальный диалог, модальное окно, модальные диалоги, модальные окна, wine
Управлением рамок окон занимается менеджер оконн . Под оконным менеджером часто понимают KDE или GNOME, это не совсем так - это среды. http://ru.wikipedia.org/wiki/Менеджер_окон
Найболее распространенный менеджер окон - это metacity, а KDE или GNOME надстройки к нему . Есть другие мендж. окон: Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, WindowMaker, OpenBox и.т.д.
Чтобы увидеть поведение окон в metacity запустите metacity-window-demo.
Поэтому игры с настройками не помогут.
Уходя в глубь проблемы: Так получилось, что X "не знает" как диалоговые окна win-приложения вызываются - модально или не модально. В данном случае API Xlib предоставляет больший набор параметров создаваемого окна чем Win32 API - в этом неоднозначность. Поэтому Wine'овцы по умолчанию вызывают все окна не модально.
Подробно по этой проблеме можно посмотреть http://bugs.winehq.org/show_bug.cgi?id=3997
Отличие от windows проявляется еще в том, что каждое окно появляется в панели задач, а также при пролистывании (alt+tab) приложений - это мягко говоря смущает, и скорее разражает. Видимо разработчики решили дать пользователю полный контроль над окнами в неоднозначных ситуациях.
Собственно ближе к теме. В нашей конторе решили попровоать спрыгнуть с иглы от M$ и перейти на linux. Переписать это все просто нереально А при запуске в linux из под wine наших самописных win-прог, мы столкнулись с данной проблемой. Была также проблема с печатью (но это совсем другая история). Если установить флажок в winecfg "запускать приложение в виртуальном рабочем столе" - не получается листать через alt+tab, а приложений приходится запускать много.
Поскольку разработчики мы, можно передать из win-приложений подсказки для wine - как отображать окна. Пришлось слегка модифицировать wine. В данном случае речь идет о версиях wine-0.9.42 и выше. В исходных кодах wine легкой модификации подвергся файл wine-0.9.4x/dlls/winex11.drv/window.c
В общем случе, для того, чтобы приблизить поведение окон приложения к windows, можно исходить из предположения, что все диалоговые окна модальные. Следущее: убрать из панели задач и из пейджера (листатель приложений по alt+tab) присутствие дочерних окон. К, сожалению, пока не удалось отобразить иконки приложений в таскбаре и в пейджере. (Если в приложении повторно вызвать перерисовку - иконка появляется.) В KDE иконки, правда, появляются, но зато окна ведуть себя не совсем требуемым способом.
Вот такая история. Если такой расклад устраивает - могу выложить исходники wine с данными изменениями. Либо патч с изменениям.
Если у Вас wine от этерсофт - проблема. У меня нет их исходников.
Если что - обращаться vinnitalik@yandex.ru
В завершение добавлю, что в качестве пробы удалось организовать несколько рабочих linux-десктопов. Народ вполне удовлетворен. При переходе на linux большее противодействие оказывают женщины - но это традиционно.

На пробу выбрали две операционки Ubuntu 7.04 и openSuSe 10.3. По-правде, мне больше нравится SUSE. Рабочий менеджер окон GNOME - вроде как попроще для рядового пользователя.
Ключевые слова: модальный диалог, модальное окно, модальные диалоги, модальные окна, wine
-
- Модератор
- Сообщения: 192
Re: Как показывать модальные диалоги?
Не вижу проблемы. Если что, их исходники здесь: ftp://updates.etersoft.ru/pub/Etersoft/WI...sources/tarball
-
- Сообщения: 2
- ОС: linux openSuSE, Fedora
Re: Как показывать модальные диалоги?
lav писал(а): ↑14.10.2007 02:05Не вижу проблемы. Если что, их исходники здесь: ftp://updates.etersoft.ru/pub/Etersoft/WI...sources/tarball
Спасибо за ссылку.
-
- Сообщения: 73
- ОС: SLES 10
Re: Как показывать модальные диалоги?
Hoblin писал(а): ↑05.10.2007 20:25AWSVladimir писал(а): ↑28.09.2007 10:37Много конечно написал, но может кто-нибуть, что-нибуть посоветует?
Вайн этерсофтовский (пока тестирую).
всё должно работать корректно со включённым в winecfg "управлением менеджером окон" в WINE@Etersoft 1.0.8. В более ранних версиях могли быть такие проблемы.
хм... по моему Wine 1.0.8 еще не выпустили...
Исследовательский центр. Инфа по Linux терминалам.
http://netlab.clan.su
http://netlab.clan.su
-
- Модератор
- Сообщения: 1442
- Статус: Etersoft team
- ОС: ALT Linux
Re: Как показывать модальные диалоги?
Бета-версия уже давно есть и периодически обновляется.