Chystáme sa vytvoriť jednoduchý applet pre Škorica. Najprv to musíme vedieť Škorica ponúka rôzne typy appletov:
- TextApplet (so štítkom na paneli)
- IconApplet (zobrazuje sa ikona na paneli)
- TextIconApplet (s uvedením ikony a štítku na paneli)
- applet (pre hardcore vývojárov, ktorí zobrazia prázdne políčko, ktoré môžete vyplniť)
V tomto výučbe chceme jednoducho zobraziť ikonu na paneli, takže použijeme aplikáciu „IconApplet“. Aby sme mohli náš applet naprogramovať na Škorica alebo škriatok potrebujeme vedieť a vedieť niečo o programovaní Javascriptov
Umiestnenie nášho kódu.
Najskôr sa pozrime na umiestnenie nášho súboru. Umiestnenie nášho appletu je uvedené na nasledujúcich adresách:
/.local/share/cinnamon/applets
v /usr/share/cinnamon/applets
Súbory, ktoré tvoria náš applet.
Pokračujeme k definovaniu applet.js
Teraz sa pozrime na kód applet.js a vysvetlite každú z jeho viet:
applet.js spustenie kódu
Pozrime sa na každú z viet nášho predchádzajúceho kódu
const Lang = imports.lang; / * Vyvolávame knižnice Gtk a Lang, sú základnou súčasťou akejkoľvek aplikácie GNOME, umožňujú nám vytvárať okná, widgety a prepájať ich. * / Const Applet = imports.ui.applet; / * Vyvolávame knižnicu appletov, ktorá nám umožňuje vytvárať applet pre škoricu a Gnome a zároveň nám poskytuje jeho vlastnosti a funkcie. * / Const GLib = imports.gi.GLib; / * GLib je knižnica pomoci, ktorá nám umožňuje robiť veci v GNOME, napríklad povedať, kde je súbor hellognome.html, je to knižnica zodpovedná za signály. * / Const Gettext = imports.gettext.domain ('cinnamon -aplety); const _ = Gettext.gettext; // Knižnica Gettext, ktorá nám umožňuje importovať naše vlastné charakteristiky pre pracovnú plochu Cinnamon. const PopupMenu = imports.ui.popupMenu; / * PopupMenu je knižnica na použitie správcu ponúk, ktorá umožňuje vyvolať widget rozbaľovacej ponuky, ktorý sa zvyčajne používa v appletoch. * / Function MyApplet (orientácia) {this._init (orientácia); }
Konštruktor nášho appletu je definovaný nižšie, pozrime sa na našu triedu alebo triedu:
Pokračujeme definíciou každej z viet
MyApplet.prototype = {__proto__: Applet.IconApplet.prototype, // Definujeme našu Triedu alebo Triedu _init: funkcia (orientácia) {Applet.IconApplet.prototype._init.call (táto, orientácia); / * Orientáciu sme nastavili cez škoricu. Nastavíme, či bude panel appletu hore alebo dole (to má vplyv na orientáciu ponúk appletu). * / Skúste {// Urobiť niečo} Zachytiť (e) {// Čo sa stane, ak sa vyskytne chyba } / * Používame try / catch na zachytenie akýchkoľvek chýb, ktoré sa môžu vyskytnúť v našom applete, a na zabezpečenie toho, aby bol zapísaný do globálneho protokolu chýb. Týmto spôsobom, ak sa niečo pokazí, môžete vidieť chybu v aplikácii Looking Glass: Stlačte kláves Alt F2, napíšte „lg“ a kliknite na kartu „chyby“. * / This.menuManager = new PopupMenu.PopupMenuManager (this); // Vytvorte rozbaľovaciu ponuku a nastavte správcu ponuky this.menu = nový Applet.AppletPopupMenu (toto, orientácia); // vytvoríme menu. this.menuManager.addMenu (this.menu); // Do rozbaľovacej ponuky pridáme ponuku. this.makeMenu (); // menuitem makeMenu, vytvoríme menuitem s názvom makeMenu. this.buildContextMenu (); // buildContextMenu, vytvoríme položku ponuky nazvanú buildContextMenu. this.set_applet_icon_name ("priečinok"); / * Vytvoríme applet, tento prípad je jedinečný, zvolenou ikonou je priečinok alebo priečinok, môžeme vytvoriť aj textový applet, ak chceme. * /
Ako príklad zmeňte názov „priečinka“ na „terminál“, „docky“ na vytvorenie nových mien, pozrite si názov ikon Gnome alebo Cinnamon alebo inú tému ikon, choďte na adresu.
/usr/share/icons
this.set_applet_tooltip (_ ("Kliknutím sem zabijete okno")); // Chyťte, aby ste zachytili chyby, ktoré sa môžu vyskytnúť v našom applete. catch (e) {global.logError (e); } makeMenu: function () {this.menu.addMenuItem (new PopupMenu.PopupMenuItem ("Testovacia správa", {reaktívna: pravda}))); }, / * Definujeme názov položky ponuky makeMenu a jej vlastnosti. V tomto prípade je štítok Testovacia správa ". Definujeme {reactive: true} Zistíme, že pozadie položky ponuky sa zmení, keď ukazovateľ prejde ponad položku cez položku true, ak je nepravda, naopak. * / BuildContextMenu: function () {this.menu .addMenuItem (new PopupMenu.PopupMenuItem ("show", {reactive: true})));}, // Definujeme názov položky ponuky makeMenu a jej vlastnosti. V takom prípade je štítok "show" ". on_applet_clicked: function (event) {this.menu.toggle ();} // Signál emitovaný appletom na vyvolanie funkcie rozbaľovacej ponuky main (metadáta, orientácia) {let myApplet = new MyApplet (orientácia); návrat myApplet;} / * Nakoniec musíme pridať iba „hlavnú“ funkciu, ktorá bude pravdepodobne rovnaká v každom applete, vytvorí sa inštancia nášho appletu a vráti sa do Cinnamonu. * / // Zatvoríme návrat slučky myApplet;
Pokračujeme k definovaniu súboru metadata.json
"last-edited": "1331990905", // Posledné vydanie. "description": "Kliknutím na applet zobrazíte vlastné osobne definované menu gtk", // Popis appletu. "icon": "docky", // Ikony použité na popis appletu. Ako príklad zmeňte názov „docky“ na „terminal“, „folder“. "uuid": "black" // Priečinok, do ktorého je zahrnutý náš súbor metadata.json "name": "Vlastná ponuka gtk" // Názov appletu.
Poznámka: Ak chcete nastaviť nové mená, pozrite si názov ikon Gnome alebo Cinnamon alebo inú tému ikon, prejdite na adresu súborového systému.
/usr/share/icons
Obrázok vytvoreného appletu
Qt, Gtk, Vala a ďalšie jazyky používané na vytvorenie appletu pre škoricu alebo Gnome
Pozrime sa na umiestnenie nášho appletu pre škoricu
Umiestnenie nášho appletu je uvedené na nasledujúcich adresách:
/.local/share/cinnamon/applets
v
/usr/share/cinnamon/applets
Zloženie nášho appletu
Pokračujeme k definovaniu applet.js
Spustenie kódu applet.js
Koniec applet.js
Teraz sa pozrime na kód applet.js a vysvetlíme jeho vyhlásenia.
Napísaný kód je prakticky rovnaký ako predchádzajúci príklad napísaný v jazyku Javascript.
Zmenil sa iba signál, ktorý vyvolá náš automaticky spustiteľný súbor.
on_applet_clicked: function (event) {GLib.spawn_command_line_async (GLib.get_home_dir () + '/.local/share/cinnamon/applets/Qt4/Qtmenu/Menu'); }
Náš auto-spustiteľný súbor môže byť napísaný pomocou Qt, Gtk, Gtkmm, wxWidget, Vala atď. jazyky, s ktorými je možné vytvárať samostatne spustiteľné súbory. Náš automaticky spustiteľný súbor sa volá Menu a je v priečinku Qtmenu.
Môžeme tiež použiť ďalšie programovacie jazyky, ktoré majú väzby pre Gtk, napríklad PyGTK, Ruby Gtk, Perl Gtk atď. ktoré je možné použiť pomocou skriptu na vykonanie kódu napísaného v týchto jazykoch. Princíp je vždy rovnaký pre volanie programov, vytváranie vyskakovacích ponúk a vyskakovacích okien podľa našich potrieb.
Pozrime sa na kód nášho automaticky spustiteľného programu napísaný pomocou Qt
Pokračujeme k definovaniu súboru metadata.json
Kód je napísaný rovnakým spôsobom ako v predchádzajúcom príklade
Obrázok appletu vytvorený pomocou Qt
Obrázok appletu vytvoreného v aplikácii Gtk 3.10
Tu je malý príklad appletu, ktorý používa spustiteľný súbor napísaný v Gtk, v tomto prípade použijeme ponuku myGtkMenu používanú v OpenBoxe.
Jedná sa o samostatne vykonateľné menu.
Stiahnite si príručku a príklady
Zaujímavý článok ...
Ďakujem . Moje je, že sa každý deň trochu učíme.
Veľmi dobré, páči sa mi to, vždy som chcel vedieť, ako sa tieto druhy appletov vyrábali
Malá oprava. Gettext nie je nič konkrétne pre škoricu, ako sa hovorí v článku, je to knižnica, ktorá umožňuje automatické preklady a zo šablón.
Veľmi dobrý výukový program a to všetko okrem dôležitej veci, ktorú ste nedali: odkaz na tapetu?
Stiahnite si tapety Linux Mint 16 Petra.
Balík sa volá mint-backgrounds-petra: http://packages.linuxmint.com/list.php?release=Petra
Veľmi zaujímavý článok. Pravda je, že ma vždy zaujímalo, ako boli tieto applety vytvorené. Možno ma povzbudí vytvoriť mini-prehrávač pre MPD alebo niečo podobné.
Ďakujeme za zdieľanie!
Výborne, práve zisťujem, ako upraviť applet škorice nm (správca siete) tak, aby zmenil farbu, keď nemám prístup na internet (mám kartu wifi), a to mi pomáha zorientovať sa trochu.
No, Marian, nevedel som, že sem zverejňuješ príspevky. S pozdravom.
Keď chodíš, Matute ... Vždy chodím okolo týchto častí. S pozdravom
Dobrý článok.
súbor sa nedá nájsť bol deaktivovaný kvôli porušeniu autorských práv.
Chcem tým povedať, že ak ho tam máte, môžete ho znova nahrať ???. Prosím.
Ďakujem.