Sizokwenzela i-applet elula ye- I-Cinnamon. Ukuqala, kufanele sikwazi lokho I-Cinnamon inikeza izinhlobo ezahlukene zama-applet:
- UmbhaloApplet (kukhombisa ilebula kuphaneli)
- IconApplet (kukhombisa isithonjana kuphaneli)
- UmbhaloIconApplet (okukhombisa kokubili isithonjana nelebula kuphaneli)
- I-Applet (konjiniyela be-hardcore, abakhombisa ibhokisi elingenalutho ungazigcwalisa)
Kulesi sifundo, simane nje sifuna ukubonisa isithonjana kuphaneli, ngakho-ke sizosebenzisa i- "IconApplet". Ukuze uhlele i-applet yethu ku- Isinamoni noma iGnome sidinga ukwazi nokwazi okuthile ngohlelo lweJavascript
Indawo yekhodi yethu.
Okokuqala, ake sibheke indawo efayela lethu. Indawo ye-applet yethu inikezwa kulawa makheli alandelayo:
/.local/share/cinnamon/applets
noma ku /usr/share/cinnamon/applets
Amafayela akha i-Applet yethu.
Siyaqhubeka nokuchaza i-applet.js
Manje ake siqhubeke ukubona ikhodi ye applet.js bese uchaza umusho ngamunye.
applet.js qala
Ake sibone umusho ngamunye wekhodi yethu yangaphambilini
const Lang = ukungenisa.lang; / * Sinxusa imitapo yolwazi ye-Gtk neLang, iyingxenye eyisisekelo yanoma yiluphi uhlelo lwe-GNOME, isivumela ukuthi sakhe amawindi, amawijethi futhi siwaxhumanise. * / Const Applet = imports.ui.applet; / * Sinxusa umtapo wezincwadi we-Applet osivumela ukuthi sakhe i-applet yeCinnamon neGnome futhi ngasikhathi sinye isinikeza izakhiwo nemisebenzi yayo. * / Const GLib = imports.gi.GLib; / * I-GLib iwumtapo wolwazi osisizayo, isivumela ukuthi senze izinto kwi-GNOME, ngokwesibonelo yisho ukuthi ifayili le- hellognome.html likuphi, ngumtapo wezincwadi ophethe amasiginali. -applets '); const _ = Ukuthola umbhalo.gettext; Umtapo wolwazi we // Gettext esivumela ukuthi singenise izici zedeskithophu yeCinnamon. i-const PopupMenu = ukungenisa.ui.popupMenu; / * I-PopupMenu ilabhulali yokusebenzisa imenenja yemenyu, isivumela ukuthi sicele iwijethi yemenyu yokuzivelelayo evame ukusetshenziswa kuma-applet. * / Umsebenzi MyApplet (umumo) {this._init (orientation); }
Umakhi we-applet yethu uchazwe ngezansi, ake sibheke isigaba sethu noma isigaba sethu:
Siyaqhubeka nencazelo yomusho ngamunye
MyApplet.prototype = {__proto__: Applet.IconApplet.prototype, // Sichaza Class yethu noma Class _init: function (orientation) {Applet.IconApplet.prototype._init.call (this, orientation); / * Setha ukuma ngeCinnamon. Sibeka ukuthi ngabe iphaneli ye-applet ingaphezulu noma ezansi (lokhu kunomthelela ekuqondisweni kwamamenyu we-applet). * / Zama {// Yenza okuthile} Catch (e) {// Kwenzekani uma kwenzeka iphutha } / * Sisebenzisa i-try / catch ukubamba noma imaphi amaphutha angenzeka ku-applet yethu futhi siqiniseke ukuthi ibhalwe ku-log yephutha lomhlaba. Ngale ndlela, uma kukhona okungahambi kahle, ungabona iphutha ku-Looking Glass: Cindezela ku-Alt F2, thayipha "lg" bese uchofoza kuthebhu "yamaphutha". * / This.menuManager = new PopupMenu.PopupMenuManager (lokhu); // Dala imenyu ezivelelayo bese usetha imenenja yemenyu ku- this.menu = new Applet.AppletPopupMenu (this, orientation); // sakha imenyu. le.menuManager.addMenu (le.menu); // Sengeza imenyu ku-popup-menu. lokhu.makeMenu (); // menuitem makeMenu, sakha i-menuitem ebizwa ngokuthi i-makeMenu. lokhu.buildContextMenu (); // buildContextMenu, sakha i-menuitem ebizwa nge-buildContextMenu. this.set_applet_icon_name ("ifolda"); / * Sakha i-applet, leli cala lihlukile, isithonjana esikhethiwe yifolda noma ifolda, futhi singasungula i-applet yombhalo uma sifuna. * /
Njengesibonelo shintsha igama le- "folda" libe yi- "terminal", "docky" ukusungula amagama amasha abone igama lezithonjana ze-Gnome noma zeCinnamon noma enye ingqikithi yesithonjana, iya ekhelini.
/usr/share/icons
this.set_applet_tooltip (_ ("Chofoza lapha ukubulala iwindi")); // Ukubamba ukubamba noma yimaphi amaphutha angavela ku-applet yethu. bamba (e) {global.logError (e); } i-makeMenu: function () {this.menu.addMenuItem (new PopupMenu.PopupMenuItem ("Test Message", {reactive: true})); }, / * Sichaza igama le-makeMenu menuitem nezici zayo. Kulokhu ilebula linguMlayezo Wokuhlola ". Sizochaza okuthi {kuyasebenza: kuyiqiniso} Sithola ukuthi ingemuva le-menuitem lizoshintsha lapho i-pointer idlula ku-menuitem idlula kuyiqiniso uma kungamanga kwenzeka okuphambene nalokho. () {this.menu .addMenuItem (new PopupMenu.PopupMenuItem ("show", {reactive: true}));}, // Sichaza igama le-menMenu ye-makeMenu nezici zayo. Kulesi simo ilebula ngu "show ". on_applet_clicked: function (event) {this.menu.toggle ();} // Signal ekhishwe yi-applet, ukubiza i-popup-menu function main (imethadatha, ukuma) {let myApplet = new MyApplet (orientation); return myApplet;} / * Ekugcineni, kufanele nje sengeze umsebenzi "oyinhloko", okungenzeka ufane ku-applet ngayinye, isibonelo se-applet yethu siyakhiwa bese sibuyiselwa kuCinnamon. * / // Sivala i-loop Return i-myApplet;
Siqhubeka nokuchaza imethadatha.json
"ihlelwe okokugcina": "1331990905", // Uhlelo lokugcina. "description": "Chofoza ku-applet ukukhombisa imenyu ye-gtk yangokwezifiso uqobo", // Incazelo ye-Applet. "icon": "docky", // Izithonjana ezisetshenziselwe incazelo ye-applet. Njengesibonelo shintsha igama le- "docky" libe yi- "terminal", "ifolda". "uuid": "black" // Ifolda lapho kufakwa khona ifayela lethu lemethadatha.json "igama": "Imenyu yangokwezifiso ze-gtk" // igama le-Applet.
Nota: Ukusetha amagama amasha bheka igama lezithonjana ze-Gnome noma zeCinnamon noma enye ingqikithi yesithonjana, iya kukheli lezinhlelo zefayela.
/usr/share/icons
Isithombe se-Applet eyenziwe
I-Qt, Gtk, Vala nezinye izilimi ezisetshenziselwa ukudala i-applet yeCinnamon noma iGnome
Ake sibone indawo ye-applet yethu yeCinnamon
Indawo ye-applet yethu inikezwa kulawa makheli alandelayo:
/.local/share/cinnamon/applets
noma ku
/usr/share/cinnamon/applets
Ukwakhiwa kwe-applet yethu
Siyaqhubeka nokuchaza i-applet.js
Ukuqala ikhodi ye-applet.js
Ukuphela kwe-applet
Manje ake siqhubeke ukubona ikhodi ye-applet.js bese sichaza izitatimende zayo.
Ikhodi ebhaliwe icishe ifane nesibonelo sangaphambilini esibhalwe ngeJavascript.
Isiginali kuphela eshintshiwe, ezobiza ukuthi sisebenziseka ngokuzenzakalela.
on_applet_clicked: function (event) {GLib.spawn_command_line_async (GLib.get_home_dir () + '/.local/share/cinnamon/applets/Qt4/Qtmenu/Menu'); }
Okwenzeka ngokuzenzakalela kungabhalwa nge-Qt, Gtk, Gtkmm, wxWidget, Vala, njll. izilimi ezingasetshenziswa okuzisebenzelayo. Okwenzeka ngokuzenzakalela kubizwa Imenyu futhi kufolda ye-Qtmenu.
Futhi singasebenzisa ezinye izilimi ezihlelayo ezinezibopho ze-Gtk kunjalo ngePyGTK, Ruby Gtk, Perl Gtk, njll. engasetshenziswa kusetshenziswa umbhalo ukwenza ikhodi ebhalwe ngalezo zilimi. Umgomo uhlala ufana ukushaya izinhlelo, ukudala i-popup-menu ne-popup-window ngokwezidingo zethu.
Ake sibone ikhodi yethu engazenzakalela ebhalwe nge-Qt
Siqhubeka nokuchaza imethadatha.json
Ikhodi ibhalwe ngendlela efanayo nesibonelo esedlule
Isithombe se-Applet sidalwe nge-Qt
Isithombe se-Applet esenziwe nge-Gtk 3.10
Ngikushiya isibonelo esincane se-applet esisebenzisa okubhaliwe ku-Gtk, kulokhu sithatha imenyu ye-myGtkMenu esetshenziswe ku-OpenBox.
Kuyimenyu yokuzenzela.
I-Article ethokozisayo ...
Ngiyabonga . Okwami ukuthi sifunda kancane nsuku zonke.
Kuhle kakhulu, ngiyayithanda, bengihlala ngifuna ukwazi ukuthi zenziwa kanjani lezi zinhlobo zama-applet
Ukulungiswa okuncane. IGettext ayisho lutho kuCinnamon njengoba isho endatshaneni, ilabhulali eyenza ukuhumusha okuzenzakalelayo kwenzeke futhi kusuka kuzifanekiso.
Isifundo esihle kakhulu nakho konke lokho kepha into ebalulekile ayikubekanga: isixhumanisi sangemuva?
Landa amaphephadonga weLinux Mint 16 Petra.
Iphakheji ibizwa ngokuthi i-mint-backgrounds-petra: http://packages.linuxmint.com/list.php?release=Petra
I-athikili ethakazelisa kakhulu. Iqiniso ukuthi bengilokhu ngizibuza ukuthi la ma-applet enziwa kanjani. Mhlawumbe ngikhuthazwa ukudala i-applet yomdlali omncane we-MPD noma okunye okufana nalokho.
Siyabonga ngokukwabelana!
Kuhle kakhulu, ngicabanga nje ukuthi ngingayiguqula kanjani i-cinnamon nm-applet (umphathi wenethiwekhi), ukuze iguqule umbala lapho ngingenakho ukufinyelela kwe-inthanethi, (nginekhadi le-wifi), futhi lokhu kungisiza ukuba ngiziqonde kancane.
Hhayi lapho uMarian, bengingazi ukuthi uthumela lapha. Ozithobayo.
Njengoba uhamba, iMatute… .. ngihlala ngihambahamba kulezi zingxenye. Mayelana
I-athikili enhle.
ifayela alitholakalanga lenziwe langasebenzi ngenxa yokwephula i-copyright.
Engiqonde ukukusho ukuthi uma unayo lapho, ungaphinda uyilayishe ???. Ngiyacela.
Ngiyabonga.