Asterinas (GitHub) je v Rustu napsané jádro operačního systému poskytující s jádrem Linux kompatibilní ABI. Vydána byla verze 0.18.0. První distribucí postavenou nad jádrem Asterinas je Asterinas NixOS. Nejedná se o oficiální projekt NixOS a nemá nic společného s NixOS Foundation.
Podrobně byla rozebrána kritická zranitelnost v nf_tables (CVE-2026-23111). Další lokální eskalace práv na Linuxu. V upstreamu byla zranitelnost již v únoru opravena. Ve zdrojovém kódu stačilo odstranit 1 vykřičník.
Evropská komise (EK) nařídila americké společnosti Meta, že musí znovu umožnit bezplatný přístup konkurenčním obecně zaměřeným asistentům umělé inteligence (AI) k WhatsAppu a tento přístup musí zachovat až do ukončení antimonopolního šetření. Opatření je dočasné a má zabránit vážnému a nevratnému poškození konkurence na rychle rostoucím trhu s obecnými AI asistenty. Meta uvedla, že se proti rozhodnutí odvolá.
Společnost Anthropic představila AI modely Claude Fable 5 a Claude Mythos 5. Claude Fable 5 je první model třídy Mythos určený pro běžné použití.
Byla vydána nová stabilní verze 3.24.0, tj. první z nové řady 3.24, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.
Na čem pracují vývojáři v Rustu napsaného mikrokernelového unixového operačního systému Redox OS (Wikipedie)? Byl publikován přehled vývoje za květen. Vypíchnout lze nový scheduler EEVDF nebo port desktopového prostředí Xfce na Redox OS.
Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.
Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.
Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.
Zdravím,
Mám v podstatě dvě otázky:
1) Dynamická změna velikosti okna podle velikosti hlavního widgetu. Chci vyrobit okno, ve kterém bude tabulka nějakých objektů a chci, aby se velikost okna přizpůsobila velikosti tabulky (pokud se vejde na obrazovku). Tabulka může být pokaždé jinak veliká, takže nemůžu použít fixní velikost.
Skládá se to z QMainWindow (hlavní okno), ve kterém je QScrollArea a v ní můj vlastní widget Tabulka (QGridLayout s dalšími widgety).
Zkoušel jsem tohle, ale okno se vyrobí stejně velké jako když jsem velikost nijak nenastavoval.
QMainWindow window; QScrollArea * scroll = new QScrollArea; Table * table = new Table; table->generateTable(); scroll->setWidget(table); window.setCentralWidget(scroll); window.resize(scroll->sizeHint());
Tabulka se za běhu může zvětšovat/zmenšovat. Bude se okno dynamicky zvětšovat samo od sebe nebo ho musím po každé změně překreslit ručně? Napadá mě předefinovat resizeEvent tabulky, který zavolá resizeEvent okna, ale přijde celkem komplikované.
2) Maximalizace okna jen na velikost widgetu
Tohle by mělo jít pomocí setMaximumSize(), ale jak zjistím velikost tabulky, když nic z tohohle nevrací rozumnou velikost?
scroll->size(); scroll->sizeHint(); //pripadne scroll->viewport()->size(); scroll->viewport()->sizeHint();
Ale pokaždé, když si néjaký program jen tak mění velikost okna, tak mě to děsně štve.Přesně tak. Pokud máš dobrý důvod něco takového dělat, nastav rozumný horní limit za který se okno už samo zvětšovat nebude.
Problém tam dělá ta QScrollArea. Zkus resizovat na velikost toho, co je uvnitř (table).Ale jak? Když to zkusím takhle,
scroll->setWidget(table); scroll->resize(table->size());nic se nezmění. Možná, že table->size() vrací divnou velikost, ale to se mi nezdá, protože samotná tabulka (jako hlavní widget) se vykreslí tak velká jak je potřeba, případně „vyteče“ ven, když se nevejde na obrazovku.
Aktualizace:
1) Teď jsem zkusil resizovat okno až těsně před tím než ho zobrazím a funguje to. Možná pomohlo resizovat na velikost widgetu samotného a ne na velikost widgetu v nějakém kontejneru. Akorát se nezobrazí celé, oříznuté o pár pixelů napravo a dole, takže se objeví oba ScrollBary. Viz příloha.
2) Okno se sice nedá zvětšit nad určitou velikost ručně (myší),
window->resize(table->size())ale tlačítko Maximize ignoruje maximální velikost widgetu. Jak tohle obejít?
const int fill = 4; // spravna velikost okna window.resize(table->width() + fill,table->height() + fill); window.setMaximumSize(table->width() + fill, table->height() + fill); // spatna velikost okna QSize size; size = table->size(); size.rwidth() += fill; size.rheight() += fill; window.resize(size); window.setMaximumSize(size);Samozřejmě použiju to co funguje, ale zajímalo by mě proč se to takhle chová.
Ad 2: Mea culpa, napsal jsem to špatně.
window->setMaximumSize(...)omezí velikost okna při ručním zvětšování (myší), ale tlačítko Maximize ho vesele ingoruje a zvětší okno na celou obrazovku.
Co jsem se zatím dočetl, tak se o maximalizaci a) stará Window Manager, b) maximizeWindowEvent neexistuje a nedá se pořádně rozlišit co je „obyčejný“ resizeEvent od maximalizace. Čili řešení může být přepsat ve widgetu resizeEvent a v něm kontrolovat rozdíly nové a staré velikosti a konečnou velikost případně upravit.
Musím to udělat takhle nebo existuje ještě jiný způsob?
Tiskni
Sdílej: