Opprette en rask og enkel GNOME 3-utvidelse

I etterkant av gårsdagens artikkel om å erstatte NetworkManager med wicd, ville du lagt merke til at det ikke var noen enkel måte å få tilgang til wicd-nettverksinnstillingene.

Et ikon i topppanelet vil fikse denne situasjonen, og for å komme dit er en GNOME 3-utvidelse nødvendig.

Det endelige resultatet er etter: vårt wicd-ikon er helt til venstre.

For å starte en ny utvidelse, kjør følgende kommando og svar på spørsmålene som vises; den uuid skal ha formatet til en e-postadresse, men ikke nødvendigvis være bundet til en.

gnome-shell-extension-tool --create-extension 

Når dette er fullført, vil verktøyet opprette en uuid navngitt mappe i ~ / .local / share / gnome-shell / extensions / og legge tre skjelettfiler der inne.

Den vi er interessert i er filtypen extensions.js --- for å få wicd-ikonet til å vises, må vi endre innholdet til:

 const StatusIconDispatcher = imports.ui.statusIconDispatcher; 

funksjon init (metadata) {

StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS 'wicd-client.py' = 'wicd-gtk';

}

For å aktivere den nye utvidelsen vår, må vi manipulere GNOMEs oppsett for hånd.

For å se hvilke utvidelser vi brukte:

 gsettings get org.gnome.shell enabled-extensions 

Legg nå utvidelsen din til i matrisen; for å angi bare vår nye utvidelse som aktivert, vil vi bruke:

 gsettings set org.gnome.shell enabled-extensions' ' 

For å få utvidelsen til å starte, må vi starte GNOME 3 på nytt, som gjøres ved å trykke Alt + F2 og skrive en "r" og trykke på retur.

Vindusdekorasjonen vil forsvinne, og når de dukker opp igjen, skulle vi se ikonet vårt på høyre side av topppanelet.

I tilfelle det ikke gjør det, er veien til feilsøking av utvidelser via Looking Glass, et innebygd verktøy i GNOME 3 som aktiveres via Alt + F2 og skriver "lg" på spørsmål. Ved å klikke på feilfanen vil det vises at vi mangler en aktiveringsfunksjon (denne feilen vises selv om ikonet gjør det).

For å rette opp denne feilen, hadde vi tomme aktivere og deaktivere stubber i filtypen extension.js:

 const StatusIconDispatcher = imports.ui.statusIconDispatcher; 

funksjon init (metadata) {

StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS 'wicd-client.py' = 'wicd-gtk';

}

funksjon aktivere () {

//ingenting å gjøre her

}

funksjon deaktivere () {

//ingenting å gjøre her

}

Og der har du det.

Dette er langt fra verdens største utvidelse, men det viser den grunnleggende strukturen for hvordan GNOME-utvidelser fungerer, og wicd-brukere har nå et ikon for å erstatte standard NetworkManager-ikonet på panelet.

© Copyright 2021 | pepebotifarra.com