Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Linux WM Xlib:llä

kayttaja-3842 [20.10.2008 14:38:43]

#

Terve,

Ajattelin tässä tekasta testinä yksinkertaisen ja kevyen ikkunamanagerin Linux:lle. Tosin törmäsin heti ongelmaan, onko tieto kellään että miten tuo ikkunan reunat toteutetaan? Eli piilotetaanko ne X:n oma luomat reunat ja piirretään jotenkin ne omat siihen vai mitenkä? Ja miten saan tämän asetukset kaikkiin ikkunoihin?

_Pete_ [21.10.2008 12:31:39]

#

X ei itsessään piirrä ikkunoihin reunoja lainkaan vaan sen tekee juurikin ikkunamanageri. Asiaa voi havainnollistaa käynnistämällä X ilman ikkunamanageria ja sen jälkeen käynnistämälle siihen jonkin ohjelman.

kayttaja-3842 [22.10.2008 12:55:35]

#

tjoo elikkäs eikös X itsessään ole kumminkin sellanen alkeellinen WM:ä?

Tyyliin tällänen: http://upload.wikimedia.org/wikipedia/commons/d/d4/X-Window-System.png

Miten sitten tiedetään että mihin kohtaan pitää piirtää reunat yms yms? Eikös tämä kuitenki tehdä Xlib:in avulla?

Blaze [22.10.2008 13:07:57]

#

kayttaja-3842 kirjoitti:

tjoo elikkäs eikös X itsessään ole kumminkin sellanen alkeellinen WM:ä?

Tyyliin tällänen: http://upload.wikimedia.org/wikipedia/commons/d/d4/X-Window-System.png

Ei, toi on twm

Kray [22.10.2008 15:23:40]

#

Itsekin olen jotain wm:n tapaisen virittelyä kokeillut, http://tronche.com/gui/x/ on hyvä referenssi. Muutenkin kannattaa opetella googlen käyttöä. Kannattaa lukea tinyWM:n lähdekoodi läpi, se on täysin käytettävä ikkunamanageri alle viidelläkymmenellä koodirivillä. Ikkunamanagerin on hyvä tukea ICCCM-protokollia mahdollisimman hyvin, http://tronche.com/gui/x/icccm/ on hyvä ohje siihen. Jos pitkälle kehittää, kannattaa myös _NET -protokollia tukea. Suosittelen myös (hiukan) edistyneempien ikkunamanagerien koodin lukemista. Ionissa ei ole paljoa koodia, ja siitä voi etsiskellä ohjeita käytännössä.

_Pete_ [24.10.2008 10:37:45]

#

kayttaja-3842 kirjoitti:

tjoo elikkäs eikös X itsessään ole kumminkin sellanen alkeellinen WM:ä?

Tässä on X ilman ikkunamanageria:

http://debbox.homeunix.net/~petria/tmp/X_without_wm.jpg

Ja tässä twm päällä:

http://debbox.homeunix.net/~petria/tmp/X_with_wm.jpg

Tuosta aika helposti näkee mitä ikkunamangeri tekee.. :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta