Xlib/X11 compatibility layer na inaalok para sa Haiku OS

Ang mga developer ng bukas na operating system na Haiku, na nagpapatuloy sa pagbuo ng mga ideya sa BeOS, ay naghanda ng paunang pagpapatupad ng layer upang matiyak ang pagiging tugma sa Xlib library, na nagpapahintulot sa iyo na magpatakbo ng mga X11 na application sa Haiku nang hindi gumagamit ng X server. Ang layer ay ipinatupad sa pamamagitan ng pagtulad sa mga function ng Xlib sa pamamagitan ng pagsasalin ng mga tawag sa high-level Haiku graphics API.

Sa kasalukuyang anyo nito, ang layer ay nagbibigay ng karamihan sa mga karaniwang ginagamit na Xlib API, ngunit ang ilang mga tawag ay nananatiling pinapalitan ng mga stub. Binibigyang-daan ka ng layer na mag-compile at magpatakbo ng mga application batay sa GTK library, ngunit nangangailangan pa rin ng pagpapabuti ang kalidad ng layout ng mga elemento sa mga bintana. Ang pagpoproseso ng input gamit ang mga pag-click sa keyboard at mouse ay hindi pa dinadala sa isang gumaganang form (tanging pagproseso ng kaganapan ng paggalaw ng mouse ang naidagdag).

Nauna nang ipinatupad ang suporta para sa Qt library sa Haiku sa pamamagitan ng paggawa ng katutubong Qt port na tumatakbo sa ibabaw ng Haiku API. Ngunit para sa suporta sa GTK, ang paggamit ng X11 emulation ay nakikita bilang isang mas mahusay na opsyon, dahil ang GTK internals ay hindi masyadong abstract at ang paggawa ng isang hiwalay na GTK backend para sa Haiku ay mangangailangan ng makabuluhang mapagkukunan. Bilang isang solusyon, ang posibilidad ng paglikha ng isang port ng X11 server para sa Haiku ay isinasaalang-alang, ngunit ang diskarte na ito ay itinuturing na hindi naaangkop sa mga kondisyon kung saan ang X11 API ay maaaring ipatupad nang direkta sa ibabaw ng Haiku API. Ang X11 ay pinili bilang isang matagal nang na-stabilize at hindi nagbabagong protocol, habang ang mga eksperimento sa Wayland ay nagpapatuloy pa rin, ang paggawa ng sarili mong pagpapatupad ng server ay kinakailangan, at hindi lahat ng kinakailangang mga extension ng protocol ay naaprubahan sa wakas.

Xlib/X11 compatibility layer na inaalok para sa Haiku OS

Kapag nagpapatakbo ng mas simpleng mga application sa Tcl/Tk at wxWidgets sa pamamagitan ng layer, ang mga problemang hindi pa nareresolba ay napapansin din, ngunit ang hitsura ay mas malapit na sa normal:

Xlib/X11 compatibility layer na inaalok para sa Haiku OS
Xlib/X11 compatibility layer na inaalok para sa Haiku OS
Xlib/X11 compatibility layer na inaalok para sa Haiku OS

Alalahanin natin na ang proyekto ng Haiku ay nilikha noong 2001 bilang isang reaksyon sa pagbabawas ng pag-unlad ng BeOS OS at binuo sa ilalim ng pangalang OpenBeOS, ngunit pinalitan ng pangalan noong 2004 dahil sa mga paghahabol na nauugnay sa paggamit ng trademark ng BeOS sa pangalan. Direktang nakabatay ang system sa mga teknolohiya ng BeOS 5 at naglalayon sa binary compatibility sa mga application para sa OS na ito. Ang source code para sa karamihan ng Haiku OS ay ipinamahagi sa ilalim ng libreng lisensya ng MIT, maliban sa ilang mga library, media codec at mga bahagi na hiniram mula sa ibang mga proyekto.

Ang system ay naglalayon sa mga personal na computer at gumagamit ng sarili nitong kernel, na binuo sa isang hybrid na arkitektura, na-optimize para sa mataas na pagtugon sa mga aksyon ng user at mahusay na pagpapatupad ng mga multi-threaded na application. Ang OpenBFS ay ginagamit bilang isang file system, na sumusuporta sa pinalawak na mga katangian ng file, pag-log, 64-bit na mga pointer, suporta para sa pag-iimbak ng mga meta tag (para sa bawat file, ang mga katangian ay maaaring maimbak sa form key=value, na ginagawang katulad ng file system sa isang database) at mga espesyal na index upang mapabilis ang pagkuha sa mga ito. Ang "B+ trees" ay ginagamit upang ayusin ang istraktura ng direktoryo. Mula sa BeOS code, kasama sa Haiku ang Tracker file manager at Deskbar, na parehong open-sourced pagkatapos ihinto ng BeOS ang pag-develop.

Pinagmulan: opennet.ru

Magdagdag ng komento