LINUX.ORG.RU

[misc][X.org] Программирование «системных» тулзов

 


0

1

Что есть почитать на тему написания программ, типа WM, систреев, панелей и т.д.? Какой есть окноманагер на Perl?

P.S. Как я понял, надо курить на тему Xlib?

★★

Последнее исправление: VeroLom (всего исправлений: 1)
Ответ на: комментарий от Ximen

> Xlib, говорят, не модный. Вроде как, XCB теперь круто...

Только документации по нем чуть больше нуля. Ну и плюс сорцы и комменты в них.

andreyu ★★★★★
()

>Что есть почитать на тему написания программ, типа WM, систреев, панелей и т.д.?

Курить ICCCM, Extended Window Manager Hints, System Tray Protocol Specification, Xlib или XCB и т. п.

Как ты собираешься что-то писать, если ты даже чтиво найти в сети самостоятельно не можешь?!

Zubok ★★★★★
()

Знаете, в IRC на канале #xorg-devel стоит очень правильный топик. Они просят НЕ ПИСАТЬ новые тулкиты и новые оконные менеджеры. Подумайте, почему.

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

Они просят НЕ ПИСАТЬ новые тулкиты и новые оконные менеджеры. Подумайте, почему.

А, кстати, почему? Как эти тулкиты и менеджеры касаются xorgа? Им не всё ли равно?

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

>Подумайте, почему.

Кстати, а почему? Максимум, что я могу придумать как объяснение — неустойчивость спецификаций по WM. Типа don't rely on ...

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

Не все равно. Потому что иксовые интерфейсы довольно замысловаты - и все аффторы однажды приходят к иксовым разработчикам и начинают задавать глупые вопросы, а то и предъявлять претензии (или даже требовать улучшений). Пока этим занимаются разработчики мейнстримных тулкитов, которых мало и которые уже в основном «в теме» - это можно пережить. А когда приходит новый чайник со свистком - песня начинается с первого куплета.

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

ИМХО, такое объяснение со стороны исковых разработчкиов не является конструктивным. Я думал, что проблема где-то усмотрена в техническом или организационном плане, поэтому удивился, что ничего об этом не слышал ранее.

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

Не только спеки WM, сами x11 api со всей кучей расширений - те еще джунгли.

Интересно, кто-нибудь вообще собирается хоть когда-нибудь навести там порядок? Потому что, если это хоть наполовину так, то это же ужос...

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

Оно не конструктивное, оно по-человечески ленивое:) Иксы же страшная гадость, это известный факт (и набор постоянно добавляемых костылей, кстати). Но при этом - священная корова. Это один из жесточайших парадоксов десктопного линуха.

Конечно, если бы проблема была «в техническом или организационном плане», Вы бы услышали. А IRC - это место для неформальных вещей;)

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

Текст излагает ситуацию достаточно верно. И это действительно ужас. Но никто не придумал, как избавляться от этого. Ни у кого нет потрохов (денег), чтобы, как эппл, поднять свою графическую среду с нуля, присобачив иксы сбоку.

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

>Оно не конструктивное, оно по-человечески ленивое:)

Оно стало бы конструктивным, если написать грамотный disclaimer по этому вопросу. Ведь есть вполне объективные причины не ломать то, что написано, которые можно изложить. Мы тут уже несколько раз эти вопросы обсуждали. Для новаторов есть всякие Wayland и т. п. Мне же, человеку, стремящемуся быть уже рациональным к своему времени, стабильность важнее, так как нет никакого желания стать зависимым от чьих-то деструктивных заморочек.

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

disclaimer - это формальное признание, некий стейтмент. Подобный выпад выглядел бы некрасиво. А неформальная просьба - это только неформальная просьба. Никого ни к чему не обязывает.

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

>Оно не конструктивное, оно по-человечески ленивое:) Иксы же страшная гадость, это известный факт (и набор постоянно добавляемых костылей, кстати). Но при этом - священная корова. Это один из жесточайших парадоксов десктопного линуха.

Ну вроде как на фреймбуфере даже вполне себе сносные системы получаются... Только почему-то никому не надо.

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

>Критическая масса софта.

Так казалось бы как раз в линукс-то переход и не невозможен! При наличии открытых исходников и библиотек поддерживающих и то и другое решение. Тот же XFCE пересобирали под фреймбуфер почти без правки :)

ИМХО, просто нет человека, который бы сказал - все хватит, надо делать вот так и так и сделал хотя бы на 30%. Типа дистрибутив, в котором будут программы собранные под ФБ в более менее достатке. Масштаба Торвальдса чувак нужен. %)

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

>Ну вроде как на фреймбуфере даже вполне себе сносные системы получаются... Только почему-то никому не надо.

Если кому-то и надо, то есть возможность сделать свой проект и агитировать за него. Иксы — это один из вариантов графической подсистемы. Альтернативы возможны и не запрещены. Но ты попробуй начать. Призывать мифического «человека-Линуса, который придет и молча поправит все» умеет весь интернет. :)

ИМО, желание некоторых людей сделать все по-другому не должно ломать систему, которая уже работает годами. Что-то может не нравиться (а претензии есть), но зато тут есть документация, наработанные методики, много всяких reference implementations, более-менее документированные костыли и подпорки, комьюнити и пр.

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

> При наличии открытых исходников и библиотек поддерживающих и то и другое решение.
Совсем не весь софт открыт. Куча дорогого иксового софта из 80х и 90х. К тому же Вы представляете себе ОБЪЕМ этих открытых исходников (если говорить о 30%)? Кстати, еще одна причина не делать новые тулкиты - чем меньше тулкитов, тем (теоретически) будет легче, если ОДНАЖДЫ...

Нужен человек не масштаба Торвальдса, а масштаба Ротшильда или хехе Джобса

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

>Кстати, может, человек Грызлов поможет?;)

В свете последних слов г-на президента, что Linux — это наше все, всякое может случиться. :)

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

Что мешает в новой оконной системы иксы пускать, если уж совсем припрет? Главное Qt и QTK портировать, а если Qt малыми силами на Haiku смогли перенести, то имхо на новую оконную систему будет не проблема, а там и KDE не трудно будет перетащить. С гномом думаю не сильно сложнее. Ну да, оконные менеджеры не перенесешь, но проще в новой оконной системе написать один, но хороший.

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

> Пока этим занимаются разработчики мейнстримных тулкитов, которых мало и которые уже в основном «в теме» - это можно пережить. А когда приходит новый чайник со свистком - песня начинается с первого куплета.

эээ... ммм... а что мешало эту песню скопипастить из логов ирки, вырезать лишнее, положить на веб-страничку и дать туда ссылку, вместо этой странной фразы?

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

Надо:
1. Написать полностью новую графическую подсистему. Отладить
2. Перенести какой-то ДЕ полностью. Отладить.
3. Сделать костыльную реализацию иксов. Отладить.

Я не знаю, сколько денег ушло на это у эппла - но явно немало. Я не вижу, у кого из игроков линуха есть желание и ресурсы на это. Все, кто серьезно играет на десктопе - уже как-то притерлись к угребищу иксовому.

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

Эта работа называется «написать полную документацию по иксам, с кучей примеров и пр. и пр». Решаемо, но кто это будет делать?

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

>Если кому-то и надо, то есть возможность сделать свой проект и агитировать за него. Иксы — это один из вариантов графической подсистемы. Альтернативы возможны и не запрещены. Но ты попробуй начать. Призывать мифического «человека-Линуса, который придет и молча поправит все» умеет весь интернет. :)

Ну ты мои слова повторил и маленько водички подлил. Дальше что?:) Человек-Линус как раз и нужен, чтобы все это потянуть.

ИМО, желание некоторых людей сделать все по-другому не должно ломать систему, которая уже работает годами. Что-то может не нравиться (а претензии есть), но зато тут есть документация, наработанные методики, много всяких reference implementations, более-менее документированные к

костыли и подпорки, комьюнити и пр.

Точно. Дальше что?:)

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

>Нужен человек не масштаба Торвальдса, а масштаба Ротшильда или хехе Джобса

тогда уж два человека. Человек-Линус и человек-джобс. :)

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

>Решаемо, но кто это будет делать?

Человек-Кнут! :)

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

>>Что есть почитать на тему написания программ, типа WM, систреев, панелей и т.д.?

Курить ICCCM, Extended Window Manager Hints, System Tray Protocol >Specification, Xlib или XCB и т. п.

Как ты собираешься что-то писать, если ты даже чтиво найти в сети >самостоятельно не можешь?!

Изначально я даже не знал, что искать. После создания топега уже нашёл некоторую документацию.

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

>кури сорцы простых программ: dwm,tint2 итп

окноманагеров на перле не знаю

Внезапно PerlWM =)

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

Знаете, в IRC на канале #xorg-devel стоит очень правильный топик. Они просят НЕ ПИСАТЬ новые тулкиты и новые оконные менеджеры. Подумайте, почему

Почему?

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

> Эта работа называется «написать полную документацию по иксам, с кучей примеров и пр. и пр». Решаемо, но кто это будет делать?

Не-не-не. Эта работа называется «выложить логи ирки, относящиеся к делу, и если не лень, чуть подредактировать их».

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

>Надо:

1. Написать полностью новую графическую подсистему. Отладить

2. Перенести какой-то ДЕ полностью. Отладить.


3. Сделать костыльную реализацию иксов. Отладить.



1. Есть Qt для фреймбуфера.

2. У них там, надеюсь, имеются зачатки своего ДЕ.

3. Надеюсь, в их реализации имеется достаточно параллельности с иксами.

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

А кто сказал, что это все было в ирке? В мейллистах, частных кулуарных беседах на конференциях, жаббере и пр. Тут нехилый майнинг придется делать.

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

Видимо, все это недостаточно развито, чтобы это можно было назвать полноценным ДЕ. Кроме того, нельзя забывать - есть небольшая армия программистов под иксы (напрямую и с разными тулкитами). Построишь ДЕ на отдельно взятом тулките - и потеряешь почти всю эту армию. Те самые «Девелоперз, девелоперз» (Балмерз сволочь, но дело туго знает)

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

«один ДЕ на всех» я не предлагаю, а имел в виду, что *внутри* Qt для фреймбуфера" вероятно имееются функции, параллельные обработчикам нужных для ДЕ сообщений

ладно

кинь, пожалуста, ссылки на хорошие обзоры по внутренностям иксов, и по теме «что в иксах реально используется в противовес тому, что было спроектировано»

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

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

На Y не смотрел, ничего не скажу. Пока что это все малоактуально.

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

ну вот ты и выдал мне индульгенцию на продолжение разговора с моим невежеством :-)

ну и я продолжу

современные иксы — это возможно html

там есть слои, внутри слоев есть боксы (bounding boxes), которые укладываются; внутри боксов можно выводить текст или класть картинки

слои могут быть полупрозрачные и отсечены по маске

и че здесь не хватает до полной функциональности иксов? (да, вопросы dual head display пока оставим за скобками, хотя, полагаю, именно оттуда идет справедливая критика иксов)

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

еще там есть контролы и CSS; про первые я не уверен, что они нужны в типа_иксах, а вот второе хорошо бы — чтобы можно было изделия типа eclipse делать совершенно по другому (а именно юниксовому) принципу

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

эвенты тоже желательно иметь в текстовом виде

вообще (возможно по моему невежеству) вся эта фигня реализуется довольно просто

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

при этом конечно надо нафиг повыкидывать лишнюю специфику хтмл-я, оставив только слои, боксы, текст и картинки (с их атрибутами)

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

Это ключевое требование №1, которое умаешься исполнять. Ну и плюс сказанное выше - что делать с имеющейся массой приложений, и где взять критическую массу новых.

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

> Это ключевое требование №1, которое умаешься исполнять.

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

итак, уровени:

ФБ0. просто фреймбуфер

ФБ1. фреймбуфер с окнами (они же слои, т.к. могут быть полупрозрачны)

ФБ2. фреймбуфер со слоями-окнами, боксами, текстом и картинками

Ну и плюс сказанное выше - что делать с имеющейся массой приложений,

1. кьютишные приложения пойдут на ФБ0, и почти 100% гарантия, что внутри там есть что-то, реализующее слои — так что видимо ФБ1 реализуется легко; вовсе не обязательно, чтобы кьют работал через ФБ2

2. гтк-шные приложения — либо оживить гтк для фреймбуфера, либо см. п.3

3. чисто иксовые на другом тулките — запускать vesa-иксовый сервер, и в течение дцати лет иксы видимо будут переписаны под ФБ2

и где взять критическую массу новых.

новые будут те, что

- написаны красноглазыми и для красноглазых под ФБ2

- возможно написанные для embedded?

но критическая масса совсем не обязательна, т.к. все равно юзают тулкиты

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

опять же, возможно красноглазые перенесут часть кьютишного рендеринга на ФБ2, дабы ускорить работу новых_иксов через сеть

а еще одна киллер-фича ФБ2 — то, что он может и должен рендериться также и на текстовых терминалах (картинки естественно придется смотреть как текстовых браузерах — псевдографикой на весь экран)

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

А где во всем этом место для вещей типа композит и пр. свистелок? Где место для 3Д? Сколько кода, который как бы основан на тулките, но внутри себя использует иксовые вызовы?

Новые БУДУТ. Самое страшное - пережить первый момент и убедить девелоперз, девелоперз, что имеет смысл связываться с новым ДЕ. Это очень непростая задача. Фактически, на весы тут невозможно ничего кинуть, кроме мешка с деньгами.

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

s/vesa-иксовый сервер/пропатченный какой-нибудь иксовый сервер, который работает напрямую с фреймбуфером/

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