Vláda Spojených států se rozhodla vyřadit americkou softwarovou společnost Microsoft a několik dalších velkých technologických podniků z programu, který umožňuje kvalifikovaným zahraničním pracovníkům získat povolení k trvalému pobytu. Oznámila to včera administrativa amerického prezidenta Donalda Trumpa. Opatření zdůvodnila rozsáhlým zneužíváním programu, který je dlouhodobě terčem kritiky ze strany Trumpových příznivců, neboť prý znevýhodňuje americké pracovníky.
Datové centrum největší ruské technologické společnosti Jandex v Rjazaňské oblasti se stalo cílem dronového útoku a zastavilo provoz. Jandexu se někdy přezdívá „ruský Google“. Provozuje nejoblíbenější internetový vyhledávač v Rusku nebo aplikace pro objednávky jídla a taxi. Využívají jej desítky milionů lidí v rusky mluvících zemích.
Francouzská společnost Mistral AI představila Mistral Large 4 (interně přezdívaný 'le Chonk', volně přeloženo 'pořádný macek'), 'open-weight multimodální hybridní instruct-and-reasoning model s architekturou granulárního MoE, nativně podporující více jak 160 jazyků'. Model má přes jeden bilión parametrů, z nichž při práci využívá 49 miliard, kontextové okno o délce milion tokenů a obrazový enkodér o 1,6 miliardách parametrů.
… více »Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.20. Díky 227 přispěvatelům.
Simon Long oznámil Raspberry Pi Desktop pro PC a Mac s Intelem postavený na aktualizovaném Debianu 13 Trixie. S klientem Raspberry Pi Connect pro vzdálenou správu. Ke stažení je vedle Raspberry Pi OS pro Raspberry Pi.
ESP32-C3 adblock přemění lacinou vývojovou desku ESP32‑C3 na samostatný DNS blokovač nejenom reklamních domén, minimalistickou alternativu k populárnímu Pi-hole. ESP32-C3 adblock místo objemných názvů domén ukládá jejich 40-bitové FNV-1a hashe do flash paměti, které pak binárně prohledává, kontrola jedné domény trvá přibližně 10 milisekund. Blocklist pojme až 537 tisíc domén a lze jej spravovat přes webové rozhraní. Projekt zatím
… více »ArtCraft je sada open source aplikací pro práci s obrázky a videi "inspirovaných" aplikacemi od Adobe. Napsaných v Rustu. Pro MacOS, Windows i Linux. Běží také ve webovém prohlížeči. Aktuálně se jedná o 7 aplikací: PhotoCraft (Photoshop), VectorCraft (Illustrator), FilmCraft (Premiere Pro), LightCraft (Lightroom), PdfCraft (Acrobat), EffectCraft (After Effects) a DesignCraft (InDesign). Zdrojové kódy jsou k dispozici na GitHubu.
Strands Decider 2B je malý open-source model s 2 miliardami parametrů, určený k rychlé klasifikaci vstupů a rozhodování mezi možnostmi, generující odpovědi ve stylu modelu Jev. Strands dosáhl přibližně 72% shody s Jevem na veřejné testovací sadě JevBench (tento benchmark pochopitleně nepředstavuje přímé srovnání s modelem Jev). Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache-2.0, váhy modelu na Hugging Face.
Ve věku 90 let zemřela americká softwarová inženýrka Margaret Hamiltonová, která vedla tým, jenž vyvíjel letový software pro program Apollo amerického Národního úřadu pro letectví a vesmír (NASA).
Japonský Google rozšířil svou kolekci DYI fyzických klávesnic Gboard o klávesnici ve tvaru běžícího pásu. Proč se mají přesouvat ruce po klávesnici, když se mohou přesouvat klávesy k ruce? Pro zájemce je návod na sestavení včetně STL souborů pro 3D tisk a firmware k dispozici na GitHubu.
Aby bol nasledujúci dokument zrozumiteľný a sebestačný, na úvod zhrniem základné poznatky o XUL.
XUL (XML User interface Language) je multiplatformový jazyk na tvorbu GUI, ktorý sa v mnohom podobá na XHTML. XUL je ukladaný v XML formáte, vzhľad a čiastočne aj správanie XUL dokumentov sú riadené kaskádovými štýlmi (CSS).
Logika aplikácií je programovaná pomocou JavaScriptu. JavaScript a XUL sú prepojené pomocou DOM (Document Object Model).
Tento dokument nemá byť rozsiahla referenčná príručka, ale má poukázať na niektoré XUL elementy, ktoré neboli spomenuté ani v seriáli, ani v tutoriále.
Rozsiahlu referenčnú príručku k jazyku XUL nájdete na stránkach XUL planet. Doplňujúce informácie o všetkých technológiách Mozilly nájdete na stránkach Mozilla developer center.
XUL sa používa na mnoho účelov. Niekedy v ňom definujeme hlavné okno aplikácie, inokedy dialóg, alebo ho využijeme pri tvorbe webovej aplikácie. XUL dokumenty môžu mať rozličné kmeňové elementy a každý z nich ponúka rozličné funkcie.
<page><iframe src="URL
dokumentu"/>. (Používa sa napríklad pri tvorbe bočného
panelu pre Firefox).<window><window> je primárne určený na tvorbu
hlavného okna aplikácie, ale jeho funkcie sú užitočné aj pri tvorbe
webových aplikácií. (Napríklad atribút title umožňuje
nastaviť titulok stránky, alebo okna aplikácie.)<dialog><window>, ale má odlišné
správanie, ktoré záleží na platforme. Tento element je užitočný pri tvorbe
dialógových okien. (Ponúka napríklad niekoľko atribútov, ktoré vytvoria
tlačidlá OK, Cancel a pod.).<wizard><window>. Tentokrát ide o ešte
sofistikovanejší nástroj na tvorbu sprievodcov, takzaných wizardov.
Sprievodca sa skladá z niekoľkých stránok, medzi ktorými sa užívateľ
pohybuje vpred, prípadne vzad. Jednotlivé stránky sú vnorené do elementov
<wizardpage>. (Pohyb medzi stránkami nemusí byť
lineárny a môžete definovať komplexnejšiu navigáciu.)<overlay><window>Najčastejšie používaný koreňový element XUL dokumentov.
Atribúty:
heighthidechrometrue spôsobí, že okno nebude mať orámovanie.idscreenXscreenYsizemodemaximizedminimizednormaltitlewidthwindowtypeRozloženie textu a obrázkov sa v HTML kedysi riešilo pomocou tabuliek. Dnes sa na tento účel používajú kaskádové štýly CSS a výsledkom sú prispôsobivejšie HTML stránky. V XUL je tiež možné použiť CSS, ale výsledkom sú zväčša ovládacie prvky, ktoré lietajú po hlavnom okne.
XUL jazyk preto používa špeciálne elementy ako praktických správcov rozloženia. Pomocou nich je možné ovládacie prvky umiestňovať na jednu pevnú pozíciu.
<box>, <hbox> a
<vbox>Element <box> môže obsahovať ľubovolný počet
ovládacích prvkov XUL. Prvky budú usporiadané vodorovne zľava do
prava.
Element <hbox> je identický s
<box>om. Element <vbox> je identický
s <box>om, až na to, že ovládacie prvky usporiadáva
zvyslo z hora nadol.
Element <box> nemá žiadne špeciálne atribúty, okrem
atribútov spoločných pre všetky XUL elementy. Za zmienku stoja dva z
nich:
orienthorzontalverticalpackstart<box>e budú
všetky prvky posunuté čo najviac naľavo, vo vertikálnom nahor).centerend<stack> a <deck>Elementy <stack> a <deck>
umiestňujú ovládacie prvky jeden nad druhý. Rozdiel medzi nimi je ten, že
<stack> zobrazí všetky elementy naraz a tie sa budú
navzájom prekrývať a <deck> zobrazí stále iba
jeden z nich.
Element <deck> má jeden atribút:
selectedIndexElement <deck> má v JavaScripte jednu metódu:
selectedPanel<tabbox>Element <tabbox> je manažér záložiek (on má
na starosti napríklad viac panelové prehliadanie vo Firefoxe). Element
<tabbox> by mal obsahovať elementy
<tabs> a <tabpanels>. V elemente
<tabs> by ďalej mali byť elementy
<tab> a v každom z nich obsah jednotlivých záložiek.
V elemente <tabpanels> majú byť umiestnané elementy
<tabpanel> a každý z nich má obsahovať obsah
jednotlivých tabov.
eventnodeparentwindowdocumenthandleCtrlPageUpDownhandleCtrlTabgridElement <grid> umiestňuje ovládacie prvky do
tabuľky. Okraj tabuľky sa nezobrazuje. Element <grid>
by mal obsahovať jeden element <rows> a ten môže
obsahovať ľubovolný počet elementov <row>. Každý
element <row> je jeden riadok a každý prvok, ktorý sa v
ňom nachádza, je umiestnený do jedného stĺpca podľa poradia.
Ak potrebujete ovládať vlastnosti celých stĺpcov, do elementu
<grid> môžete umiestniť element
<columns> a do neho ľubovolný počet elementov
<column>. Takto definujete stĺpce namiesto riadkov.
Ani jeden z uvedených elementov nemá žiadne špeciálne atribúty.
Kontajnery sú aj všetky kmeňové elementy a správcovia rozloženia, ale
tie sú veľmi špecifické. Kontajner je taký XUL element do vnútra ktorého
sa vkladajú iné ovládacie prvky. <groupbox> sa nedá
zaradiť do žiadnej inej skupiny.
<groupbox>Element <groupbox> zobrazí okolo svojho obsahu rám s
malým nadpisom. Používa sa na zoskupovanie podobných nastavení, alebo
informácií na dialógoch.
Nadpis je určený vnoreným elementom <caption>. Text
nadpisu sa vkladá do atribútu label.
Element <groupbox> nemá žiadne špeciálne atribúty.
Element <caption> má nasledujúce atribúty:
accesskeycropstartcenterendnoneimagelabeltabindex<spacer>
Element <spacer> sa vôbec nezobrazuje a vytvára v
XUL dokumente prázdne miesto. Vizuálne oddeluje ovládacie prvky.
Nemá žiadne špeciálne atribúty.
<label>
Label zobrazuje text. Zväčša sa používa na popisovanie ovládacích prvkov, alebo indikáciu nejakého stavu, alebo oznámenia.
accesskeycontrolid elementu, ku ktorému
je <label> priradený. Ak užívateľ klikne na zobrazený
text, priradený element bude označený.cropstartcenterendnonedisabledtrue spôsobí, že text bude vykreslený šedou
farbou a nebude vôbec reagovať.value<tree>, nie <listbox>.
<listbox> nie je o nič jednoduchší ako
<tree>a je omnoho pomalší. Ukážku jednoduchého použitia
<tree> nájdete v Tutoriáli AbcLinuxu 7.Do XUL dokumentov môžete vkladať XHTML kód. XUL a XHTML tagy musíte rozlíšíť pomocou XML namespace:
<?xml version="1.0"?>
<window
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
title="AbcLinuxu.cz - Rozsirte si Firefox a Thunderbird - sami!
- 7 - príklad XHTML">
<label value="XUL Label"/>
<html:p>XHTML odstavec</html:p>
</window>
Pozri príklad XHTML
online.Do nového tutoriálu som pridal dlho sľubovaný bočný panel napísaný v XUL. JavaScript som optimalizoval a teraz je rozšírenie naozaj rýchle. Ak vás zmeny zaujímajú stiahnite si Tutoriáli AbcLinuxu 7.
Ďalší diel seriálu bude náš posledný. Do ukážkového rozšírenia pridám vyhladávacie políčko pre bočný panel a možno vylepším otváranie odkazov. Seriál ukončím zhrnutím nových vlastností pripravovaného Firefoxu 1.5, poradím ako pri vývoji rozšírení postupovať samostatne a ako vedomosti získané v tomto seriáli uplatniť pri vývoji pre Thunderbird.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Ja som autor...
Nepamätám si, že by som bol poledný polrok na inom IRC kanále ako irc.mozilla.org#firefox... ale nepamätám sa, pretože mám krátku pamäť.
Na nešťastie som bol počas písania tohto dielu veľmi zaneprázdnený a tak som ho kontroloval len po semantickej stránke. Z môjho prvého článku DevFS vs. udev som sa poučil a svoje články dôkladne kontrolujem... Aj ja milujem dokonalú gramatiku, len si ju nevšímam.