Mini tutoriál: Vytváření appletů pro skořici

Chystáme se vytvořit jednoduchý applet pro Cinnamon. Nejprve to musíme vědět Cinnamon nabízí různé typy appletů:

  • Textová aplikace (zobrazující štítek na panelu)
  • IconApplet (na panelu se zobrazí ikona)
  • TextIconApplet (s uvedením ikony a štítku na panelu)
  • Applet (pro hardcore vývojáře, kteří zobrazují prázdné pole, které můžete vyplnit sami)

V tomto výukovém programu chceme jednoduše zobrazit ikonu na panelu, takže použijeme „IconApplet“. Abychom mohli náš applet naprogramovat na Skořice nebo Gnome potřebujeme vědět a vědět něco o programování Javascriptů

Umístění našeho kódu.

Nejprve se podívejme na umístění našeho souboru. Umístění našeho appletu je uvedeno na následujících adresách:

/.local/share/cinnamon/applets nebo v /usr/share/cinnamon/applets

Cinnamon_Applet

Soubory, které tvoří náš applet.

Cinnamon_Applet2

Pokračujeme k definování applet.js

codigo

applet.js

Nyní se podívejme na kód applet.js a vysvětlete každou z jeho vět:

applet.js spuštění kódu

kód appletu

javascriptový kód

Podívejme se na každou z vět našeho předchozího kódu

const Lang = imports.lang; / * Vyvoláváme knihovny Gtk a Lang, jsou základní součástí jakékoli aplikace GNOME, umožňují nám vytvářet okna, widgety a propojovat je. * / Const Applet = imports.ui.applet; / * Vyvoláme knihovnu appletů, která nám umožňuje vytvořit applet pro Cinnamon a Gnome a zároveň nám dává jeho vlastnosti a funkce. * / Const GLib = imports.gi.GLib; / * GLib je knihovna nápovědy, umožňuje nám dělat věci v GNOME, například říkat, kde je soubor hellognome.html, je to knihovna zodpovědná za signály. * / Const Gettext = imports.gettext.domain ('cinnamon -apletky); const _ = Gettext.gettext; // Knihovna Gettext, která nám umožňuje importovat naše vlastní charakteristiky pro pracovní plochu Cinnamon. const PopupMenu = imports.ui.popupMenu; / * PopupMenu je knihovna pro použití správce nabídek, umožňuje nám vyvolat widget rozbalovací nabídky obvykle používaný v appletech. * / Funkce MyApplet (orientace) {this._init (orientace); }

Konstruktor našeho appletu je definován níže, pojďme se podívat na naši třídu nebo třídu:

třída gjs

Pokračujeme definicí každé z vět

MyApplet.prototype = {__proto__: Applet.IconApplet.prototype, // Definujeme naši třídu nebo třídu _init: funkce (orientace) {Applet.IconApplet.prototype._init.call (toto, orientace); / * Orientaci jsme nastavili pomocí skořice. Nastavíme, zda je panel appletu nahoře nebo dole (to má vliv na orientaci nabídek appletu). * / Zkuste {// Udělat něco} Catch (e) {// Co se stane, když dojde k chybě } / * Používáme try / catch k zachycení chyb, které se mohou v našem appletu vyskytnout, a k zajištění toho, aby byly zapsány do globálního protokolu chyb. Tímto způsobem, pokud se něco pokazí, můžete vidět chybu v aplikaci Looking Glass: Stiskněte Alt F2, napište „lg“ a klikněte na záložku „errors“. * / This.menuManager = new PopupMenu.PopupMenuManager (this); // Vytvořte rozbalovací nabídku a nastavte správce nabídek this.menu = nový Applet.AppletPopupMenu (toto, orientace); // vytvoříme nabídku. this.menuManager.addMenu (this.menu); // Přidáme nabídku do rozbalovací nabídky. this.makeMenu (); // menuitem makeMenu, vytvoříme menuitem s názvem makeMenu. this.buildContextMenu (); // buildContextMenu, vytvoříme položku nabídky nazvanou buildContextMenu. this.set_applet_icon_name ("složka"); / * Vytvoříme applet, tento případ je jedinečný, zvolenou ikonou je složka nebo složka, můžeme také vytvořit textový applet, pokud chceme. * /

Jako příklad změňte název „složky“ na „terminál“, „docky“, abyste vytvořili nová jména, viz název ikon Gnome nebo Cinnamon nebo jakéhokoli jiného motivu ikony, přejděte na adresu.

/usr/share/icons

Z7qwRdp

this.set_applet_tooltip (_ ("Kliknutím sem zabijete okno")); // Chyťte, abyste zachytili chyby, které se mohou v našem appletu vyskytnout. catch (e) {global.logError (e); } makeMenu: function () {this.menu.addMenuItem (new PopupMenu.PopupMenuItem ("Testovací zpráva", {reaktivní: true}))); }, / * Definujeme název položky nabídky makeMenu a její vlastnosti. V tomto případě je popisek Testovací zpráva ". Budeme definovat {reactive: true} Zjistíme, že pozadí položky nabídky se změní, když ukazatel projde položkou nabídky přes true, pokud je nepravda, stane se pravý opak. * / BuildContextMenu: function () {this.menu .addMenuItem (new PopupMenu.PopupMenuItem ("show", {reactive: true})));}, // Definujeme název položky nabídky makeMenu a její vlastnosti. V tomto případě je štítek "show" ". on_applet_clicked: function (event) {this.menu.toggle ();} // Signál vydávaný appletem pro volání funkce rozbalovací nabídky hlavní (metadata, orientace) {let myApplet = new MyApplet (orientace); návrat myApplet;} / * Nakonec musíme přidat pouze „hlavní“ funkci, která bude pravděpodobně stejná v každém appletu, vytvoří se instance našeho appletu a vrátí se do Cinnamonu. * / // Zavřeme návrat smyčky myApplet;

Pokračujeme k definování metadata.json

LP0ol8b

Screenshot - 140314 - 21:11:34

"last-edited": "1331990905", // Poslední vydání. "description": "Kliknutím na applet zobrazíte vlastní osobně definovanou nabídku gtk", // Popis appletu. "icon": "docky", // Ikony použité pro popis appletu. Jako příklad změňte název „docky“ na „terminal“, „folder“. "uuid": "black" // Složka, do které je zahrnut náš soubor metadata.json "name": "Vlastní nabídka gtk" // Název appletu.

Nota: Chcete-li nastavit nová jména, podívejte se na název ikon Gnome nebo Cinnamon nebo jakéhokoli jiného motivu ikon, přejděte na adresu systémů souborů.

/usr/share/icons

Obrázek vytvořeného appletu

  lKxpdkS

Qt, Gtk, Vala a další jazyky používané k vytvoření appletu pro skořici nebo Gnome

Podívejme se na umístění našeho appletu pro Cinnamon

Umístění našeho appletu je uvedeno na následujících adresách:

/.local/share/cinnamon/applets

nebo v

/usr/share/cinnamon/applets

blbeček

Složení našeho appletu

beta

Pokračujeme k definování applet.js 

codigo

applet.js

Spuštění kódu applet.js

Screenshot - 140314 - 21:30:48

Konec applet.js

Nyní se podívejme na kód applet.js a vysvětlíme jeho tvrzení.

Napsaný kód je prakticky stejný jako předchozí příklad napsaný pomocí Javascript.
Změněn byl pouze signál, který vyvolá náš automaticky spustitelný soubor.

on_applet_clicked: function (event) {GLib.spawn_command_line_async (GLib.get_home_dir () + '/.local/share/cinnamon/applets/Qt4/Qtmenu/Menu'); }

Náš automaticky spustitelný soubor lze zapsat pomocí Qt, Gtk, Gtkmm, wxWidget, Vala atd. jazyky, se kterými lze vytvářet spustitelné soubory. Náš automaticky spustitelný soubor se nazývá Menu a je ve složce Qtmenu.

beta

Můžeme také použít jiné programovací jazyky, které mají vazby pro Gtk, jako je například PyGTK, Ruby Gtk, Perl Gtk atd. který lze použít pomocí skriptu k provedení kódu napsaného v těchto jazycích. Princip je vždy stejný pro volání programů, vytváření rozbalovací nabídky a vyskakovacího okna podle našich potřeb.

Podívejme se na kód našeho automatického spustitelného souboru napsaného pomocí Qt

qt

Pokračujeme k definování metadata.json

LP0ol8b

Mongo

Kód je napsán stejným způsobem jako v předchozím příkladu

Obrázek appletu vytvořený pomocí Qt

co

Obrázek appletu vytvořeného pomocí Gtk 3.10

Zde je malý příklad appletu, který používá spustitelný soubor napsaný v Gtk, v tomto případě použijeme nabídku myGtkMenu používanou v OpenBoxu.

Jedná se o samo-spouštěcí nabídku.

megtk

Stáhněte si tutoriál a příklady


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   aiolia řekl

    Zajímavý článek ...

    1.    marianogaudix řekl

      Děkuji . Můj je, že se každý den trochu učíme.

  2.   dárek řekl

    Velmi dobře, líbí se mi to, vždy jsem chtěl vědět, jak se tyto druhy appletů vyráběly

  3.   Angel Araya řekl

    Malá oprava. Gettext není pro Cinnamon nic konkrétního, jak se uvádí v článku, je to knihovna, která umožňuje automatické překlady a ze šablon.

  4.   MSX řekl

    Velmi dobrý výukový program a to všechno kromě důležité věci, kterou jste nedal: odkaz na tapetu?

    1.    marianogaudix řekl

      Stáhněte si tapety Linux Mint 16 Petra.
      Balíček se jmenuje mint-backgrounds-petra: http://packages.linuxmint.com/list.php?release=Petra

  5.   Tesla řekl

    Velmi zajímavý článek. Pravda je, že mě vždycky zajímalo, jak byly tyto applety vytvořeny. Možná jsem vyzván k vytvoření mini-přehrávače pro MPD nebo něco podobného.

    Díky za sdílení!

  6.   Matias řekl

    Výborně, právě zjišťuji, jak upravit applet skořice nm (správce sítě) tak, aby měnil barvu, když nemám přístup k internetu (mám wifi kartu), a to mi pomáhá se trochu zorientovat.

  7.   17. matiasbatero řekl

    No, Marian, nevěděl jsem, že sem posíláš příspěvky. Pozdravy.

    1.    marianogaudix řekl

      Jak chodíš, Matute ... Vždycky jsem chodil kolem těchto částí. Na zdraví

  8.   lolbimbo řekl

    Dobrý článek.

  9.   honovan řekl

    soubor nebyl nalezen byl deaktivován kvůli porušení autorských práv.

    Myslím tím to, že pokud to tam máte, můžete je nahrát znovu ???. Prosím.

    děkuji.