neděle 10. listopadu 2013

Kašlu na Unity, GNOME Shell je lepší!

Už jste si zajisté všimli, že se GS věnuju čím dál tím víc. Verze 3.8 tomu opravdu dala použitelnou formu, ale teprve po půl roce od vydání, když už má GNOME verzi další, se dá skutečně používat i v Ubuntu. A je to sakra lepší, než ta splácanina jménem Unity. Takže dnes napíšu, co mi vyhovuje a jak jsem si GS 3.8 na Ubuntu 13.10 poladil. ...


Zájemci o test GS na U13.10 si doinstalují:

sudo apt-get install ubuntu-gnome-desktop

Zkoušel jsem na Ubuntu i ppa s gnome 3.10, ale je to nekompletní a i na Fedoře 20, kterou mám také nainstalovanou, mi přijde nová verze zabugovaná, některá zajímavá rozšíření ještě nefungují a nakonec i vzhledově jde novinka dolů použitím tlustých titlebarů u oken, která v něm nemají integrován toolbar. Jako vždy, něco za něco. V základním Ubuntu bohužel stále nefunguje vyhledávání souborů a s ním související položka nastavení systému. Zajímalo by mě, zda v Ubuntu GNOME je to komplet, nikde jsem k tomu nic nenašel. Je ale fakt, že oproti pracovnímu systému, kde dokola otevírám lokální dokumenty, na domácím funguju jinak a tak mi to zas žíly netrhá.

Zajímavé vlastnosti

Základní navigace včetně Alt+Tab/Alt+;, které spolupracují i s myší, jsou již s Unity na podobně dobré úrovni (Unity bylo do 13.10 pozadu), v méně podstatných detailech vede o chlup GS. Subjektivně. Proberu jen některé rozdíly, které mě napadnou.

Vyhledávání a spouštění aplikací

Stejně jako v Unity, stisknete a pustíte klávesu Super a píšete pro vyhledání aplikace. Vyhledávání je dostatečně chytré, prohledávány jsou i popisy aplikací a výsledky jsou řazeny podle relevance s ohledem na statistiku používání. To znamená, že když napíšu O, bude první Opera, protože prostě nic, kde se vyskytuje O, častěji nepoužívám. Ne jako v Cinnamonu (i posledním 2.0), kde se Opera ani nedostane na první stránku výsledků. V této disciplíně je stále nejdál Unity se svým Dashem, který navíc nerozhází ani drobné překlepy, které uživatel při psaní udělá.

GS vždy ví, jaké aplikace již běží a i v případě, že spouštěč běžící aplikace vyhledáte v Aktivitách psaním, aktivace pouze přepne na její okno, nespouští vždy aplikaci znovu jako Dash v Unity. Můžete tedy i psaním přepínat mezi okny aplikací. Výjimkou je situace, kdy jména procesu a spouštěče jsou různá a za běhu dojde k restartu Shellu. To pak GS nemusí identifikovat spouštěč patřící k oknu a buď v systému najde odpovídající ikonu, nebo místo ní dá do doku miniaturu okna. Proto jsem si také přepsal jméno spouštěče Opery z opera-browser na opera, podobně je na tom Gimp 2.8. Chcete-li spustit další instanci, tak si podržíte klávesu Ctrl. A pokud se vám to nelíbí a chcete to opačně, tak je k mání patřičné rozšíření.

Kompaktní správa pracovního prostoru

Režim náhledu pracovního prostoru (Activities/Činnosti), dává komplexní přehled, kde můžete řešit jak okna, tak pracovní plochy a aplikace, včetně jejich vyhledávání. To je velmi pohodlné a přehledné, všechno na jediné klávese/zkratce. Overview režim s náhledem oken a pracovních ploch má pro mě jednu zásadní chybu a to je absence ovládání z klávesnice. Částečně to řeší dostupná rozšíření, ale jelikož byla všechna polovičatá, dopsal jsem si vlastní, které zahrnuje přepínání ploch a oken, která se dají klávesou i zavřít. Najdete ho dále v přehledu rozšíření.
V náhledu pracovní plochy se aktivní miniatury oken orámují linkou s křížkem pro jejich zavření, což zcela samozřejmě funguje na všechna okna bez rozdílu původu a přítomnosti titlebaru. Ne jako v Unity, kde v poslední verzi tvůrci dobastlili do pluginu pro náhled oken titlebar, kterým zaplácnou vrchní část miniatury okna a který se ovšem neobjeví, pokud okno žádný titlebar nemá. Nemluvě o konzistenci grafické, bez ohledu na téma dekorace oken.

Dynamické pracovní plochy

Další vynález, kterým GS trumfuje všechna ostatní prostředí, včetně Cinnamonu a KDE. Někdy mi stačí plocha jedna, někdy dvě, tři, čtyři, ale s GS to nemusím vůbec řešit. Prostě mám vždy jednu prázdnou plochu navíc k tomu co zrovna používám a když ji něčím zaplním, automaticky se doplní další. Když naopak nějaká pracovní plocha osiří, sama zmizí. Přetáhnete-li okno/spouštěč aplikace mezi náhledy dvou ploch, vytvoří se nová na tomto místě a okno/aplikace se do ní přemístí/spustí. Můžete tedy z doku (Dashe) přetahovat spouštěče na libovolné pracovní plochy a to i na ty, které ještě neexistují. Jsou bohužel i výjimky, např. Firefox se spouští vždy na aktuální pracovní ploše ať ho přetáhnete kamkoliv.

Práce na dvou monitorech

Ve výchozím nastavení se druhý monitor chová jako separátní pracovní plocha, která sice rozšiřuje tu stávající a okna se dají mezi monitory normálně přetahovat, mohou být i napůl na jednom a napůl na druhém (okno pak patří tam, kde je jeho větší část), ale je statická, přepínání pracovních ploch se jí netýká. Nejdřív mi to přišlo blbé, Unity to takhle nerozděluje, ale pak jsem si uvědomil, že mi to vyhovuje. Navíc se to dá v Tweak Tool přepnout, takže si můžete vybrat. Každopádně mám většinou na sekundárním monitoru prohlížeč s dokumentací, nově si tam můžu pustit třeba televizi, a na primárním něco tvořím, takže mi plně vyhovuje, že když si přepnu pracovní plochu, netýká se ho to. Ano, stačilo by si onu aplikaci připíchnout, ale když není jedna, ale dvě, tři, čtyři, je jasné, co je pohodlnější. Navíc je do panelu k dispozici rozšíření Display Profile Manager, které si umí zaznamenat libovolné konfigurace monitorů a následně mezi nimi přepínat. Sice si to řeším vlastním skriptem, protože ten mě po přepnutí neotravuje s dotazem, jestli je to v pořádku a má to tak nechat, ale v každém případě je to fajn záležitost.

Aktivní notifikace

Aktivní notifikace jsou fajné, především ve spojení s kecálkem, jako je Empathy. Když dorazí nová zpráva, zobrazí se x prvních znaků textu jako notifikace na spodní hraně obrazovky. V případě, že je uživatel neaktivní, notifikace drží na obrazovce, v opačném za pár sekund zmizí. Po najetí myší nad zobrazenou notifikaci příchozí zprávy, se tato automaticky expanduje, zobrazí i předešlou komunikaci a aktivuje se vstupní pole pro zadání textu odpovědi. Můžete tedy komunikovat bez přepínání na samotnou aplikaci. A když zrovna píšete a nemáte ruce na myši, jednoduše stisknete Super+N (případně později Super+M a odentrujete v liště zpráv ikonu dané notifikace) a dostanete to samé, co po najetí myší. Jinak můžete kliknutím do expandované notifikace aktivovat okno jejího původce.

Chatování přes notifikaci Empathy v GS 3.8

Klávesové zkratky

Doporučuji se podívat do nastavení systému > klávesnice > klávesové zkratky. Pár užitečných, které nejsou známé už z pravěku vyjmenuju:

Super+A - Nabídka aplikací
Super+M - Zobrazí/skryje lištu zpráv, kde se můžete pohybovat pomocí kurzorových kláves.
Super+N - Aktivuje právě zobrazovanou notifikaci, jako byste na ni klikli
Super+F10 - Aktivuje menu aplikace v panelu, kurzorovými klávesami se následně můžete pohybovat po celém panelu.
Shift+Ctrl+Alt+R - Spuštění/zastavení nahrávání desktopu do videa. Indikováno je vpravo dole červeným puntíkem a zeleným obdélníčkem. Výsledek ve formátu webm najdete ve složce Videa.
Super+šipka vlevo/vpravo - okno na celou levou/pravou polovinu obrazovky, druhý stisk vrací okno na původní velikost a oproti Unity i na stejné místo.
Ctrl+Super+šipka nahoru/dolu - maximalizace/demaximalizace okna

Rozšíření, která používám

GS v základu bohužel dokonalý není, ale dá se ještě o řád vylepšit rozšířeními, která vám ušetří plno zbytečných vstupů do náhledu aktivit v případě, že k navigaci používáte myš a přidají další praktické možnosti a doplňky. Záběr rozšíření GS se s tím co umožňuje Unity vůbec nedá srovnávat.

Titulek každého popisovaného rozšíření je klikací, vede přímo na příslušnou stránku extensions.gnome.org, nebo na mou recenzi.

GNOME Shell s rozšířeními Dash to dock a Workspaces to dock. Oba doky jsou schovávací.

Dash to dock

Toto rozšíření vám zpřístupní Dash bez nutnosti lézt do aktivit, můžete ho mít zobrazený trvale, nebo ho nechat schovávat a vyvolávat najetím k levému okraji obrazovky. Nabízí i tzv. intellihide mód, kdy se schovává jen pokud do prostoru, kde se zobrazuje, zasahuje nějaké okno.
Dash to dock má bohaté nastavení a tak vám umožní nejen nastavit si tlak (od verze 3.8, na Ubuntu až v 13.10) a časování pro zobrazování/schovávání, ale také možnost klikáním na ikonu aplikace cyklicky přepínat její okna, otáčením kolečka nad Dashem přepínat pracovní plochy, maximální velikost ikon (ty výchozí jsou fakt obří, když se vejdou) a další drobnosti.

Workspaces to dock

Po vzoru předchozího rozšíření vytahuje do doku náhled pracovních ploch, který se v režimu aktivit zobrazuje vpravo. Stačí mi najet s větší razancí na pravou hranu obrazovky abych si přepnul na libovolnou pracovní plochu, nebo pravým myšítkem přešel do náhledu celé plochy, tedy Aktivit. Pravým tlačítkem (pokud si to zapnete v nastavení) ale zobrazíte náhled vždy aktuální plochy, ne té, na kterou jste klikli. Je evidentní, že to autor bere jako separátní funkci, prostě pravý klik udělá to samé, co klávesa Super, nebo najetí do levého horního rohu. To mi přišlo hloupé, automaticky jsem očekával náhled plochy, na kterou kliknu. Podíval jsem se tedy do kódu a zjistil, že stačí posunout pár řádků, aby se to chovalo, jak očekávám. Tak to má být.
Workspaces to dock také do náhledu přidává plno zajímavých (volitelných) rozšíření, která vám navigaci ještě zefektivní. Například je možné si nechat pod náhledem každé pracovní plochy zobrazit takový mini taskbar, zobrazující ikony oken nacházejích se na dané ploše, což dává lepší přehled a zároveň možnost přepínat přímo na konkrétní okna. Viz předchozí screenshot. K nastavení toho je dost.
Bohužel toto rozšíření v současnosti trochu nabourá funkci přetahování oken a ikon aplikací do náhledu pracovních ploch v overview režimu Aktivit, protože ve chvíli, kdy pustíte tlačítko myši a pustíte objekt na plochu, opustí se současně Aktivity. Na druhou stranu, pokud máte i Dash to dock, můžete přetahovat spouštěče z Dashe na náhledy ploch přímo. Každopádně GS při přetahování spouštěče stejně přejde do režimu Aktivit, které po puštění myšítka zase opustí. Když tak nad tím přemýšlím, přestal jsem to považovat za chybu, je to vlastně fajn vlastnost! :)

system-monitor

Bez monitoru systému v panelu se prostě žít nedá. CPU, Net, Disky, teplota CPU mi stačí, má ale i další výbavu. Konfigurovatelnost výborná, jen mi po probuzení nějakou dobu ještě spí graf druhého jádra CPU (pokud mám graf globální pro všechna jádra, spí také).

Maximus

Maximalizované okno zbavuje dekorace, takže šetří místo a lépe to i vypadá.
Popravdě, stejnojmenné rozšíření již od verze GS 3.8 nefunguje, ale dá se nahradit editací xml souboru dekorace oken příslušného tématu vzhledu. V případě, že používáte výchozí Adwaita, můžete editaci zahájit z příkazového řádku následovně:

sudo -i gedit /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml

Pak je potřeba přepsat část začínající <frame_geometry name="max" následovně:

<frame_geometry name="max" has_title="false" title_scale="medium" parent="normal" rounded_top_left="false" rounded_top_right="false">
    <distance name="left_width" value="0" />
    <distance name="right_width" value="0" />
    <distance name="left_titlebar_edge" value="0"/>
    <distance name="right_titlebar_edge" value="0"/>
    <distance name="title_vertical_pad" value="0"/> <!--
                                     This needs to be 1 less then the
                                     title_vertical_pad on normal state
                                     or you'll have bigger buttons -->
    <border name="title_border" left="0" right="0" top="0" bottom="0"/>
    <border name="button_border" left="0" right="0" top="0" bottom="0"/>
    <distance name="bottom_height" value="0" />
</frame_geometry>

V podstatě všechno přepíšete na nulu a přidáte na první řádek has_title="false". Okno bez dekorace lze myší vždy chytit za oblast vpravo od jeho menu, ale zcela stejně funguje i neobsazená oblast systémového panelu - stačí podržet levé myšítko a táhnout dolů pro demaximalizaci okna.


AppIndicator support

Viz můj dřívější příspěvek, kde ho rozebírám. Umí zobrazovat indikátory z Unity (nejen) v horním panelu, přičemž transformuje i jejich menu do GS stylu. Například dropbox se hodí..

Overview keyboard navigation

Tohle je mé dílko, i když jsem ho samozřejmě nedělal od nuly, ale postavil na několika již hotových, které jsem vylepšil a doplnil. Základem je Workspace Navigator, který jen přepíná pracovní plochy v režimu Aktivit. K tomu jsem dopsal možnost cyklicky přepínat jednotlivá okna a kterékoliv zavřít. Takže šipky nahoru/dolu, nebo PgUp/PgDown přepínají pracovní plochy, doprava/doleva, nebo Tab okna, která je pak možné zavřít klávesou Delete.
Současně jsem implementoval funkčnost Overlay Followfocus. Máte tedy možnost přepínat okna stylem Super - ukázat na okno - Super. Ne, že by to bylo efektivnější, než rovnou kliknout tou myší, je to jen věc pocitu.
V budoucnosti přidám i podrobnější nastavení.

Toto rozšíření nainstalujete tak, že kliknutím na nadpis stáhnete soubor, který rozbalíte do adresáře:

~/.local/share/gnome-shell/extensions/

Pak spustíte gnome-tweak-tool (v češtině bude v aplikacích Pokročilá nastavení) a v sekci rozšíření si ho zapnete. Nebo to uděláte přímo přes web ze seznamu instalovaných rozšíření. Podporované jsou verze GS 3.8 a 3.10, které testuji na Fedoře 20, ale test na polovičatém 3.10 z ppa pro Ubuntu dobře nedopadl, klávesy nefunfovaly.

Activities Configurator

Umožní nastavit průhlednost a barvu panelu, zrušit jeho zaoblení, citlivost rohu pro vyvolání Aktivit, nebo jeho zakázání a další drobnosti týkající se panelu a tlačítka Aktivit. Když po jeho instalaci kliknete pravým myšítkem na tlačítko  Aktivities/Činnosti na panelu, vyvoláte přímo okno nastavení tohoto rozšíření, které vypadá následovně:

Nastavení rozšíření Activities Configurator

Search Recently Used Files

GS sice umí vyhledávat i ve filesystému díky trackeru, ale bohužel to patří mezi jednu z retardací portu pro Ubuntu, kde nenajdete ani hovnajs. Proto se může hodit toto rozšíření, které je schopno vyhledávat alespoň v tom, co jste již v GNOME otevřeli. Předpokládám, že limity jsou dané nastavením historie správce souborů (Nautilus alias Files). Bohužel neumí náhledy, které nativní file search umí. Jeden z důvodů vykašlat se na Ubuntu a hledat štěstí jinde..

Quicklists

Přidává spouštěčům aplikací do kontextového menu další položky, pokud je spouštěč obsahuje. Podporuje formát Ayatana (používá Unity), tak Freedesktop. Z kontextového menu spouštěče Rhythmboxu pak v Ubuntu můžete třeba spustit/zastavit přehrávání, či přeskočit na další stopu, Nautilus může nabídnout otevření přímo konkrétního Místa, nebo Záložky, na to má toto rozšíření zvlášť zaškrtávátka.

Places Status Indicator

Přístup k místům a záložkám správce souborů, včetně sítě, z panelu.

Shade Inactive Windows

Okna, která nesou aktivní ztmaví, takže se můžete lépe soustředit třeba na okno správce souborů, nad zářícím celoobrazovkovým oknem webového prohlížeče. Chybí tomu ještě možnost omezení funkce na primární monitor...

Applications Overview Tooltip

Při procházení aplikací v Aktivitách (přímá zkratka Super+A) můžete narazit na to, že se jméno spouštěče nevejde a tudíž se nezobrazí celé. To může být problém, pokud máte dva spouštěče skoro stejné, lišící se jen tím, co není vidět. Toto rozšíření zajistí, že pokud najedete myší nad takto postižený spouštěč, zobrazí se tooltip s celým jménem. Bohužel nefunguje na výsledky vyhledávání, to bude nutné ještě poladit..

Calculator

Počítá jednoduché aritmetické příklady, které zapíšete do vyhledávacího řádku. Na plus, mínus, krát, děleno, je to pohodlnější, než spouštět další aplikaci. Dokonce umí dávat přednost násobení a dělení.

GS 3.8 extension Calculator

appsearch

Přidá do aktivit vyhledávání v nenainstalovaných balících, takže je odtud můžete jednoduše doinstalovat. Unity to umí od základu a mně to vyhovuje, je to nejpohodlnější cesta k instalaci.

Applications Menu

Pokud by někomu chybělo klasické menu aplikací, je jich v nabídce rozšíření na výběr celá řada, od jednoduchých, po komplexnější s integrovaným vyhledáváním (které bohužel nikdy není tak chytré, jako to integrované).

Já jsem jako nejzdařilejší ocenil právě Applications Menu od gcampaxe, které je nejbližší klasice a současně je v základní instalaci GNOME Desktopu, protože je součástí GNOME Classic.


Závěr

Zkrátka je pro mě v současnosti GNOME Shell 3.8 nejlepší a nepohodlnější desktopové prostředí, jaké jsem našel. Navíc si nechá kecat defakto do všeho, což můj zájem výrazně zvyšuje. Navíc se neposere ani po čtyřiceti restartech, kdežto Unity zdechne nejpozději při čtvrtém kliknutí do CCSM. 3.8 na Ubuntu je spolehlivější, než nové 3.10 na Fedoře 20 (což je ovšem ještě alfa), které trpí více bugy a zatím nefunkčností nejméně jednoho rozšíření, které nejsem ochoten oželet. I tak, pokud už GNOME 3.10, tak ne na Ubuntu, to asi zas za půl roku. Uvidíme, jestli se nakonec nepřestěhuju k úplně jiné distribuci...

7 komentářů:

  1. Super, tuto stránku si dávám do oblíbených, až jednou přejdu z Mavericka ;) arrange

    OdpovědětVymazat
    Odpovědi
    1. Já ti to mezitim ještě dopíšu :) Když to dá HW a ovladače grafiky, tak je to fajn.

      Vymazat
  2. Děkuji za tento článek. gdhnotes není pro mě nový web, sleduji ho se zájmem už dlouho, ale tento článek pro mě znamená zlom. Včera jsem povýšil na 13.10 a dnes jsem vyzkoušel všechno co píšete výše a opouštím Unity. Od zrodu Unity jsem je užíval a pohlížel s despektem na všechny ty hlasy na fóru, které je odmítaly, ale teď souhlasím s nadpisem článku.
    Mám jediný problém, který asi souvisí s ovladačem grafiky a projevuje se i v Unity. Občas mi po přechodu do dashe zamrzne obrazovka a musím restartovat. Mám Nvidia GeForce 6200 Turbocache a nastavený ovladač X.Org X Server - Nouveau display driver. Asi bych měl nastavit (instalovat) Nvidia driver, ale sbírám k tomu odvahu, protože nevím jak se v případě neúspěchu vrátím zpátky.
    Zdravím!

    OdpovědětVymazat
    Odpovědi
    1. Díky za komentář! Nezbývá, než zkusit všechny dostupné ovladače, bohužel je to největší zabiják akcelerovaných prostředí. Nikdo není zvědavý na nějaké zamrzání, cukající se animace a přetížený CPU, když už to vůbec funguje. I mně systém kvůli grafice občas zatuhne nadobro, s proprietárním AMD a bez ohledu na to, zda používám Unity, nebo GS, naštěstí ale ne zas tak často. Musím přiznat i to, že Compiz je na všech mých systémech řádově efektivnější, než GS s Mutter, který se teprve v posledním půlroce dostal na použitelnou úroveň i na AMD. Ale momentálně jsem s GS opravdu spokojený a Unity nemá šanci. Je strašně lehké si zvyknout na lepší. Samozřejmě subjektivně :)

      Vymazat
    2. Zdravím!
      Když už jsem se tady svěřil se "zamrzáním" mé obrazovky, tak si dovoluji také s opatrným potěšením oznámit, že jsem doufám problém vyřešil nainstalováním ovladače Nvidia pomocí "sudo apt-get install nvidia-current". Už několik dní běží bez závad.
      Teď zcela odbočím. Před časem jsem objevil zajímavou webovou aplikaci phpMyFAQ (url 'http://www.phpmyfaq.de/'). Je i lokalizovaná do češtiny. Používám ji jako svoji "znalostní databázi", kterou průběžně doplňuji, viz url 'http://guid.jpretired.cz/subdom/guid/'. Možná Vás také zaujme (pokud ji už neznáte).

      Vymazat
    3. Taky zdravím. Tak ať Vám to vydrží, já mezitím dvakrát vytuhnul :)
      Za ten tip děkuju, neznal jsem, vím, že takové věci existují, ale zatím používám tento blog, jen některé záznamy nepublikuju. Vaše řešení je lepší, možná o tom zauvažuju...

      Vymazat
  3. Přidal jsem do článku ještě rozšížení Applications Menu a appsearch.

    OdpovědětVymazat

Zkuste prosím při komentováni používat místo volby Anonymní volbu Název/adresa URL, kde vyplníte nějakou přezdívku, adresu zadávat nemusíte. Vědět, které příspěvky jsou od jednoho člověka, je fajn. Díky.

Pokud by se vám náhodou odeslaný komentář na stránce nezobrazil, vytáhnu ho z koše hned jak si toho všimnu. I Google spam filter se občas sekne.