Isifundo Esincane: Ukwenza ama-Applets weCinnamon

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

I-Cinnamon_Applet

Amafayela akha i-Applet yethu.

Isinamoni_Applet2

Siyaqhubeka nokuchaza i-applet.js

ikhodi

applet.js

Manje ake siqhubeke ukubona ikhodi ye applet.js bese uchaza umusho ngamunye.

applet.js qala

ikhodi ye-applet

ikhodi yeJavaScript

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:

isigaba se-gjs

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

Z7qwRdp

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

Idatha ye-LP0ol8b

Izithombe-skrini - 140314 - 21:11:34

"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-lKxpdkS

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

i-nerd

Ukwakhiwa kwe-applet yethu

i-beta

Siyaqhubeka nokuchaza i-applet.js 

ikhodi

applet.js

Ukuqala ikhodi ye-applet.js

Izithombe-skrini - 140314 - 21:30:48

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.

i-beta

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

qt

Siqhubeka nokuchaza imethadatha.json

Idatha ye-LP0ol8b

Mongo

Ikhodi ibhalwe ngendlela efanayo nesibonelo esedlule

Isithombe se-Applet sidalwe nge-Qt

ini

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.

megtk

Landa okokufundisa nezibonelo


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.

  1.   sbusisiwe kusho

    I-Article ethokozisayo ...

    1.    nxumabiyela kusho

      Ngiyabonga . Okwami ​​ukuthi sifunda kancane nsuku zonke.

  2.   UDanie kusho

    Kuhle kakhulu, ngiyayithanda, bengihlala ngifuna ukwazi ukuthi zenziwa kanjani lezi zinhlobo zama-applet

  3.   Ingelosi u-Araya kusho

    Ukulungiswa okuncane. IGettext ayisho lutho kuCinnamon njengoba isho endatshaneni, ilabhulali eyenza ukuhumusha okuzenzakalelayo kwenzeke futhi kusuka kuzifanekiso.

  4.   msx kusho

    Isifundo esihle kakhulu nakho konke lokho kepha into ebalulekile ayikubekanga: isixhumanisi sangemuva?

    1.    nxumabiyela kusho

      Landa amaphephadonga weLinux Mint 16 Petra.
      Iphakheji ibizwa ngokuthi i-mint-backgrounds-petra: http://packages.linuxmint.com/list.php?release=Petra

  5.   Tesla kusho

    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!

  6.   AmaMatias kusho

    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.

  7.   matiasbatero17 kusho

    Hhayi lapho uMarian, bengingazi ukuthi uthumela lapha. Ozithobayo.

    1.    nxumabiyela kusho

      Njengoba uhamba, iMatute… .. ngihlala ngihambahamba kulezi zingxenye. Mayelana

  8.   lolbimbo kusho

    I-athikili enhle.

  9.   khuzani_mpungose kusho

    ifayela alitholakalanga lenziwe langasebenzi ngenxa yokwephula i-copyright.

    Engiqonde ukukusho ukuthi uma unayo lapho, ungaphinda uyilayishe ???. Ngiyacela.

    Ngiyabonga.