Hlavní navigace

Názor k článku Michal Krause: na desktopu mám Mac, ale Linux jsem neopustil od Lael Ophir - Ad podobne jako editor Vim trochu narocnejsi ucici...

  • Článek je starý, nové názory již nelze přidávat.
  • 9. 2. 2017 13:19

    Lael Ophir

    Ad podobne jako editor Vim trochu narocnejsi ucici krivku na zacatku, ale to se velmi rychle vrati - ehm... Za mě je vim vynikající ukázkou toho, jak UI rozhodně vypadat nemá. Samozřejmě nic proti vaší preferenci.

    Linky na pár tiling shellů a/nebo pluginů. Koukal jsem že většina z nich existuje, ale nikdy jsem je nezkoušel.
    https://www.reddit.com/r/windows/comments/2rn775/best_tiled_window_manager_for_windows/

    Ad Proc by mel X11 resit tisk? Tohle bych si rad poslechl. To ma preci resit toolkit, ktery bude umet kreslit do rastru X11 i do krivek postskriptu nebo jinych tiskovych primitiv - protože pak nepotřebujete toolkit, který pracně překládá volání z jednoho API na nevím kolik jiných API, a vzniká u toho spousta chyb. Je to úplně zbytečný layer, který bylo nutné zavést jen protože Unixy nemají grafický subsystém.

    Jak se zobrazování a tisk řeší na Windows od verze 3.0: vespod jsou drivery zařízení typu obrazovky nebo tiskárny. Driver deklaruje jaké operace na zařízení poskytuje: bitmapy, polygony, křivky, texty atd. Nad drivery je GDI, které nahoře poskytuje relativně high-level API. Volání těch API překládá na to co umí driver. Takže když aplikace chce nakreslit B-spline, zavolá GDI, a GDI to buď přepustí driveru (pokud operaci podporuje), nebo volání přeloží na jedno či více volání které driver umí (například na bitmapu). Totéž u kreslení textu: aplikace zavolá GDI, a GDI buď řekne driveru že má nakreslit text, nebo požadavek přeloží na jiná volání včetně jako jsou třeba křivky a bitmapy. Je vcelku jedno jestli aplikace chce kreslit do okna nebo po stránce tiskárny. Prostě použijete ten samý kód, jenom ho necháte kreslit po jiném kontextu (řekněme plátně).
    Vzdálený přístup se provádí (tuším od NT 4.0) tak že se použije RDP driver na straně kde běží aplikace, a ten deklaruje podporované operace, které nahlásí klient. GDI pak volá funkce RDP driveru, a ten je serializované posílá na klienta. Díky tomu je možné mít primitivního RDP klienta který umí jen bitmapy (například starší open source implementace RDP klientů), a GDI prostě pro klienta přeloží volání na bitmapy. Běžní klienti (Remote Desktop Client nebo thin client krabičky třeba od WYSE) podporují daleko více operací, samozřejmě je to efektivnější. K tomu Remote Desktop poskytuje sdílení clipboardu (nejen grafického), přesměrování zvuku, tisku, removable zařízení, čipových karet atd.

    Ad V dobe Windows 3.0, totiz tohle byla skutecna vyhoda protokolu X11: graficke terminaly (v dnesni reci thin-clienti) staly radove mene nez osobni pocitac - grafické terminály stály výrazně méně než unixová workstation, to samozřejmě ano. Bohužel nejjednodušší způsob jak zabít terminál, server i síť mezi nimi bylo spustit xclock. Tehdejší X11 bylo opravdu jen pro otrlé. A ohledně ceny to také nebyla žádná sláva, protože X11 terminál byl technicky jeden předražený počítač, ke kterému jste musel mít jako server (well, X11 klient) druhý veliký a velmi předražený počítač (byť sdílený mezi pár uživateli). Dopadlo to tak, že firmy nakonec radši každému posadily na stůl levné PC.

    Ad To ze se X11 dnes stale pouziva, znamena ze pouzitelny stale je - ono to hlavně znamená, že na Unixech bohužel není žádná lepší alternativa. O "kvalitách" X11 toho bylo napsáno a řečeno tolik, že to radši nalinkuji než abych psal román. Unixy potřebují něco jako GDI, WPFnebo Apple Quartz, akorát nikdo s ničím podobným nebyl schopný přijít a opravdu to prosadit.
    http://www.std.org/~msm/common/protocol.pdf
    https://www.youtube.com/watch?v=RIctzAQOe44#t=07m40s
    https://itvision.altervista.org/why.linux.is.not.ready.for.the.desktop.current.html#xorg

    Ad Pouziva se dnes zobrazovaci system z Windows 3.0 - ano, velké procento aplikací na Windows používá GDI API. Nové aplikace používají WPF, které je koncipované od začátku pro maximální využití GPU, je více orientované na vektory, typografii a multimédia, lépe pracuje se subpixelovými koordináty atd.