GNOME 3 reprezintă o tranziție de calitate în înțelegerea tradițională a mediului desktop. GNOME Shell este una dintre componentele cheie ale GNOME, acest element oferă funcțiile de bază ale interfeței: comutarea între ferestre, lansarea aplicațiilor etc. În plus, furnizează și componente cum ar fi panoul, fereastra de ansamblu și panoul de mesaje.
Acest tutorial arată cum se creează o extensie LUD Volume Control Extender pentru a controla volumul unei cravate. Veți vedea cum puteți schimba interfața de bază GNOME fără riscul deteriorării sistemului.
Exemplu de extensie extensie LUM Volume Controller utilizează codul din proiectul AdvancedVolumeMixer
Cerințe de sistem
O distribuție Linux mai mult sau mai puțin modernă cu mediul GNOME 3.2 sau mai recent
Integrarea modulelor cu shell-ul GNOME
Pasul 1: Configurați mediul
În primul rând, trebuie să pregătiți mediul de dezvoltare. Exemplul de mai sus funcționează în versiunea 3.6 a GNOME, dar poate funcționa atât în versiuni mai vechi, cât și în versiuni mai noi. Poate că, pentru compatibilitatea cu aceste versiuni va trebui să corecteze codul un pic.
Instalați următoarele pachete:
Instalarea pachetului gnome-shell-extensions va asigura că sistemul dvs. este potrivit pentru dezvoltarea modulelor GNOME Shell.
Cu ajutorul pachetului gnome-tweak-tool, puteți modifica setările de sistem care nu sunt disponibile prin Centrul de control GNOME. Acest pachet nu trebuie să fie instalat, dar poate fi util pentru gestionarea extensiilor.
Dacă utilizați Ubuntu, conectați repositoarea ppa: gnome3-team / gnome3 și instalați pachetele de mai sus:
Dacă aveți o altă distribuție, consultați documentația pentru pachetul de distribuție.
Pasul 2: Creați o extensie
Pachetul GNOME Shell include instrumentul gnome-shell-extension-tool. Acest instrument este folosit pentru a crea extensii:
Programul vă va solicita să introduceți informații despre extensie:
Extensia terminată va fi creată în directorul $ HOME / .local / share / gnome-shell / extensions / LUDVolCtrlExt @ kunaldeo. gmail.com
Extensiile la nivel de sistem sunt stocate în directorul / usr / share / gnome-shell / extensions.
Pasul 3. Lansați extensia creată
Extensia creată este ceva asemănător aplicației clasice "Hello world!". Să încercăm să o executăm. Pentru aceasta, reporniți shell-ul GNOME. Apăsați Alt + F2, apoi introduceți "r" în consola și apăsați Enter. Veți observa o pictogramă mică a uneltelor care apare pe panou. Dacă faceți clic pe acesta, va apărea "Hello World" în centrul ecranului.
Puteți, de asemenea, să activați extensia utilizând instrumentul GNOME Tweak:
Accesați secțiunea Explicații Shell. În lista de extensii disponibile, ar trebui să apară LUD Volume Control Extender.
După lansarea extensiei, pe panou apare pictograma reprezentând uneltele. Dacă faceți clic pe această pictogramă, Hello, World! Apare pe ecran și dispare ușor.
Pasul 4. Dispozitiv de expansiune internă
Acum, să vedem ce se află în extensie. Fișierul metadata.json conține metadate de extensie, include informații despre compatibilitatea cu o versiune specifică a GNOME Shell, UUID, numele și descrierea extensiei.
Fișierul stylesheet.css conține o extensie de foi de stil cascadă (CSS) care este responsabilă pentru apariția extensiei.
Pasul 5. Continuați călătoria
Extensia procesului prezintă o serie de funcții de extensie foarte importante, de exemplu, plasarea unei pictograme în panou, procesarea intrării de taste și afișarea mesajului.
Înainte de a continua, să aruncăm o privire la extensia de bază din nou.
extension.js începe cu următoarele instrucțiuni:
Următoarea intrare de import, ui, se referă la interfața cu utilizatorul. În acest caz, folosim principalele și tweenerul. Tweener este o clasă folosită pentru a crea tweenings și alte tranziții folosind ActionScript.
Următorul cod creează un container simplu, cu un actor.
Instalați pictograma pentru container:
Setați dispozitivul de tratare a evenimentului pentru clic pe buton:
Acum, să aruncăm o privire la managerul evenimentului:
După cum sa menționat deja, stilul de text este definit în fișierul stylesheet.css:
Pasul 6. Configurarea bibliotecilor
Ne-am familiarizat cu elementele de bază ale creării unei extensii, acum este momentul să creăm extensia noastră pentru ajustarea sunetului.
Să începem cu biblioteca Clutter:
Apoi, importăm biblioteca de gestionare a sunetului GNOME:
Standard widget-uri GNOME:
Adăugați abilitatea de a utiliza meniul pop-up:
Pasul 7. Construiți interfața
În loc să creați propriul control al sunetului, vom folosi elementul furnizat de GNOME Shell. Vom folosi aceeași pictogramă și, în cea mai mare parte, vom salva funcționalitatea existentă.
Creați un meniu pop-up:
Apoi, reconstruiește comutatorul:
Următorul container conține elemente de interfață utilizator diferite pentru noul controler:
Pasul 8. Configurați mixerul audio și fluxurile audio
În acest pas, vom configura mixerul și fluxurile audio:
Pasul 9. Activarea sau dezactivarea extensiei
În funcția de activare, vom crea un obiect al clasei AdvMixer, plasându-l în panoul unde este localizat controlul volumului sonor.
Etapa 10. Extinderea în acțiune
După efectuarea modificărilor în fișierul extension.js, apăsați Alt + F2, tastați "r" și apăsați Enter pentru a reporni shell-ul GNOME.
Pe panou nu ar trebui să apară pictograme noi. Faceți clic pe pictograma volumului sonor și veți vedea modificările pe care le-am făcut: apare o săgeată mică, pe care puteți comuta între diferite dispozitive de ieșire audio (dacă acestea sunt disponibile). Acum puteți vedea ce aplicații utilizează ieșirea audio, puteți să dezactivați sunetul pentru aplicații individuale folosind comutatorul.
concluzie
Aparent, extensia scrisă a făcut schimbări notabile în shell-ul GNOME. Este mai mult ca nu o extensie, dar ceva care este deja încorporat în GNOME. Aceasta este comoditatea GNOME Shell. Când a ieșit GNOME 3, mulți oameni nu-i plăceau, dar le plăcea simplitatea și flexibilitatea. Extensiile shell-ului GNOME vă permit să mențineți sănătatea globală a sistemului, împreună cu ușurința adăugării unei modificări în shell-ul GNOME.