Mēs gatavojamies izveidot vienkāršu sīklietotni Kanēlis. Lai sāktu, mums tas ir jāzina Kanēlis piedāvā dažāda veida sīklietotnes:
- Text Applet (uz paneļa parādot etiķeti)
- IconApplet (panelī redzama ikona)
- TextIconApplet (panelī norāda gan ikonu, gan etiķeti)
- Applet (nopietniem izstrādātājiem, kuri parāda tukšu lodziņu, kuru varat aizpildīt pats)
Šajā apmācībā mēs vienkārši vēlamies panelī parādīt ikonu, tāpēc mēs izmantosim "IconApplet". Lai programmētu mūsu sīklietotni Kanēlis vai rūķis mums jāzina un jāzina daži Javascript programmējumi
Mūsu koda atrašanās vieta.
Pirmkārt, apskatīsim mūsu faila atrašanās vietu. Mūsu sīklietotnes atrašanās vieta ir norādīta uz šādām adresēm:
/.local/share/cinnamon/applets
o lv /usr/share/cinnamon/applets
Faili, kas veido mūsu sīklietotni.
Mēs turpinām definēt applet.js
Tagad turpināsim skatīt kodu applet.js un izskaidrojiet katru tā teikumu:
applet.js koda sākums
Apskatīsim katru no mūsu iepriekšējā koda teikumiem
const Lang = imports.lang; / * Mēs izsaucam Gtk un Lang bibliotēkas, tās ir jebkuras GNOME lietojumprogrammas pamatdaļa, tās ļauj mums izveidot logus, logrīkus un tos sasaistīt. * / Const Applet = imports.ui.applet; / * Mēs izsaucam sīklietotņu bibliotēku, kas ļauj mums izveidot sīklietu kanēlim un Gnome un tajā pašā laikā dod mums tā īpašības un funkcijas. * / Const GLib = imports.gi.GLib; / * GLib ir palīga bibliotēka, tā ļauj mums darīt lietas GNOME, piemēram, pateikt, kur atrodas hellognome.html fails, tā ir bibliotēka, kas atbild par signāliem. * / Const Gettext = imports.gettext.domain ('kanēlis -apleti '); const _ = Gettext.gettext; // Gettext bibliotēka, kas ļauj mums importēt Cinnamon darbvirsmas īpašības. const PopupMenu = imports.ui.popupMenu; / * PopupMenu ir bibliotēka, kas izmanto izvēlņu pārvaldnieku, ļauj mums izsaukt uznirstošo izvēlņu logrīku, ko parasti izmanto sīklietotnēs. * / Funkcija MyApplet (orientācija) {this._init (orientācija); }
Mūsu sīklietotnes konstruktors ir definēts zemāk, apskatīsim mūsu klasi vai klasi:
Turpinām ar katra teikuma definīciju
MyApplet.prototype = {__proto__: Applet.IconApplet.prototype, // Mēs definējam mūsu klasi vai Class _init: funkcija (orientācija) {Applet.IconApplet.prototype._init.call (tas, orientācija); / * Mēs iestatījām orientāciju caur Kanēli. Mēs iestatām, vai sīklietotnes panelis atrodas augšpusē vai apakšā (tas ietekmē sīklietotņu izvēlņu orientāciju). * / Izmēģiniet {// Darīt kaut ko} Noķert (e) {// Kas notiek, ja rodas kļūda } / * Mēs izmantojam try / catch, lai uztvertu visas kļūdas, kas var rasties mūsu sīklietotnē, un pārliecinātos, ka tās ir ierakstītas globālajā kļūdu žurnālā. Tādā veidā, ja kaut kas noiet greizi, jūs varat redzēt kļūdu stiklā Looking: nospiediet Alt F2, ierakstiet “lg” un noklikšķiniet uz cilnes “kļūdas”. * / This.menuManager = new PopupMenu.PopupMenuManager (this); // Izveidojiet uznirstošo izvēlni un iestatiet izvēlņu pārvaldnieku this.menu = new Applet.AppletPopupMenu (tas, orientācija); // mēs izveidojam izvēlni. this.menuManager.addMenu (this.menu); // Mēs pievienojam izvēlni uznirstošajai izvēlnei. this.makeMenu (); // menuitem makeMenu, mēs izveidojam menuitem ar nosaukumu makeMenu. this.buildContextMenu (); // buildContextMenu, mēs izveidojam izvēlni ar nosaukumu buildContextMenu. this.set_applet_icon_name ("mape"); / * Mēs izveidojam sīklietotni, šis gadījums ir unikāls, izvēlētā ikona ir mape vai mape, mēs arī varam izveidot teksta sīklietotni.
Kā piemēru nomainiet "mapes" nosaukumu uz "termināls", "dokstacija", lai izveidotu jaunus nosaukumus, skatiet Gnome vai Kanēļa ikonu nosaukumu vai jebkuru citu ikonu motīvu, dodieties uz adresi.
/usr/share/icons
this.set_applet_tooltip (_ ("Noklikšķiniet šeit, lai nogalinātu logu")); // Catch, lai noķertu visas kļūdas, kas var rasties mūsu sīklietotnē. nozveja (e) {global.logError (e); } makeMenu: function () {this.menu.addMenuItem (jauns PopupMenu.PopupMenuItem ("Testa ziņojums", {reaktīvs: patiess})); }, / * Mēs definējam makeMenu izvēlnes nosaukumu un tā īpašības. Šajā gadījumā etiķete ir Testa ziņojums ". Mēs definēsim {reaktīvs: patiess}. Mēs noteiksim, ka menuitēma fons mainīsies, kad rādītājs iet cauri menuitēmam caur true, ja tas ir nepareizs, notiek pretējais. * / BuildContextMenu: function () {this.menu .addMenuItem (new PopupMenu.PopupMenuItem ("show", {reactive: true}));}, // Mēs definējam makeMenu izvēlnes nosaukumu un tā īpašības. Šajā gadījumā etiķete ir "show ". on_applet_clicked: function (event) {this.menu.toggle ();} // Apleta izstarotais signāls, lai izsauktu uznirstošās izvēlnes funkciju main (metadati, orientācija) {let myApplet = new MyApplet (orientācija); return myApplet;} / * Visbeidzot, mums vienkārši jāpievieno funkcija "main", kas, iespējams, katrā sīklietotnē ir vienāda, tiek izveidots mūsu sīklietotnes eksemplārs un tas tiek atgriezts kanēlī. myApplet;
Mēs turpinām definēt metadata.json
"last-edited": "1331990905", // Pēdējais izdevums. "description": "Noklikšķiniet uz sīklietotnes, lai parādītu pielāgotu personīgi definētu gtk izvēlni", // Sīklietotnes apraksts. "icon": "docky", // Ikonas, kas tiek izmantotas sīklietotnes aprakstā. Kā piemēru nomainiet "docky" nosaukumu uz "terminal", "folder". "uuid": "black" // Mape, kurā ir iekļauts mūsu metadata.json fails "name": "Custom gtk menu" // Applet name.
Piezīme: Lai iestatītu jaunus nosaukumus, skatiet Gnome vai Cinnamon ikonu nosaukumu vai jebkuru citu ikonu motīvu, dodieties uz failu sistēmu adresi.
/usr/share/icons
Izveidots sīklietotnes attēls
Qt, Gtk, Vala un citas valodas, ko izmantoja, lai izveidotu sīklietu kanēlim vai rūķim
Apskatīsim mūsu kanēļa Cinnamon atrašanās vietu
Mūsu sīklietotnes atrašanās vieta ir norādīta uz šādām adresēm:
/.local/share/cinnamon/applets
o lv
/usr/share/cinnamon/applets
Mūsu sīklietotnes sastāvs
Mēs turpinām definēt applet.js
Tiek palaista programma applet.js
Applet.js beigas
Tagad turpināsim aplūkot kodu applet.js un izskaidrot tā paziņojumus.
Rakstītais kods ir praktiski tāds pats kā iepriekšējais piemērs, kas rakstīts ar Javascript.
Ir mainīts tikai signāls, kas izsauks mūsu automātiski izpildāmo failu.
on_applet_clicked: funkcija (notikums) {GLib.spawn_command_line_async (GLib.get_home_dir () + '/.local/share/cinnamon/applets/Qt4/Qtmenu/Menu'); }
Mūsu automātiski izpildāmo failu var rakstīt ar Qt, Gtk, Gtkmm, wxWidget, Vala utt. valodas, ar kurām var izveidot pašizpildāmus failus. Mūsu automātiski izpildāmo failu sauc par Menu, un tas atrodas mapē Qtmenu.
Mēs varam izmantot arī citas programmēšanas valodas, kurām ir saites Gtk, piemēram, PyGTK, Ruby Gtk, Perl Gtk utt. ko var izmantot, izmantojot skriptu, lai izpildītu šajās valodās rakstīto kodu. Princips vienmēr ir vienāds, lai izsauktu programmas, izveidotu uznirstošo izvēlni un uznirstošo logu atbilstoši mūsu vajadzībām.
Apskatīsim mūsu automātiski izpildāmā faila kodu, kas rakstīts ar Qt
Mēs turpinām definēt metadata.json
Kods tiek rakstīts tāpat kā iepriekšējais piemērs
Applet attēls, kas izveidots ar Qt
Applet attēls, kas izveidots ar Gtk 3.10
Es jums atstāju nelielu sīklietotnes piemēru, kas izmanto izpildāmo failu, kas rakstīts Gtk, šajā gadījumā mēs izmantojam izvēlni myGtkMenu, kas izmantota OpenBox.
Tā ir pašizpildoša izvēlne.
Lejupielādējiet apmācību un piemērus
Interesants raksts ...
Paldies . Mans ir tas, ka mēs katru dienu mazliet mācāmies.
Ļoti labi, man tas patīk, es vienmēr gribēju uzzināt, kā tika izgatavoti šāda veida sīklietotnes
Neliels labojums. Gettext nav nekas īpašs kanēlim, kā teikts rakstā, tā ir bibliotēka, kas ļauj veikt automātiskus tulkojumus un no veidnēm.
Ļoti laba apmācība un viss tas, bet svarīgi, ko jūs to neievietojāt: saite uz fonu?
Lejupielādējiet Linux Mint 16 Petra tapetes.
Iepakojumu sauc par piparmētru-fonu-petru: http://packages.linuxmint.com/list.php?release=Petra
Ļoti interesants raksts. Patiesība ir tāda, ka es vienmēr biju domājusi, kā tika izveidoti šie sīklietotnes. Varbūt mani mudina izveidot mini atskaņotāja sīklietotni MPD vai tamlīdzīgi.
Paldies, ka dalījāties!
Lieliski, es tikai izdomāju, kā modificēt kanēļa nm-sīklietotni (tīkla pārvaldnieku), lai tā mainītu krāsu, kad man nav piekļuves internetam (man ir wifi karte), un tas man palīdz nedaudz orientēties.
Nu tur Marian, es nezināju, ka jūs šeit ievietojat. Sveicieni.
Ejot, Matute ... .. Es vienmēr staigāju pa šīm daļām. Priekā
Labs raksts.
fails nav atrasts, tika deaktivizēts autortiesību pārkāpuma dēļ.
Es domāju, ka, ja jums tas ir, vai varat to augšupielādēt vēlreiz ???. Lūdzu.
Paldies.