Mini õpetus: kaneeli apletide loomine

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

Kaneel_Applet

Failid, mis moodustavad meie apleti.

Kaneel_Applet2

Jätkame applet.js määratlemist

kodigo

applet.js

Nüüd jätkame koodi nägemist applet.js ja selgitage kõiki selle lauseid:

applet.js koodi algus

apleti kood

javascripti kood

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:

gjs klass

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

Z7qwRdp

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

LP0ol8b

Ekraanipilt - 140314 - 21:11:34

"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

  lKxpdkS

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

nerd

Meie apleti koostis

beeta

Jätkame applet.js määratlemist 

kodigo

applet.js

Koodi applet.js käivitamine

Ekraanipilt - 140314 - 21:30:48

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.

beeta

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

qt

Jätkame metadata.jsoni määratlemist

LP0ol8b

Mongo

Kood kirjutatakse samamoodi nagu eelmine näide

Qt-ga loodud apleti pilt

mida

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üü.

megtk

Laadige alla juhendaja ja näited


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   aiolia DIJO

    Huvitav artikkel ...

    1.    marianogaudix DIJO

      Aitäh . Minu asi on see, et me õpime iga päev natuke.

  2.   kingitus DIJO

    Väga hea, mulle meeldib see, ma tahtsin alati teada, kuidas selliseid apleti tehti

  3.   Ingel Araya DIJO

    Väike parandus. Gettext pole midagi kaneeli spetsiifilist, nagu artiklis öeldakse, see on raamatukogu, mis võimaldab automaatseid ja mallide tõlkeid.

  4.   MSX DIJO

    Väga hea õpetus ja kõik see, kuid oluline asi, mida te seda ei pannud: link tapeedile?

    1.    marianogaudix DIJO

      Laadige alla Linux Mint 16 Petra taustapildid.
      Pakendi nimi on mint-backgrounds-petra: http://packages.linuxmint.com/list.php?release=Petra

  5.   Teslal DIJO

    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!

  6.   Matias DIJO

    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.

  7.   matiasbatero17 DIJO

    No Marian, ma ei teadnud, et sa siia postitad. Tervitades.

    1.    marianogaudix DIJO

      Kuidas läheb, Matute ... .. Kõnnin alati mööda neid osi. Terviseks

  8.   lolbimbo DIJO

    Hea artikkel.

  9.   honovan DIJO

    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.