Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 141 (pdf) a HackSpace 78 (pdf).
Byla vydána verze 2.0.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Oficiálně bude představena ve čtvrtek na konferenci KotlinConf 2024 v Kodani. Livestream bude možné sledovat na YouTube.
Byla vydána nová major verze 27.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.
Byla vydána nová verze 1.8.0 svobodného multiplatformního softwaru pro konverzi video formátů HandBrake (Wikipedie). Přehled novinek v poznámkách k vydání na GitHubu. Instalovat lze také z Flathubu.
Microsoft představil nové označení počítačů Copilot+. Dle oznámení se jedná se o počítače poskytující funkce umělé inteligence. Vedle CPU a GPU mají také NPU (Neural Processing Unit). Uvnitř představených Copilot+ notebooků běží ARM čipy Qualcomm Snapdragon X Elite nebo X Plus.
Příspěvek na blogu Codean Labs rozebírá zranitelnost CVE-2024-4367 v PDF.js, tj. mj. prohlížeči PDF souborů ve Firefoxu. Při otevření útočníkem připraveného pdf souboru může být spuštěn libovolný kód v JavaScriptu. Vyřešeno ve Firefoxu 126.
Lazygit byl vydán ve verzi 0.42.0. Jedná se o TUI (Text User Interface) nadstavbu nad gitem.
K open source herní konzole Picopad přibyla (𝕏) vylepšená verze Picopad Pro s větším displejem, lepšími tlačítky a větší baterii. Na YouTube lze zhlédnout přednášku Picopad - open source herní konzole z LinuxDays 2023.
Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.
Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.
# unique_ID, Q#, Status Icon, Name, Size, Progress, Message, Seeders, # Peers, DL, UL, ETA, Share self.torrent_model = gtk.ListStore(int, gobject.TYPE_UINT, gtk.gdk.Pixbuf, str, gobject.TYPE_UINT64, float, str, int, int, int, int, int, int, gobject.TYPE_UINT64, float, float)Rozhodně nechci psát, že vývojáři deluge použili špatné řešení, nevím jaké měli důvody to řešit zrovna takto a ani jsem pořádně neviděl zdrojáky. Ale přijde mi přirozenější v objektově orientovaném jazyce v TreeModel uchovávat přímo objekty. Jenže pak nastane problém s jejich zobrazováním. Typ objektu gobject.TYPE_* využívají třídy CellRenderer*, které jsou součástí GTK, ale pokud je typ nastaven na gobject.TYPE_PYOBJECT, CellRendererText si neporadí s __repr__. Navíc, často je potřeba vypsat v různých sloupcích různé atributy. Na irc.gnome.org#gtk mi poradili jednoduchý trik. Pro jednoduchost - zobrazení textové informace o našem objektu: Vytvořit novou třídu zděděnou z CellRendererText, přidat novou "property", jejíž "setter" nastaví property "text" na požadovanou hodnotu. Zděděné metody z CellRendererText se pak už postarají o správne zobrazení.
class Nas: # ukazkova trida - v TreeView chceme zobrazit atribut "t" def __init__(self): self.t = "zobraz me" class NasRenderer(gtk.CellRendererText): # nas_helper(hodnota) nastavi property "text" naseho Rendereru na "hodnota.t" # property "text" pote bude pouzita metody zdedenymy z CellRendererText k spravnemu # zobrazeni textu def nas_helper(object): self.set_property("text",object.t) # pri nastaveni property "nas" na "hodnota" pust "nas_helper(hodnota)" nas = gobject.property(setter=nas_helper) model = gtk.ListStore(gobject.TYPE_PYOBJECT) view = gtk.TreeView() view.set_model(model) # prida sloupec, ktery bude zobrazen pomoci NasRenderer, pred zobrazenim # se nastavi property (objektu NasRenderer) "nas" postupne (po radcich) na objekty v prvnim sloupci view.append_column(gtk.TreeViewColumn("title",NasRenderer(),nas=0)) model.append((Nas(),)) # zkouskaStejně je samozřejmě možné nastavovat i jiné properties "CellRendererů". Jasně, jedná se o základní použití, ale snad to někomu pomůže.
Tiskni Sdílej:
Přikláním se k pokračování. Základních příkladu GTK je hafo, ale v praxi narazíte na problémy, které se nikde neřeší. Pak si s tím lámete hlavu klidně týden.