Hlavní navigace

GNOME 2.4 - Co nás čeká a nemine (3)

24. 9. 2003
Doba čtení: 9 minut

Sdílet

Dnes v posledním dílu se zaměřím na to, co si myslím, že v Gnome nejvíce chybí, a tím je kvalitní fileselector. Podíváme se na to, proč jej stále Gnome neobsahuje a zda se blýská na lepší časy. Podíváme se také na projekty, které se Gnome hodně týkají a u kterých je příprava pro začlenění v plném proudu. Neopomeneme také stav Gnome Office, Gimpu a dalších zajímavých programů.

Fileselector

Fileselector, toto slovo se stalo modlitbou snad všech uživatelů Gnome, když se blížilo vydání nové verze (snad už od verze 1.2). Je opravdu škoda, že Gnome zatím nemá opravdu kvalitní dialogy pro otevírání a ukládání souborů. Řekl bych, že je škoda, že se na takové důležité věci nezapracovalo již dříve. Možná, že je to jeden z důvodů, proč lidé někdy na Gnome zanevřou. Přibližně v době Gnome 1.2 tu byl jeden projekt, který chtěl implementovat fileselector dle Windows 2000, ale nebyl dotažen do konce. Při tvorbě Gnome 2.0 na tuto věc neměl nikdo ani pomyšlení, až v průběhu vývoje větve 2.1 se objevilo mnoho diskusí o budoucím návrhu a vznikl i projekt gnome-fileselector, který byl dokonce funkční a nějakou dobu jsem ho používal. Tento jednoduchý fileselector měl stejné názvy funkcí jako standardní Gtk+ fileselector, tudíž jej programy mohly používat pouhou rekompilací. Později se však přišlo na to, že tato volání jsou nedostačující pro implementaci dalších funkcí. Projekt byl opuštěn a energie se vrhla jinam. Docela mě mrzelo, že tento fileselector, i když nebyl dokonalý, nebyl použit jako přechodné řešení pro Gnome 2.2 a následníky. Podle hesla, že je potřeba na to jít zespod, se začala práce na novém rozhraní přesouvat přímo do knihovny Gtk+. Spousta lidí se ozývala pro to, aby byl použit Nautilus jako komponenta fileselectoru. Naštěstí (dle mého názoru) k tomu nedošlo. V Gtk+ verze 2.4, které by se mělo ukázat světu 1. listopadu tohoto roku, se konečně dočkáme. Bohužel ne naposledy… Tady trochu přiblížím, jak je naprogramováno rozhraní filesectoru.

GtkFileChooserDialog - schéma závislosti
GtkFileChooser­Dialog – schéma závislosti


Základem je třída GtkFileChooser­Dialog, tak jak doposud, pro zachování kompatibility zdrojového kódu. Ta obsahuje funkce potřebné pro fileselector, řeší platformní záležitosti atp. Novinkou (rozšířením API) je rozhraní GtkFileChooser­Widget. To definuje povinné členy pro další třídy, které se budou již zabývat samotným zobrazením a chováním fileselectoru. Gtk bude obsahovat standardně fileselector GtkFileChooser­Default. Jiné fileselectory se budou používat jako pluginy. Takže se dočkáme nejen nového fileselectoru Gtk, ale na Windows platformě pravděpodobně i nativního fileselectoru systému. Jelikož Gtk+ 2.4 bude API i ABI kompatibilní se stávající verzí 2.2, dočkáme se první změny fileselectoru již brzy. Podotknul jsem, že první, a je tomu tak. S dalším fileselectorem se setkáme v Gnome 2.6. V plánu je robustnější návrh, který bude používat knihovny Gnome-vfs, tedy ve fileselectoru se dočkáme přístupu na ftp, nfs, či sambu. A na to si jistě stojí za to počkat. Kdo to už nemůže vydržet, tomu mohu zatím doporučit dva upravené fileselectory. První je obsažen v Gtk+ balíčku firmy Ximian, kde jsou přidána tlačítka pro rychlé přejití do lokací jako plocha a dokumenty. Dalším zajímavým hackem je gtkfilesel patch. Nemusíte se obávat, tato změna je dostupná i pro laiky. Na stránce je script, který vám stáhne aktuální zdrojové kódy Gtk+, aplikuje patch a nainstaluje. Tento patch se kompiluje i oproti GConf, tudíž přidává do fileselectoru ikony mime-typů souborů, bookmarky a tlačítka pro otevření terminálu a Nautila v dané lokaci. Tento fileselector již nějakou dobu používám a prozatím mě uspokojuje (tedy oproti původnímu). A na závěr malá ukázka, jak možná bude vypadat Dialog pro uložení souboru v Gtk+ 2.4.

Dialog pro uložení souboru - jeden z posledních návrhů
Dialog pro uložení souboru – jeden z posledních návrhů

Gtk+ 2.4 a 2.6

Když už jsem se rozepsal o filedialogu v Gtk+, pojďme se krátce podívat, co nás čeká ve verzi 2.4 a co je plánováno pro 2.6.

Gtk 2.4

  • Fileselector – viz text výše.
  • Přepracované Combo (dropdown).
  • Nové API pro práci s menu, založené na akcích.
  • Přepracování toolbaru – sjednocení vzhledu s libeeg – transformováno z Gnome.
  • Další možnosti pro GObject – soukromé atributy, s tím souvisejí i práce na rozhraních (např. pro fileselector a combo).
  • Plná podpora Unicode standardu.
  • Autokompletace a historie pro Entry widget (textový vstup) – možná se dočkáme dokončování formulářů v Mozille..
  • Nové widgety typu GnomeColorPicker – pro práci s barvami a fonty (postupné přesunování Gnome widgetů do Gtk).
  • Podpora XCursor v gdk (práce s ukazateli kurzoru myši).
  • Podpora ikonových témat podle freedesktop.org a jejich použití jako Stock ikon (podporováno v Gtk+ 2.2 jako součást tématu).
  • Spousta práce na GtkTreeView, např. podpora GtkTreeModelFilter. Spousta vylepšení a optimalizací pro rychlost.

Gtk 2.6

  • Přepracování tooltipů včetně použití v GtkTreeView.
  • „Smooth scrolling“ (plynulé scrolovní) – implementace chování jako např. v IE.
  • Toolbar editor.
  • Dock widget – podpora dokování tak, jak je např. použito nyní v Gimpu (popsáno níže) či Scaffoldu.
  • Rozšíření API pro GtkNotebook – rozšíření MDI správy – např. zkratky, dnd mezi položkami, přesouvání atp.
  • About dialog – další přesouvání směrem od libgnomeui, její zánik se předpokládá s touto verzí Gtk+.
  • Integrace DirectFB portu do hlavního stromu – Gtk+ s framebufferem jako backendem – oproti X či Win platformě má plnou podporu alpha kanálů – doporučuji se podívat na stránky projektu.
  • Podpora animovaných kurzorů myši.
  • Podpora jednotek jiných než jen pixely.
  • Podpora Druida/Wizarda – další pohyb směrem do Gtk+ z Gnome.
  • Podpora sezení – automatické ukládání pozice, rozměrů, uložení v docku atp. při ukončení aplikace a jejich opětovná rekonstrukce.
  • Ekvivalent libglade přímo v Gtk+.
  • Nový widget tabulky, založené na modelu – zjednodušení práce v některých případech oproti GtkTreeView.
  • Optimalizace v gdk, škálování, kolekce, možná i přímá podpora OpenGL.
  • Spousta vylepšení stávajícího GtkTreeView – např. hledání psaním, kopírování a vkládání, ukládání stavu atd.
  • Podpora parsování příkazové řádky – pravděpodobně API založené na knihovně linc.

Gtk+ 2.4 je plánováno na 1. listopadu, avšak došlo ke zdržení implementace rozhraní, na kterých závisí další práce na Combu a Fileselectoru, a tak se dá předpokládat malé zdržení. Gtk+ má teď osmiměsíční vývojový cyklus, takže verze 2.6 se dočkáme v příštím roce.

Gnome Office

I když se několik vývojářů snaží o přiblížení OpenOffice ke Gnome, stále existuje projekt GnomeOffice, který se snaží být docela příjemným řešením pro spoustu lidí. Momentálně obsahuje balík gnome-db pro práci s daty, Gnumeric – tabulkový procesor a Abiword – textový editor. Musím podotknout, že používám jak gnome OO build založený na OO 1.1 RC5, tak programy GnomeOffice. V mnoha případech jsou daleko svižnější a mají oproti OO podporu zaheslovaných MS formátů. Gnumeric je ve verzi 1.2 a s plnou podporou grafů, Abiword ve verzi 2.0, oba s podporou gnome-db pro hromadnou korespondenci (pro gnome-db existuje i modul pro napojení na adresář Evolutionu). Oba tyto projekty mají plnou podporu bonobo komponenty, takže je možné je používat např. v Nautilu či Mozille (nebo Epihany, Galeonu, zkrátka v Gecko prohlížečích. O podporu zobrazování se stará projek tmoz-bonobo). Tímto vydáním se daly do pohybu další projekty, které budou začleněny do tohoto balíku v budoucnosti. Mimo jiné vznikla knihovna Enchant, která se zabývá podporou kontroly pravopisu. Je to knihovna, která abstrahuje programy např. ispell a aspeell jako backendy. S podporou této knihovny se počítá i do dalších programů, např. i Evolutionu. Další projekty, které mají šanci se v budoucnu začlenit, jsou Mergeant (správce databází), Criawips(prezen­tační program) a gLabels (program pro tvorbu etiket a vizitek).

No a na závěr pár screenshotů pro potěchu oka:

GPdf podruhé

Již minule jsem se zmínil o programu založeném na kódu XPdf. Povzdechl jsem si, že mi tam několik funkcí oproti XPdf chybí. Několik dnů nato jsem si zkompiloval (s přidáním několika patchů) vývojovou větev tohoto programu a nestačil jsem se divit. Hned první věc, nad kterou jsem žasl, je plně funkční tisk se všemi vymoženostmi, které gnome-print nabízí (náhledy, export do pdf, tisk několika stran na jednu, různá rozvržení atp.). Pátral jsem po důvodu, proč tedy není tato funkce ve stabilní řadě. Důvod byl nakonec prostý – pozdní dodání patche a tudíž nedostatečné otestování. Další novinkou, která mě potěšila, je hledání v textu. Tato vlastnost ještě není vypilována (když text najde, program neodscrolluje na danou lokaci), nicméně text označí a kupodivu nejsou žádné problémy s češtinou. Další vlastnosti jen ve stručnosti – uložení jako jiný pdf soubor, extrahování textu do souboru, označení a kopírování textu, gesta pro navigaci v dokumentu, záložky, náhledy stran a anotace (zatím mně neznámá funkce). Zkrátka mám dojem, že se GPdf stává zajímavým a funčním pdf prohlížečem s pěkným rozhraním. Snad se do budoucna dočkáme i editace a úprav objektů. Pro nedočkavce, kteří by si rádi vývojovou větev vyzkoušeli, je tu link na předkompilovaný rpm balíček (RH9), na který jsem narazil.

Rhythmbox a Sound Juicer

Rhythmbox je přehrávač a knihovna zvukových záznamů (mp3, ogg) a zpočátku se nechal inspirovat programem iTunes z Apple prostředí. Časem si ale začal budovat vlastní cestu a dnes tu máme docela solidní přehrávač, který umí nejen organizovat a vyhledávat mp3 či ogg soubory, umí také přehrávat klasická CD a je i klientem pro internetová rádia. Rhythmbox je založen na Gstreameru a měl být již součástí standardního Gnome. Některé funce jsou ale stále označeny jako experimentální, nicméně ho můžu prohlásit za docela solidně stabilní. Při používání verzí 4.95 – 5.3 v rozmezí cca třech měsíců jsem zaznamenal jen jeden pád, nezkoušel jsem však pracovat s internetovými rádii. Můžu říci, že s Rhythmboxem jsem konečně přestal používat staré dobré xmms. Velice solidní je jak knihovna, tak podpora playlistů. Dokonce je v Nautilu kontextové menu pro přidání nahrávky do knihovny. Začlenění do Gnome bychom se měli dočkat v příští verzi spolu s ripovacím programem Sound Juicer, se kterým je již provázán. Ve vývoji je také verze nautilus-cd-burner s podporou vypalování zvukových CD, který bude použit pro vypalování palylistů.

A zase něco pro oko:

Rhythmbox
Sound Juicer

Dashboard

Jednou z opravdu zajímavých aplikací, které se na nás chystají, je Dashboard. Jedná se o program, který spojuje informace roztroušené nejen ve vašem počítači do jednoho celku, a to v reálném čase (aktuální) podle kontextu vyhledávání. Zkrátka taková vyhledávací centrála s možností prohledávat data jednotlivých programů či je ovládat. Koncentruje všechny nalezené informace do jediného okna, odkud se na ně můžete odkazovat. Momentálně aplikace obsahuje pluginy pro Evolution (adresář, email), Gaim (logované konverzace přes ICQ, AIM, …), Epiphany a Galeon (záložky a historie), Amazon.com (indexace a prohledávání nové služby zpřístupňující text několika desítek tisíc knih, obaly a info o CD), XChat (IRC konverzace), provázání na naposledy otevřené soubory, Straw (rdf – blogy), gThumb (knihovna kolekcí obrázků), Rhythmbox (knihovna hudebních nahrávek), Gnome Phone Manager (přijaté a odeslané SMS), Google.com (web, vyhledávání). Na Internetu jsem našel zmínky o možnosti (plánované) propojení Dashboardu např. se SAP R/3, Jabberem a OpenOffice. Další pluginy budou jistě přibývat, a tak se máme na co těšit. Doporučuji naštívit stránky projektu a prohlédnout si pár screenshotů. Za zmínku jistě stojí, že projekt je z velké části programován v C# (Mono, .Net na Uni*u).

GIMP

Gimp se nám od poslední stabilní verze 1.2.x změnil k nepoznání. Nejen, že byl portován na Gtk+ 2.0, ale změnilo se rapidně uživatelské rozhraní. Nyní je plně dokovatelné, takže si ho můžete uzpůsobit dle vašich osobních snů. Za zmínku jistě stojí přepracovaný textový nástroj, podpora šablon, CMYK (zatím pouze jednoduché konverze, CMYK seleector), path tool, nový systém nápovědy, ukládání dodatečných informací do XCF formátu a spousta dalších funkcí a vymožeností. Původně měla být tato verze označována jako 1.4, ale nakonec kvůli počtu vylepšení bude označena jako 2.0. Gimp je již dnes velice stabilní, ostrou verzi můžeme očekávat do dvou měsíců. Myslím, že tato verze se stane hitem sezóny ;)

root_podpora

A pro potěchu oka:
Gimp 1.3.20

Závěrem

Doufám, že jsem vám přinesl zajímavé kousky informací o dění v Gnome světě. Tímto náš seriál končím. V diskusi se můžete vyjádřit k tomu, co vám tu v souvislosti s Gnome chybělo, o čem byste si rádi někdy přečetli. Pokud mi vyzbyde zase nějaký čas, tak vás třeba potěším.

Byl pro vás článek přínosný?