LINUX.ORG.RU
ФорумTalks

Свобода выбора... мысли о WM'ах


0

0

Свобода выбора это хорошо. Все прям таки без ума от этого. Каждый может настроить свое окружение так, как ему хочется. Но с точки зрения разработчика... Доколе будет существовать тысяча и один WM, и каждый со своими глюками, заморочками и трактовкой стандартов? >_<

На примере самой простой задачи - сделать свое окошко полноэкранным, используя только низкоуровневый API, можно наблюдать массу интересного. Один WM присылает букет FocusIn/FocusOut(нафига вообще? О_о) и требует ручного возврата фокуса окну, другой игнорирует предписания _NET_WM_STATE_FULLSCREEN и не уберет декорации окна пока не ткнешь ему нужный _MOTIF_WM_HINTS. С compiz'ом оказывается вообще чудеса - он ложил болт на _NET_WM_STATE_FULLSCREEN, и показывает AWN всегда(тестировал на нескольких прогах, не знаю как с другими dock-барами). Вспоминая Линуса с его «стабильный API это нонсенс», думается весь Open Source считает «соблюдение стандартов - да кому это нужно?».

Дискасс.

★★★★

> соблюдение стандартов - да кому это нужно?

Именно так и считают. Впрочем, самое страшное - не то, что глючат свистелки и перделки на десктопах, а то, что само ядро 2.6 представляет собой набор ядерных свистелок и перделок без стабильного состояния интерфейсов.

pekmop1024 ★★★★★
()

Все ложили, ложат и будут ложить болт. #{Любимая лошадка про XDG_CONFIG_HOME}. Добро пожаловать в линупс. Чудесный и переменчивый мир непознанного, непонятного и невменяемого.

Deleted
()

собственно, нытиктред.

подписываюсь.

mono ★★★★★
()
Ответ на: комментарий от Deleted

#{Любимая лошадка про XDG_CONFIG_HOME}

Угу, до сих пор этот ужас в ~/ заставляет содрогаться, а ведь есть стандарты FreeDesktop...

Andru ★★★★
() автор топика
Ответ на: комментарий от Andru

В стандарты FreeDesktop я как-то не особо верю нынче. Ну вот не получается в них верить. Хотя что-то, что у них описано таки реализовано и работает, что, прямо скажем, удивительно.

Deleted
()

стандарты - это прошлый век. этим давно уже никто не пользуется.

Deleted
()

>Доколе будет существовать тысяча и один WM, и каждый со своими глюками, заморочками и трактовкой стандартов? >_<

Если все разработчики нормального софта будут забивать на кривой, не соблюдающий стандарты софт, то у разработчиков кривого софта не останется выбора, кроме как соблюсти стандарт.

Либо нужно один раз сделать Большую Библиотеку Костылей и использовать везде её.

Yareg ★★★
()

Я полгода назад трахался с драг-н-дроп между прогами на кутэ и моей гтк-прогой. Победил конечно. Но убедился, что кутэ ведет себя по-другому, нежели гтк.

gtk_drag_dest_set (mainwin, GTK_DEST_DEFAULT_ALL, target, 1, GDK_ACTION_COPY | GDK_ACTION_MOVE);

Вот этот вот параметр GDK_ACTION_MOVE написан специально для кутэ. Без него перетаскивание с этой либы не работает!!! Тупо, глупо и вообще не смешно!

hibou ★★★★★
()

Абсолютное большинство standalone WM не претендует на мейнстримность, посему, разработчик использует такие спецификации свойств окон, какие ему знакомы/удобны.

Кстати, приведу один забавный пример. Вот есть такой пейджер как fbpager. У меня он совершенно нормально выполнял свои функции во Fluxbox'е, FVWM, pekwm, которые не держат стандарты f.d.o. полностью, и вообще довольно различны, но вообще не видел окон и десктопов в Openbox'е, который соответствует этим стандартам на 100% (=

GotF ★★★★★
()
Ответ на: комментарий от RedPossum

Не кури больше бамбук, зелёненький :}

Deleted
()

Ну дык. Зато весело, с песнями и улюлюканьем, бежим прикручивать новую фичу к любимому DE. А потом удивляемся: и как же оно всё работает?

dogbert ★★★★★
()

А серьезно, реально ли куда-нить послать весточку, чтоб это приняли стандартом и везде учитывали?

pevzi ★★★★★
()
Ответ на: комментарий от Rastafarra

> А серьезно, реально ли куда-нить послать

Fixed.

Deleted
()

Посмотрите на kwin, они вроде наиболее адекватны в плане соблюдения стандартов. (И придумывания новых).
Новые стандарты предлагать надо сразу на fdo.org
Многое очень даже соблюдается, особенно крупными проектами, типа gnome и kde.
К сожалению более мелкие проекты не всегда хотят соблюдать стандарты. Но на них можно забить, всё равно доля пользователей существенно меньше и написание хаков для таких приложений себя не оправдает.

CyberTribe ★★
()
Ответ на: комментарий от mono

>да куча стандартов, в том числе LSB, но, к примеру, Debian его не соблюдает.

очевидно, потому что RPM не нужен

leave ★★★★★
()

Это еще радоваться надо что есть такие _NET_WM_* и прочие. В том же windows дела обстоят намного хуже. Там даже такого нет. Каждое второе приложение норовит эмулировать WM по своему, и если окно создается по координатам 0,0 то оно и будет там появляться игнорируя панельки и все другие окна даже не думая что его будет трудно вытащить из под панельки. Некоторые окна так и вообще могут распологаться за пределами экрана.

Lucky1 ★★★
()
Ответ на: комментарий от Legioner

Пошли патч в (подставить) с добавлением поддержки _NET_WM_STATE_FULLSCREEN

Проблема в том, что я могу и не осилить :) Но даже не в этом - патч не спасет пользователей, у которых стоят относительно старые версии, и обновляться они не видят смысла(либо нет возможности). И выпуская свое приложение - придется то и делать, что отсылать всех нафиг и просить апдейтнуться... но первое впечатление, он сразу составляет мнение :) Посему пришлось побороть все выбрики популярных WM'ов. Шаманю сейчас еще над ConfigureNotify, когда такие WM'ы как compiz после смены разрешения посредством XRandr так и наровят отправить окно куда-нить на другой десктоп 8)

Andru ★★★★
() автор топика
Ответ на: комментарий от Deleted

На паскале, да :)

Pascal это для себя, и принципиальная позиция :) А на работе вполне себе С++ использую )

Andru ★★★★
() автор топика
Ответ на: комментарий от Lucky1

В том же windows дела обстоят намного хуже.

Знаем, знаем... различия поведения WinXP и Vista/Win7 тоже иногда доставляют немерено. Но проблемы с размещением окошек меня там не волнуют, это уже как пользователь хочет, так пущай и извращается, а мое дело маленькое :)

Andru ★★★★
() автор топика
Ответ на: комментарий от Yareg

> Либо нужно один раз сделать Большую Библиотеку Костылей и использовать везде её.
уже есть, .net framework.
используется везде, куда ни плюнь

opensuse
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.