LINUX.ORG.RU

разработка WM


0

0

Хочу, прежде всего для практики, заняться разработкой своего window manager'a, но не представляю себе с чего начать. Может кто-нибудь посоветовать ЛЮБЫЕ учебные материалы в сети на эту тему? можно на английском, немецком и, конечно же, русском. Заранее спасибо!

★★

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

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

Какой, какой видеопамяти? Или ты зло пошутил или не понял вопроса.

2 norden: чего тебе не хватает в существующих wm?

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

> Вот с такими штуками придется сталкиваться.

Да я, в общем, ради этого и хочу попробывать.

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

> 2 norden: чего тебе не хватает в существующих wm?

в общем и целом, я удовлетворен fluxbox, но есть фичи, которых в нем нет и не будет, есть фичи которые в нем есть, а мне нафихх не нужны, и уж нигде нет фич, нужных одному только мне. А если и можно все это как-то соорудить при помощи, fvwm, к примеру, то появляются другие вещи, которыми я не доволен... да и просто из спортивного интереса. Я хочу не столько довести дело до конца, сколько поработать над нетривиальным проектом.. вот.

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

WM - это, по-вашему, нетривиальный проект?

Начать можно со спецификаций или с исходников существующих. Благо весь этот код уже не один десяток раз переписывался.

anonymous
()

2anonymous (*) (19.10.2004 14:36:03):

>...с помошью библиотек высокого уровня, а спомощью прямого обращения к видеопамяти или с помощью низкоуровневых библиотек (svgalib ).

Абсолютно все не так. То есть вообще все...

anonymous (*) (19.10.2004 14:45:11):

> чего тебе не хватает в существующих wm?

Ну, автор вопроса ясно написАл : "для практики".

2norden:

Для начала надо бы про X протокол почитать (X Protocol Reference Manual, не знаю, есть ли он on-line).

А потом я бы посмотрел на исходники какого-нибудь простого WM, посмотри, например, на http://www.plig.org/xwinman/ в сторону TWM/VTWM

Die-Hard ★★★★★
()
Ответ на: комментарий от norden

> .. и уж нигде нет фич, нужных одному только мне ..

че за фичи если не секрет?

к вопросу: сначало надо просмотреть xproto/icccm/xlic ref manual и я еще бы порекомендовал X programming 40errors - точно название не помню, основные 40 ошибок X программеров

lg ★★
()
Ответ на: комментарий от Die-Hard

>>...с помошью библиотек высокого уровня, а спомощью прямого обращения к
>>видеопамяти или с помощью низкоуровневых библиотек (svgalib ). 

>Абсолютно все не так. То есть вообще все... 

А как так ?
Ответ был в общем.
так как разрабатывалась оконныя графическая система
со всеми кнопочками и диалоговыми окнами + чтоб она была масштабируемая
и состояла из набора объектных библиотек на основании которых
стоилось все что нужно и как нужно.
Но все это Г-но было под  MS-DOS.
Под Linux - конечно по другому. 
Но если Вы знаете как, то напишите. Это интересно.

Скорее всего нужноы протоколы X-Window, так как все X-ы - это клиент-сервер.
И конечно возможно не нужно лезть напрямую в видеопамять.
Возможно можно использовать библиотеку OpenGL и склепать на ней что-то.
или воспользоваться QT или API libX11.
Но все равно если Вы хотите гибкую и настраиваемую систему то
она должна реагировать на изменение состояния устройства display.
Поэтому и посоветовал познать все на низкоуровневых библиотеках,
так как сам когда-то шел именно таким образом.
Кроме того вроде нет такой оконной графической библиотеки
под консоль хотя не уверен может и есть ? ??

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

anonymous (*) (20.10.2004 19:15:16):

RTFM! (man X):

WINDOW MANAGERS
       The  layout of windows on the screen is controlled by spe╜
       cial programs called window managers.  Although many  win╜
       dow  managers will honor geometry specifications as given,
       others may choose to ignore them (requiring  the  user  to
       explicitly draw the window's region on the screen with the
       pointer, for example).

       Since window managers are regular (albeit complex)  client
       programs,  a  variety  of different user interfaces can be
       built.  The X Consortium distribution comes with a  window
       manager  named  twm  which  supports  overlapping windows,
       popup menus, point-and-click or click-to-type  input  mod╜
       els, title bars, nice icons (and an icon manager for those
       who don't like separate icon windows).

       See the user-contributed software in the X Consortium dis╜
       tribution for other popular window managers.

Die-Hard ★★★★★
()

Самый простой и одновременно лучший вариант - почитать сорцы какого-нибудь evilwm.

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