Ne do të krijojmë një applet të thjeshtë për të Kanellë. Për të filluar, ne duhet ta dimë atë Kanellë ofron lloje të ndryshme të apleteve:
- TextApplet (duke shfaqur një etiketë në panel)
- IconApplet (duke treguar një ikonë në panel)
- TextIconApplet (duke treguar një ikonë dhe një etiketë në panel)
- applet (për zhvilluesit hardcore, të cilët tregojnë një kuti bosh që mund ta plotësoni vetë)
Në këtë manual, ne thjesht duam të shfaqim një ikonë në panel, kështu që do të përdorim një "IconApplet". Në mënyrë që të programojmë applet-in tonë në Kanellë ose Gnome ne duhet të dimë dhe dimë disa programe në Javascript
Vendndodhja e kodit tonë.
Së pari, le të shohim vendndodhjen e skedarit tonë. Vendndodhja e appletit tonë jepet në adresat e mëposhtme:
/.local/share/cinnamon/applets
në /usr/share/cinnamon/applets
Skedarët që përbëjnë Applet-in tonë.
Ne vazhdojmë të përcaktojmë applet.js
Tani le të vazhdojmë të shohim kodin e applet.js dhe të shpjegojë secilën fjali të saj:
fillimi i kodit applet.js
Le të shohim secilën nga fjalitë e kodit tonë të mëparshëm
konstancë Lang = importe.ngjarje; / * Ne thirremi në bibliotekat Gtk dhe Lang, ato janë një pjesë themelore e çdo aplikacioni GNOME, ato na lejojnë të krijojmë dritare, widget dhe t'i lidhim ato. * / Const Applet = imports.ui.applet; / * Ne thirret në bibliotekën Applet që na lejon të krijojmë një applet për Kanellën dhe Gnome dhe në të njëjtën kohë na jep vetitë dhe funksionet e tij. * / Const GLib = imports.gi.GLib; / * GLib është një bibliotekë ndihmëse, na lejon të bëjmë gjëra në GNOME, për shembull të themi se ku është skedari hellognome.html, është biblioteka e ngarkuar me sinjale. * / Const Gettext = imports.gettext.domain ('kanellë -applet '); konst _ = Gettext.gettext; // Biblioteka Gettext që na lejon të importojmë karakteristikat tona për desktopin e Kanellës. const PopupMenu = imports.ui.popupMenu; / * PopupMenu është një bibliotekë për të përdorur menaxherin e menusë, na lejon të kërkojmë miniaplikacionin e menusë së dritares që përdoret zakonisht në applete. * / Funksioni MyApplet (orientimi) {this._init (orientimi); }
Konstruktori i applet-it tonë është përcaktuar më poshtë, le të shohim Klasën ose Klasën tonë:
Vazhdojmë me përcaktimin e secilës prej fjalive
MyApplet.prototype = {__proto__: Applet.IconApplet.prototype, // Ne përcaktojmë klasën ose klasën tonë _init: funksioni (orientimi) {Applet.IconApplet.prototype._init.call (ky, orientimi); / * Vendosim orientimin përmes Kanellës. Vendosim nëse paneli i appletit është në krye ose në fund (kjo ka ndikim në orientimin e menusë së appletit). * / Provo {// Bëni diçka} Kap (e) {// Çfarë ndodh nëse ndodh një gabim } / * Ne përdorim një try / catch për të kapur ndonjë gabim që mund të ndodhë në applet-in tonë dhe për t'u siguruar që ato janë shkruar në regjistrin global të gabimeve. Në këtë mënyrë, nëse diçka shkon keq, mund të shihni gabimin në Shikimin e Qelqit: Shtypni Alt F2, shtypni "lg" dhe klikoni në skedën "gabime". * / This.menuManager = new PopupMenu.PopupMenuManager (kjo); // Krijoni menunë e dritareve dhe vendosni menaxherin e menusë this.menu = new Applet.AppletPopupMenu (ky, orientimi); // krijojmë një menu. this.menuManager.addMenu (this.menu); // Ne shtojmë menunë në menunë që shfaqet. this.makeMenu (); // menuitem makeMenu, ne krijojmë një menuitem të quajtur makeMenu. this.buildContextMenu (); // buildContextMenu, ne krijojmë një menuitem të quajtur buildContextMenu. this.set_applet_icon_name ("dosje"); / * Ne krijojmë applet, ky rast është unik, ikona e zgjedhur është dosja ose dosja, ne gjithashtu mund të krijojmë një applet me tekst nëse duam. * /
Si shembull ndryshoni emrin e "dosjes" në "terminal", "dok" për të vendosur emra të rinj shihni emrin e ikonave Gnome ose Kanellë ose ndonjë temë tjetër të ikonës, shkoni në adresë.
/usr/share/icons
this.set_applet_tooltip (_ ("Kliko këtu për të vrarë një dritare")); // Kap për të kapur ndonjë gabim që mund të ndodhë në appletin tonë. kap (e) {global.logError (e); } makeMenu: funksioni () {this.menu.addMenuItem (i ri PopupMenu.PopupMenuItem ("Test Mesazhi", {reaktiv: i vërtetë})); }, / * Ne përcaktojmë emrin e makeMenu menuitem dhe karakteristikat e tij. Në këtë rast etiketa është Mesazh Test ". Ne do të përcaktojmë {reaktiv: e vërtetë} Ne vendosim që sfondi i menuit do të ndryshojë kur treguesi kalon mbi menuitem përmes true nëse është e gabuar ndodh e kundërta. * / BuildContextMenu: funksioni () {this.menu .addMenuItem (i ri PopupMenu.PopupMenuItem ("shfaqje", {reaktiv: e vërtetë}));}, // Përcaktojmë emrin e makeMenu menuitem dhe karakteristikat e tij. Në këtë rast etiketa është "show ". on_applet_clicked: function (event) {this.menu.toggle ();} // Sinjali i emetuar nga applet, për të thirrur funksionin e menusë popup kryesore (metadata, orientimi) {let myApplet = MyApplet i ri (orientimi); kthimi myApplet;} / * Së fundmi, ne thjesht duhet të shtojmë një funksion "kryesor", i cili ka të ngjarë të jetë i njëjtë në secilin applet, një shembull i appletit tonë krijohet dhe kthehet në Kanellë. * / // Ne mbyllim kthimin e lakut myApplet;
Ne vazhdojmë të përcaktojmë metadata.json
"i redaktuar së fundmi": "1331990905", // Botimi i fundit. "description": "Kliko në applet për të treguar një menu të përcaktuar personalisht të gtk", // Përshkrimi i applet. "icon": "docky", // Ikona të përdorura për përshkrimin e applet-it. Si shembull ndryshoni emrin e "docky" në "terminal", "folder". "uuid": "e zezë" // Dosje ku përfshihet skedari ynë i metadata.json "emri": "menu e personalizuar gtk" // Emri i applet.
Shenim: Për të vendosur emra të rinj shihni emrin e ikonave Gnome ose Kanellë ose ndonjë temë tjetër të ikonës, shkoni në adresën e sistemeve të skedarëve.
/usr/share/icons
Imazhi i Applet i krijuar
Qt, Gtk, Vala dhe gjuhë të tjera që përdoren për të krijuar një applet për Kanellën ose Gnome
Le të shohim vendndodhjen e applet tonë për kanellë
Vendndodhja e appletit tonë jepet në adresat e mëposhtme:
/.local/share/cinnamon/applets
në
/usr/share/cinnamon/applets
Përbërja e appletit tonë
Ne vazhdojmë të përcaktojmë applet.js
Fillimi i kodit të applet.js
Fundi i applet.js
Tani le të vazhdojmë të shohim kodin e applet.js dhe të shpjegojmë deklaratat e tij.
Kodi i shkruar është praktikisht i njëjtë me shembullin e mëparshëm të shkruar me Javascript.
Vetëm sinjali është ndryshuar, i cili do ta quajë ekzekutimin tonë automatik.
on_applet_clicked: funksioni (ngjarja) {GLib.spawn_command_line_async (GLib.get_home_dir () + '/.local/share/cinnamon/applets/Qt4/Qtmenu/Menu'); }
Ekzekutimi ynë automatik mund të shkruhet me Qt, Gtk, Gtkmm, wxWidget, Vala, etj. gjuhët me të cilat mund të krijohen vetë-ekzekutues. Ekzekutimi ynë automatik quhet Menu dhe është në dosjen Qtmenu.
Ne gjithashtu mund të përdorim gjuhë të tjera programimi që kanë lidhje për Gtk siç është rasti i PyGTK, Ruby Gtk, Perl Gtk, etj. i cili mund të përdoret duke përdorur një skenar për të ekzekutuar kodin e shkruar në ato gjuhë. Parimi është gjithmonë i njëjtë për të thirrur programe, për të krijuar menunë e dritares dhe dritaren e dritares në përputhje me nevojat tona.
Le të shohim kodin e ekzekutimit tonë automatik të shkruar me Qt
Ne vazhdojmë të përcaktojmë metadata.json
Kodi është shkruar në të njëjtën mënyrë si shembulli i mëparshëm
Imazhi i Applet i krijuar me Qt
Imazhi i Applet i krijuar me Gtk 3.10
Unë ju lë një shembull të vogël të një appleti që përdor një ekzekutues të shkruar në Gtk, në këtë rast marrim menunë myGtkMenu të përdorur në OpenBox.
Shtë një menu vetë-ekzekutuese.
Shkarkoni udhëzuesin dhe shembuj
Artikull interesant ...
Faleminderit . E imja është që ne mësojmë pak çdo ditë.
Shumë mirë, e dua, gjithmonë doja të dija se si bëheshin këto lloj appletesh
Një korrigjim i vogël. Gettext nuk është asgjë specifike për Kanellën siç thotë në artikull, është një bibliotekë që bën të mundur përkthimet automatike dhe nga modelet.
Tutorial shumë i mirë dhe e gjithë kjo, por gjëja e rëndësishme që nuk e vendosët: lidhje me letër-muri?
Shkarkoni sfondet e Linux Mint 16 Petra.
Paketa quhet mint-backgrounds-petra: http://packages.linuxmint.com/list.php?release=Petra
Artikull shumë interesant. E vërteta është se gjithnjë kam menduar se si janë krijuar këto aplete. Ndoshta unë jam i inkurajuar të krijoj një mini-player applet për MPD ose diçka të ngjashme.
Faleminderit për ndarjen!
Shkëlqyeshëm, thjesht po kuptoj se si të modifikoj nm-applet të kanellës (menaxheri i rrjetit), në mënyrë që të ndryshojë ngjyrën kur nuk kam qasje në internet, (kam një kartë Wi-Fi) dhe kjo më ndihmon të orientohem pak.
Epo atje Marian, nuk e dija që po postonit këtu. Të fala.
Ndërsa ecni, Matute… .. Unë gjithmonë eci nëpër këto pjesë. Brohoritje
Artikull i mirë
skedari nuk mund të gjendet është çaktivizuar për shkelje të së drejtës së autorit.
Ajo që dua të them është se nëse e keni atje, a mund ta ngarkoni përsëri ??? Ju lutem.
faleminderit.