Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. V roce 2021 to bylo každých 6 týdnů. Aktuální verze Chrome je 150. Aktuální verze Firefoxu je 152. V březnu bylo oznámeno, že od září přejde Chrome na dvoutýdenní cyklus vydávání verzí. To by znamenalo, že Chrome v číslování verzí Firefox brzy přeskočí. Vývojáři Firefoxu proto také od září přecházejí na dvoutýdenní cyklus vydávání verzí. :-)
Microsoft Comic Chat (Wikipedie), tj. grafický IRC klient z devadesátek, který převáděl konverzace na IRC do podoby komiksových panelů, a který zpopularizoval font Comic Sans, je dnešním dnem open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Byla vydána (𝕏) nová verze 26.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.7 je Xenial Xenops. Přehled novinek v příspěvku na fóru.
Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.
Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 167 (pdf) a Hello World 30 (pdf).
Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.
FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.
Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.
Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.
První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní
… více »
# 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(),)) # zkouska
Stejně 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.