Mini tutoriál: Vytváranie appletov pre škoricu

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

Cinnamon_Applet

Súbory, ktoré tvoria náš applet.

Cinnamon_Applet2

Pokračujeme k definovaniu applet.js

kód

applet.js

Teraz sa pozrime na kód applet.js a vysvetlite každú z jeho viet:

applet.js spustenie kódu

kód appletu

javascriptový kód

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:

trieda gjs

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

Z7qwRdp

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

LP0ol8b

Screenshot - 140314 - 21:11:34

"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

  lKxpdkS

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

blbecek

Zloženie nášho appletu

beta

Pokračujeme k definovaniu applet.js 

kód

applet.js

Spustenie kódu applet.js

Screenshot - 140314 - 21:30:48

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.

beta

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

qt

Pokračujeme k definovaniu súboru metadata.json

LP0ol8b

Mongo

Kód je napísaný rovnakým spôsobom ako v predchádzajúcom príklade

Obrázok appletu vytvorený pomocou Qt

čo

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.

megtk

Stiahnite si príručku a príklady


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   aiolia dijo

    Zaujímavý článok ...

    1.    mianogaudix dijo

      Ďakujem . Moje je, že sa každý deň trochu učíme.

  2.   darček dijo

    Veľmi dobré, páči sa mi to, vždy som chcel vedieť, ako sa tieto druhy appletov vyrábali

  3.   Anjel Araya dijo

    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.

  4.   MSX dijo

    Veľmi dobrý výukový program a to všetko okrem dôležitej veci, ktorú ste nedali: odkaz na tapetu?

    1.    mianogaudix dijo

      Stiahnite si tapety Linux Mint 16 Petra.
      Balík sa volá mint-backgrounds-petra: http://packages.linuxmint.com/list.php?release=Petra

  5.   tesla dijo

    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!

  6.   Matias dijo

    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.

  7.   matiasbatero17 dijo

    No, Marian, nevedel som, že sem zverejňuješ príspevky. S pozdravom.

    1.    mianogaudix dijo

      Keď chodíš, Matute ... Vždy chodím okolo týchto častí. S pozdravom

  8.   lolbimbo dijo

    Dobrý článok.

  9.   honovan dijo

    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.