Loome selle jaoks lihtsa apleti Cinnamon. Alustuseks peame seda teadma Cinnamon pakub erinevat tüüpi aplette:
- TextAplet (paneelil silt)
- IkoonApplet (paneelil kuvatakse ikoon)
- TextIconApplet (paneelil on märgitud nii ikoon kui ka silt)
- Aplett (hardcore-arendajatele, kes näitavad tühja kasti, mille saate ise täita)
Selles õpetuses tahame lihtsalt paneelil kuvada ikooni, nii et kasutame ikooni "IconApplet". Meie apleti programmeerimiseks Kaneel või päkapikk peame midagi teadma ja teadma Javascripti programmeerimisest
Meie koodi asukoht.
Kõigepealt vaatame meie faili asukohta. Meie apleti asukoht on antud järgmistel aadressidel:
/.local/share/cinnamon/applets
aastal /usr/share/cinnamon/applets
Failid, mis moodustavad meie apleti.
Jätkame applet.js määratlemist
Nüüd jätkame koodi nägemist applet.js ja selgitage kõiki selle lauseid:
applet.js koodi algus
Vaatame kõiki meie eelmise koodi lauseid
const Lang = import.lang; / * Käivitame Gtk ja Langi teegid, need on mis tahes GNOME-i rakenduse põhiosad, need võimaldavad meil luua aknaid, vidinaid ja linkida. * / Const Applet = imports.ui.applet; / * Kasutame Appleti teeki, mis võimaldab meil luua kaneeli ja Gnome'i jaoks apleti ning annab meile samal ajal selle omadused ja funktsioonid. * / Const GLib = imports.gi.GLib; / * GLib on abiraamatukogu, see võimaldab meil teha asju GNOME'is, näiteks öelda, kus asub hellognome.html fail, see on signaalide eest vastutav teek. * / Const Gettext = import.gettext.domain ('cinnamon-applets '); const _ = Gettext.gettext; // Gettext teek, mis võimaldab meil importida oma omadusi Cinnamoni töölauale. const PopupMenu = import.ui.popupMenu; / * PopupMenu on menüühalduri kasutamiseks mõeldud teek, see võimaldab meil käivitada hüpikmenüü vidina, mida tavaliselt kasutatakse aplettides. * / Funktsioon MyApplet (orientation) {this._init (orientation); }
Järgmisena määratleme oma apleti konstruktori, vaatame oma klassi või klassi:
Jätkame iga lause määratlemist
MyApplet.prototype = {__proto__: Applet.IconApplet.prototype, // Määratleme oma klassi või Class _init: funktsioon (orientatsioon) {Applet.IconApplet.prototype._init.call (see, orientatsioon); / * Määrasime orientatsiooni läbi kaneeli. Määrame, kas apleti paneel on üla- või alaosas (see mõjutab aplettide menüüde suunda). * / Proovige {// Tee midagi} Püüa kinni (e) {// Mis juhtub vea ilmnemisel} / * Kasutame rakendust try / catch, et tabada vead, mis meie apletis võivad ilmneda, ja veenduda, et see on kirjutatud ülemaailmsesse veakirja. Sel viisil näete klaasi vaatamisel viga, kui midagi valesti läheb: vajutage klahvi Alt F2, tippige "lg" ja klõpsake vahekaardil "vead". * / This.menuManager = new PopupMenu.PopupMenuManager (this) ; // Looge hüpikmenüü ja määrake menüühaldur this.menu = new Applet.AppletPopupMenu (see, suund); // loome menüü. this.menuManager.addMenu (see.menüü); // Lisame menüü hüpikmenüüsse. this.makeMenu (); // menuitem makeMenu, loome menuitemi nimega makeMenu. this.buildContextMenu (); // buildContextMenu, loome menuitemi nimega buildContextMenu. this.set_applet_icon_name ("kaust"); / * Loome apleti, see juhtum on ainulaadne, valitud ikooniks on kaust või kaust, soovi korral saame luua ka tekstiapleti.
Näiteks muutke "kausta" nimi "terminaliks", "dokitud" uute nimede loomiseks, vaadake Gnome'i või Kaneeli ikoonide nime või mõnda muud ikooniteemat, minge aadressile.
/usr/share/icons
this.set_applet_tooltip (_ ("Klõpsake siin akna tapmiseks")); // Püüdke kinni, et tabada meie apletis esineda võivaid vigu. saak (e) {global.logError (e); } makeMenu: function () {this.menu.addMenuItem (uus PopupMenu.PopupMenuItem ("Test-teade", {reaktiivne: true})); }, / * Määratleme menüü makeMenu nimi ja selle omadused. Sel juhul on silt Test Message ". Määratleme {reaktiivne: tõene}. Me tuvastame, et menüüemi taust muutub, kui osuti läheb menüüemi üle tõe kaudu, kui see on vale, juhtub vastupidine. * / BuildContextMenu: function () {this.menu .addMenuItem (uus PopupMenu.PopupMenuItem ("näita", {reaktiivne: tõsi}));}, // Määratleme menüü makeMenu nimi ja selle omadused. Sel juhul on silt "show". on_applet_clicked: function (sündmus) {this.menu.toggle ();} // apleti väljastatav signaal hüpikmenüü funktsiooni peamiseks kutsumiseks (metaandmed, suund) {let myApplet = new MyApplet (orientation); return myApplet;} / * Lõpuks , peame lihtsalt lisama funktsiooni "main", mis on tõenäoliselt igas apletis sama, luuakse meie apleti eksemplar ja tagastatakse see kaneelile. * / // Sulgeme loop return myApplet;
Jätkame metadata.jsoni määratlemist
"viimati muudetud": "1331990905", // Viimane väljaanne. "description": "Klõpsake apletti, et kuvada kohandatud isiklikult määratletud gtk menüü", // Apleti kirjeldus. "icon": "docky", // Apleti kirjelduses kasutatavad ikoonid. Näiteks muutke "dokitud" nime "terminal", "kaust". "uuid": "must" // Kaust, kuhu on lisatud meie metadata.jsoni fail "nimi": "Kohandatud gtk-menüü" // Apleti nimi.
Märkus: Uute nimede määramiseks vaadake Gnome'i või Kaneeli ikoonide nime või mõnda muud ikooniteemat, minge failisüsteemi aadressile.
/usr/share/icons
Loodud apleti pilt
Qt, Gtk, Vala ja muud keeled, mida kasutati kaneeli või Gnome'i apleti loomiseks
Vaatame meie kaneeli apleti asukohta
Meie apleti asukoht on antud järgmistel aadressidel:
/.local/share/cinnamon/applets
aastal
/usr/share/cinnamon/applets
Meie apleti koostis
Jätkame applet.js määratlemist
Koodi applet.js käivitamine
Applet.js lõpp
Nüüd vaatame koodi applet.js ja selgitame selle avaldusi.
Kirjutatud kood on praktiliselt sama mis eelmine Javascriptiga kirjutatud näide.
Ainult signaali on muudetud, mis kutsub meie automaatselt käivitatavat faili.
on_applet_clicked: funktsioon (sündmus) {GLib.spawn_command_line_async (GLib.get_home_dir () + '/.local/share/cinnamon/applets/Qt4/Qtmenu/Menu'); }
Meie automaatselt käivitatava faili saab kirjutada Qt, Gtk, Gtkmm, wxWidget, Vala jne abil. keeled, millega saab ise käivitatavaid faile luua. Meie automaatselt käivitatavat faili nimetatakse menüüks ja see asub kaustas Qtmenu.
Saame kasutada ka teisi programmeerimiskeeli, millel on Gtk jaoks sidemed, näiteks PyGTK, Ruby Gtk, Perl Gtk jne. mida saab kasutada skripti abil nendes keeltes kirjutatud koodi täitmiseks. Põhimõte on alati sama, kui helistada programmidele, luua hüpikmenüü ja hüpikaken vastavalt meie vajadustele.
Vaatame Qt-ga kirjutatud meie automaatselt käivitatava faili koodi
Jätkame metadata.jsoni määratlemist
Kood kirjutatakse samamoodi nagu eelmine näide
Qt-ga loodud apleti pilt
Rakendusega Gtk 3.10 loodud apleti pilt
Siin on väike näide apletist, mis kasutab Gtk-s kirjutatud käivitatavat faili. Sel juhul võtame OpenBoxis kasutatava menüü myGtkMenu.
See on isetäituv menüü.
Laadige alla juhendaja ja näited
Huvitav artikkel ...
Aitäh . Minu asi on see, et me õpime iga päev natuke.
Väga hea, mulle meeldib see, ma tahtsin alati teada, kuidas selliseid apleti tehti
Väike parandus. Gettext pole midagi kaneeli spetsiifilist, nagu artiklis öeldakse, see on raamatukogu, mis võimaldab automaatseid ja mallide tõlkeid.
Väga hea õpetus ja kõik see, kuid oluline asi, mida te seda ei pannud: link tapeedile?
Laadige alla Linux Mint 16 Petra taustapildid.
Pakendi nimi on mint-backgrounds-petra: http://packages.linuxmint.com/list.php?release=Petra
Väga huvitav artikkel. Tõde on see, et ma olin alati mõelnud, kuidas need apletid loodi. Võib-olla soovitatakse mul luua MPD-le vms mini-mängija aplet.
Täname jagamise eest!
Suurepärane, ma mõtlen välja, kuidas kaneeli nm-appletti (võrguhaldurit) muuta, nii et see muudab värvi, kui mul pole Interneti-ühendust (mul on wifi-kaart), ja see aitab mul orienteeruda natuke.
No Marian, ma ei teadnud, et sa siia postitad. Tervitades.
Kuidas läheb, Matute ... .. Kõnnin alati mööda neid osi. Terviseks
Hea artikkel.
faili ei leitud, deaktiveeriti autoriõiguste rikkumise tõttu.
Pean silmas seda, et kui teil see olemas on, kas saate selle uuesti üles laadida ???. Palun.
aitäh.