Zakladatel ChimeraOS představil další linuxovou distribuci zaměřenou na hráče počítačových her. Kazeta je linuxová distribuce inspirována herními konzolemi z 90. let. Pro hraní hry je potřeba vložit paměťové médium s danou hrou. Doporučeny jsou SD karty.
Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.4 a Linux From Scratch 12.4 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.42, Binutils 2.45 a Linuxem 6.15.1. Současně bylo oznámeno vydání verze 12.4 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.
Organizátoři konference LinuxDays ukončili veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata, která na letošní konferenci zaznějí. Hlasovat můžete do neděle 7. září. Poté podle výsledků hlasování organizátoři sestaví program pro letošní ročník. Konference proběhne 4. a 5. října v Praze.
Byla vydána verze 11.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. Vypíchnout lze, že v Plasmě byl implementován 22letý požadavek. Historie schránky nově umožňuje ohvězdičkovat vybrané položky a mít k ním trvalý a snadný přístup.
Wayfire, kompozitní správce oken běžící nad Waylandem a využívající wlroots, byl vydán ve verzi 0.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Videoukázky na YouTube.
Před necelými čtyřmi měsíci byl Steven Deobald jmenován novým výkonným ředitelem GNOME Foundation. Včera skončil, protože "nebyl pro tuto roli v tento čas ten pravý".
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.
Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.
typedef struct FilesPanelEntry{ Glib::ustring name; Glib::ustring ext; Glib::ustring size; Glib::ustring date; Glib::ustring rwx; Glib::ustring owner; Glib::ustring group; };Pak mám objekt s TreeViewem. Objekt má kromě jiných i tyto metody metody:
virtual void addEntry( const FilesPanelEntry& entry ); virtual void clear(); virtual off64_t count(); virtual bool getEntry( off64_t n, FilesPanelEntry& entry ); virtual bool setEntry( off64_t n, FilesPanelEntry& entry );Metody získávají/nastavují jednotlivé položky TreeViewu. Ve FilesPanelEntry::size můžou být tyto hodnoty:
<DIR> = adresář <BLKD> = blokové zařízení <CHRD> = znakové zařízení <FIFO> = fifo Velikost = souborProtože mi to už nemyslí, potřebuju si dát pauzu. Jenže zas nechci zbytečně ztrácet čas, a proto bych od někoho potřeboval dopsat fci na seřazení těch souborů. První by měly být adresáře seřazené dle abecedy, poté soubory dle abecedy, poté bloková zařízení, znaková zařízení a nakonec FIFO. Potřeboval bych to doplnit sem:
void JXPCommander::sortFiles( bool left ) { FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight); bool orderChanged = true; FilesPanelEntry e1,e2; while(orderChanged){ orderChanged = false; for( off64_t i = 0; i < fp->count()-1; ++i ) { fp->getEntry( i, e1 ); fp->getEntry( i+1, e2 ); /* * Tu proveďte nějaké ty porovnání, v případě * že mají být položky prohozeno tak proveďte: * * fp->setEntry( i,e2 ); * fp->setEntry( i+1,e1 ); * * a nezapomeňte nastavit orderChanged na true. * * Stringy se nebojte porovnávat znaménky < a > * o utf8 se již stará sama třída Glib::ustring */ } } }
Tiskni
Sdílej:
void JXPCommander::sortFiles( bool left ) { FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight);bych neudělal snad ani já, trochu více obecnosti bych do toho vrazil
void JXPCommander::sortFiles( bool left ) { FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight); bool orderChanged = true; FilesPanelEntry e1,e2; int max = fp->count()-1; while(orderChanged){ orderChanged = false; for( off64_t i = 0; i < max; ++i ) { fp->getEntry( i, e1 ); fp->getEntry( i+1, e2 ); if(e1.name > e2.name) { // pro razeni vzestupne podle jmena fp->setEntry(i, e2); fp->setEntry(i+1, e1); orderChanged = true; } } max--; } }- ale doporucoval bych trochu zagooglovat a nastudovat quick-sort...
vector
, ale také deque
a list
, když už jsme u kontejnerů tohoto typu. Nelze samozřejmě také opomenout set
, multiset
, map
a multimap
(a další více či méně užitečné věci). Kdo se toho dobrovolně vzdává, o hodně přichází.