Mini oktatóanyag: Appletek készítése a fahéjhoz

Egy egyszerű kisalkalmazást fogunk létrehozni a számára Fahéj. Először is tudnunk kell Fahéj különböző típusú kisalkalmazásokat kínál:

  • Text Applet (címkét mutat a panelen)
  • IconApplet (egy ikon látható a panelen)
  • TextIconApplet (a panelen egy ikon és egy címke is szerepel)
  • applet (kemény fejlesztők számára, amelyek üres mezőt mutatnak, kitöltheti)

Ebben az oktatóanyagban egyszerűen egy ikont akarunk megjeleníteni a panelen, ezért "IconApplet" -t fogunk használni. Annak érdekében, hogy programozzuk kisalkalmazásunkat Fahéj vagy Gnome tudnunk és tudnunk kell valamit a Javascript programozásáról

Kódunk helye.

Először nézzük meg a fájlunk helyét. Kisalkalmazásunk helye a következő címeken található:

/.local/share/cinnamon/applets Az in /usr/share/cinnamon/applets

Fahéj_Applet

Az Appletünket alkotó fájlok.

Fahéj_alkalmazás2

Folytatjuk az applet.js definiálását

kód

applet.js

Most nézzük meg a. Kódját applet.js és magyarázza el egyes mondatait:

applet.js kód indítása

kisalkalmazás-kód

javascript kód

Lássuk az előző kódunk egyes mondatait

const Lang = import.lang; / * Meghívjuk a Gtk és a Lang könyvtárakat, ezek minden GNOME alkalmazás alapvető részét képezik, lehetővé teszik ablakok, widgetek létrehozását és összekapcsolását. * / Const Applet = imports.ui.applet; / * Meghívjuk az Applet könyvtárat, amely lehetővé teszi számunkra, hogy létrehozzunk egy kisalkalmazást a Cinnamon és a Gnome számára, ugyanakkor megadjuk a tulajdonságait és funkcióit. * / Const GLib = imports.gi.GLib; / * A GLib egy súgókönyvtár, amely lehetővé teszi számunkra, hogy a GNOME-on végezzünk dolgokat, például mondjuk, hogy hol van a hellognome.html fájl, ez a jelekért felelős könyvtár. * / Const Gettext = import.gettext.domain ('fahéj -alkalmazások '); const _ = Gettext.gettext; // Gettext könyvtár, amely lehetővé teszi számunkra, hogy importáljuk saját jellemzőinket a Cinnamon asztalra. const PopupMenu = import.ui.popupMenu; / * A PopupMenu a menükezelő használatát lehetővé tevő könyvtár, lehetővé teszi számunkra, hogy meghívjuk a felugró menü widgetet, amelyet általában az appleteknél használunk. * / Funkció MyApplet (orientáció) {this._init (orientáció); }

Az appletünk konstruktorát az alábbiakban definiáljuk, nézzük meg az osztályunkat vagy az osztályunkat:

gjs osztály

Az egyes mondatok meghatározásával folytatjuk

MyApplet.prototype = {__proto__: Applet.IconApplet.prototype, // Meghatározzuk Osztályunkat vagy Class _init: függvény (orientáció) {Applet.IconApplet.prototype._init.call (ez, orientáció); / * A tájolást Cinnamonon keresztül állítjuk be. Beállítjuk, hogy az applet panel teteje vagy alja legyen (ez hatással van az applet menük tájolására). * / Próbálja {// Csinálj valamit} Fogás (e) {// Mi történik, ha hiba történik } / * A try / catch segítségével felismerjük az appletünkben előforduló hibákat, és ellenőrizzük, hogy azok be vannak-e írva a globális hibanaplóba. Így, ha valami nem stimmel, láthatja a hibát a Looking Glass-ben: nyomja meg az Alt F2 billentyűt, írja be az "lg" parancsot, és kattintson a "hibák" fülre. * / This.menuManager = new PopupMenu.PopupMenuManager (this); // Hozza létre a felugró menüt, és állítsa be a menükezelőt this.menu = new Applet.AppletPopupMenu (this, orientation); // létrehozunk egy menüt. this.menuManager.addMenu (this.menu); // Hozzáadjuk a menüt a felugró menühöz. this.makeMenu (); // menuitem makeMenu, létrehozunk egy makeMenu nevű menuitemet. this.buildContextMenu (); // buildContextMenu, létrehozunk egy menuitem nevet buildContextMenu. this.set_applet_icon_name ("mappa"); / * Létrehozzuk az kisalkalmazást, ez az eset egyedi, a kiválasztott ikon a mappa vagy mappa, szöveges kisalkalmazást is létrehozhatunk, ha akarjuk. * /

Példaként változtassa meg a "mappa" nevét "terminál", "dokkoló" névre, hogy új neveket hozzon létre, lásd a Gnome vagy a Cinnamon ikonok vagy bármely más ikon téma nevét, írja be a címet.

/usr/share/icons

Z7qwRdp

this.set_applet_tooltip (_ ("Kattintson ide az ablak elpusztításához")); // Fogás, hogy elkapja az appletünkben előforduló hibákat. fogás (e) {global.logError (e); } makeMenu: function () {this.menu.addMenuItem (új PopupMenu.PopupMenuItem ("Tesztüzenet", {reaktív: igaz})); }, / * Meghatározzuk a makeMenu menuitem nevét és jellemzőit. Ebben az esetben a címke Tesztüzenet ". Meghatározzuk az {reaktív: igaz} Megállapítjuk, hogy a menuitem háttere megváltozik, amikor a mutató áthalad a menuitemen az igazon keresztül, ha hamis az ellenkezője történik. * / BuildContextMenu: function () {this.menu .addMenuItem (new PopupMenu.PopupMenuItem ("show", {reactive: true}));}, // Meghatározzuk a makeMenu menuitem nevét és jellemzőit. Ebben az esetben a címke "show" ". on_applet_clicked: function (event) {this.menu.toggle ();} // Az applet által kibocsátott jel a felugró menü függvényének fő (metaadatok, orientáció) meghívásához {let myApplet = new MyApplet (orientáció); return myApplet;} / * Végül csak hozzá kell adnunk egy "main" függvényt, amely valószínűleg megegyezik az egyes kisalkalmazásokkal, létrejön egy példánya az appletünknek, és visszakerül a Cinnamonba. * / // Bezárjuk a ciklus visszatérését myApplet;

Folytatjuk a metadata.json definiálását

LP0ol8b

Pillanatkép - 140314 - 21:11:34

"utoljára szerkesztve": "1331990905", // Utolsó kiadás. "description": "Kattintson az kisalkalmazásra az egyéni, személyesen meghatározott gtk menü megjelenítéséhez", // Kisalkalmazás leírása. "icon": "docky", // Az applet leírásához használt ikonok. Példaként változtassa meg a "dokkoló" nevét "terminálra", "mappára". "uuid": "black" // Mappa, amely tartalmazza a metadata.json fájlt "name": "Custom gtk menu" // Applet name.

Megjegyzés: Ha új neveket szeretne beállítani, akkor tekintse meg a Gnome vagy a Cinnamon ikonok vagy bármely más ikontéma nevét, lépjen a fájlrendszer címére.

/usr/share/icons

A létrehozott kisalkalmazás képe

  lKxpdkS

A Qt, a Gtk, a Vala és más nyelvek egy kisalkalmazás létrehozásához használták a fahéjat vagy a gnómot

Nézzük meg a fahéj kisalkalmazásunk helyét

Kisalkalmazásunk helye a következő címeken található:

/.local/share/cinnamon/applets

Az in

/usr/share/cinnamon/applets

majom

Kisalkalmazásunk összetétele

beta

Folytatjuk az applet.js definiálását 

kód

applet.js

Az applet.js kód indítása

Pillanatkép - 140314 - 21:30:48

Az applet.js vége

Most nézzük meg az applet.js kódot, és magyarázzuk el annak állításait.

Az írott kód gyakorlatilag megegyezik az előző Javascript-tel írt példával.
Csak a jel változott, amely az automatikus futtatható fájlunkat hívja meg.

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

Automatikusan futtatható fájlunk Qt, Gtk, Gtkmm, wxWidget, Vala stb. nyelvek, amelyekkel önfuttatható fájlok hozhatók létre. Az automatikus futtatható fájlunk neve Menu, és a Qtmenu mappában található.

beta

Használhatunk más programozási nyelveket is, amelyek kötéssel rendelkeznek a Gtk számára, ilyen például a PyGTK, a Ruby Gtk, a Perl Gtk stb. amelyek egy szkript segítségével használhatók az adott nyelveken írt kód végrehajtására. Az elv mindig ugyanaz, amikor meghívjuk a programokat, szükség esetén az előugró menü és a felugró ablak létrehozása.

Lássuk a Qt-vel írt automatikus futtatható fájlunk kódját

qt

Folytatjuk a metadata.json definiálását

LP0ol8b

mongo

A kódot ugyanúgy írják, mint az előző példát

A kisalkalmazás Qt-vel létrehozott képe

mit

Az Applet képe, amelyet a Gtk 3.10 alkalmazással készítettek

Itt van egy kis kisalkalmazás-példa, amely egy Gtk-ban írt futtatható fájlt használ, ebben az esetben az OpenBox-ban használt myGtkMenu menüt vesszük.

Ez egy önfuttató menü.

megtk

Töltse le az oktatóanyagot és a példákat


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   aiolia dijo

    Érdekes cikk ...

    1.    marianogaudix dijo

      Köszönöm . Az, hogy minden nap tanulunk egy kicsit.

  2.   ajándék dijo

    Nagyon jó, imádom, mindig is szerettem volna tudni, hogyan készülnek az efféle kisalkalmazások

  3.   Angyal Araya dijo

    Egy kis javítás. A Gettext nem más, mint a Cinnamon, amint azt a cikk mondja, ez egy könyvtár, amely lehetővé teszi az automatikus fordításokat és sablonokból.

  4.   MSX dijo

    Nagyon jó bemutató és mindez, de a fontos dolog, amit nem tettél meg: link a háttérképre?

    1.    marianogaudix dijo

      Töltse le a Linux Mint 16 Petra háttérképeket.
      A csomag neve ment-backgrounds-petra: http://packages.linuxmint.com/list.php?release=Petra

  5.   Tesla dijo

    Nagyon érdekes cikk. Az az igazság, hogy mindig is kíváncsi voltam, hogyan jöttek létre ezek az appletek. Talán arra ösztönöznék, hogy hozzon létre egy mini lejátszó kisalkalmazást MPD-hez vagy valami hasonlóhoz.

    Köszönöm a megosztás!

  6.   Matias dijo

    Kiváló, épp arra gondolok, hogyan lehet módosítani a fahéj nm-kisalkalmazását (hálózati menedzser), hogy az megváltoztassa a színét, ha nincs internet-hozzáférésem (van wifi-kártyám), és ez segít eligazodni a bit

  7.   matiasbatero17 dijo

    Hát ott Marian, nem tudtam, hogy ide posztolsz. Üdvözlettel.

    1.    marianogaudix dijo

      Mialatt jársz, Matute ... .. mindig körbejárom ezeket a részeket. Egészségére

  8.   lolbimbo dijo

    Jó cikk.

  9.   honovan dijo

    A fájl nem található a szerzői jog megsértése miatt deaktiválva.

    Arra gondolok, hogy ha van, akkor feltöltheti újra ???. Kérem.

    köszönöm.