Mini vodič: Stvaranje apleta za cimet

Stvorit ćemo jednostavan aplet za Cimet. Za početak moramo to znati Cimet nudi različite vrste apleta:

  • Tekstualni aplet (pokazivanje naljepnice na ploči)
  • IkonaAplet (prikazuje ikonu na ploči)
  • TextIconApplet (naznačujući i ikonu i naljepnicu na ploči)
  • Aplet (za hardcore programere koji pokazuju prazan okvir koji možete sami popuniti)

U ovom uputstvu jednostavno želimo prikazati ikonu na ploči, pa ćemo koristiti "IconApplet". Kako bismo programirali naš aplet na Cimet ili Gnome moramo znati i znati nešto o programiranju Javascripta

Mjesto našeg koda.

Prvo, pogledajmo mjesto naše datoteke. Lokacija našeg apleta navedena je na sljedećim adresama:

/.local/share/cinnamon/applets ili u /usr/share/cinnamon/applets

Cimet_Applet

Datoteke koje čine naš Aplet.

Cimet_Applet2

Nastavljamo s definiranjem applet.js

Kod

applet.js

Sada nastavimo vidjeti kôd applet.js i objasnite svaku njegovu rečenicu:

applet.js kôd start

kod apleta

javascript kôd

Pogledajmo svaku od rečenica prethodnog koda

const Lang = import.lang; / * Pozivamo se na knjižnice Gtk i Lang, one su osnovni dio bilo koje GNOME aplikacije, omogućuju nam izradu prozora, widgeta i njihovo povezivanje. * / Const Applet = import.ui.applet; / * Pozivamo knjižnicu Applet koja nam omogućuje stvaranje apleta za Cinnamon i Gnome te nam istovremeno daje njegova svojstva i funkcije. * / Const GLib = import.gi.GLib; / * GLib je knjižnica pomoći, omogućuje nam rad u GNOME-u, na primjer recimo gdje je datoteka hellognome.html, to je knjižnica zadužena za signale. * / Const Gettext = import.gettext.domain ('cinnamon-applets '); const _ = Gettext.gettext; // Gettext biblioteka koja nam omogućuje uvoz karakteristika radne površine Cinnamon. const PopupMenu = import.ui.popupMenu; / * PopupMenu je knjižnica koja koristi upravitelj izbornika, omogućava nam pozivanje widgeta skočnog izbornika koji se obično koristi u apletima. * / Funkcija MyApplet (orijentacija) {this._init (orijentacija); }

Dalje definiramo konstruktor našeg apleta, pogledajmo našu klasu ili klasu:

klasa gjs

Nastavljamo s definicijom svake od rečenica

MyApplet.prototype = {__proto__: Applet.IconApplet.prototype, // Definiramo našu Klasu ili Klasu _init: funkcija (orijentacija) {Applet.IconApplet.prototype._init.call (ovo, orijentacija); / * Orijentaciju smo postavili kroz Cimet. Postavljamo je li ploča apleta na vrhu ili na dnu (to utječe na orijentaciju izbornika apleta). * / Pokušajte {// Učinite nešto} Uhvatite (e) {// Što se događa ako se dogodi pogreška} / * Koristimo try / catch kako bismo uhvatili sve pogreške koje se mogu pojaviti u našem apletu i kako bismo bili sigurni da je zapisana u globalni dnevnik pogrešaka. Na ovaj način, ako nešto pođe po zlu, možete vidjeti pogrešku u Looking Glass: Pritisnite Alt F2, upišite "lg" i kliknite karticu "pogreške". * / This.menuManager = novi PopupMenu.PopupMenuManager (ovaj) ; // Stvorite skočni izbornik i postavite upravitelja izbornika this.menu = new Applet.AppletPopupMenu (ovo, orijentacija); // kreiramo izbornik. this.menuManager.addMenu (this.menu); // Dodajemo izbornik u skočni izbornik. this.makeMenu (); // menuitem makeMenu, kreiramo stavku izbornika nazvanu makeMenu. this.buildContextMenu (); // buildContextMenu, kreiramo stavku izbornika nazvanu buildContextMenu. this.set_applet_icon_name ("mapa"); / * Stvaramo aplet, ovaj je slučaj jedinstven, odabrana ikona je mapa ili mapa, ako želimo, možemo uspostaviti i aplet za tekst.

Kao primjer promijenite ime "mape" u "terminal", "docky" da biste uspostavili nova imena, pogledajte naziv ikona Gnome ili Cinnamon ili bilo koje druge teme ikona, idite na adresu.

/usr/share/icons

Z7qwRdp

this.set_applet_tooltip (_ ("Kliknite ovdje da ubijete prozor")); // Uhvatite kako biste uhvatili sve pogreške koje se mogu pojaviti u našem apletu. catch (e) {global.logError (e); } makeMenu: function () {this.menu.addMenuItem (novi PopupMenu.PopupMenuItem ("Test poruka", {reaktivni: tačno})); }, / * Definiramo naziv stavke izbornika makeMenu i njegove karakteristike. U ovom slučaju oznaka je Test Message ". Definirat ćemo {reaktivan: true} Utvrđujemo da će se pozadina stavke izbornika promijeniti kada pokazivač prijeđe preko stavke izbornika kroz vrijednost true ako se dogodi suprotno. * / BuildContextMenu: function () {this.menu .addMenuItem (new PopupMenu.PopupMenuItem ("show", {reactive: true}));}, // Definiramo naziv stavke izbornika makeMenu i njegove karakteristike. U ovom slučaju oznaka je "show". on_applet_clicked: function (event) {this.menu.toggle ();} // Signal koji emitira aplet za pozivanje funkcije skočnog izbornika glavnom (metapodaci, orijentacija) {let myApplet = new MyApplet (orijentacija); return myApplet;} / * Napokon , moramo dodati "glavnu" funkciju, koja će vjerojatno biti ista u svakom apletu, instanca našeg apleta kreira se i vraća u Cinnamon. * / // Zatvaramo petlju return myApplet;

Nastavljamo s definiranjem metadata.json

LP0ol8b

Snimka zaslona - 140314 - 21:11:34

"last-edited": "1331990905", // Posljednje izdanje. "description": "Kliknite na aplet za prikaz osobno definiranog gtk izbornika", // Opis apleta. "icon": "docky", // Ikone korištene za opis apleta. Kao primjer promijenite ime "docky" u "terminal", "folder". "uuid": "black" // Mapa u koju je uključena naša metadata.json datoteka "name": "Prilagođeni gtk izbornik" // Naziv apleta.

Napomena: Da biste postavili nova imena, pogledajte naziv ikona Gnome ili Cinnamon ili bilo koje druge teme ikona, idite na adresu datotečnog sustava.

/usr/share/icons

Slika stvorenog Apleta

  lKxpdkS

Qt, Gtk, Vala i drugi jezici korišteni za stvaranje apleta za cimet ili gnome

Pogledajmo mjesto našeg apleta za cimet

Lokacija našeg apleta navedena je na sljedećim adresama:

/.local/share/cinnamon/applets

ili u

/usr/share/cinnamon/applets

glupan

Sastav našeg apleta

beta

Nastavljamo s definiranjem applet.js 

Kod

applet.js

Pokretanje koda applet.js

Snimka zaslona - 140314 - 21:30:48

Kraj applet.js

Ajmo sada vidjeti applet.js kôd i objasniti njegove izjave.

Napisani kod praktički je isti kao i prethodni primjer napisan s Javascriptom.
Promijenjen je samo signal koji će nazvati našu automatski izvršnu.

on_applet_clicked: funkcija (događaj) {GLib.spawn_command_line_async (GLib.get_home_dir () + '/.local/share/cinnamon/applets/Qt4/Qtmenu/Menu'); }

Naša automatski izvršna datoteka može se napisati s Qt, Gtk, Gtkmm, wxWidget, Vala itd. jezici pomoću kojih se mogu izvršiti samoizvršni programi. Naša se automatski izvršna datoteka zove Menu i nalazi se u mapi Qtmenu.

beta

Možemo koristiti i druge programske jezike koji imaju veznice za Gtk, kao što je slučaj PyGTK, Ruby Gtk, Perl Gtk itd. koji se može koristiti pomoću skripte za izvršavanje koda napisanog na tim jezicima. Princip je uvijek isti pozivati ​​programe, stvarati skočni izbornik i skočni prozor prema našim potrebama.

Pogledajmo kôd naše automatski izvršne datoteke napisan s Qt

qt

Nastavljamo s definiranjem metadata.json

LP0ol8b

Mongo

Kod je napisan na isti način kao i prethodni primjer

Slika apleta kreirana pomoću Qt

što

Slika Apleta stvorena s Gtk 3.10

Ostavljam vam mali primjer apleta koji koristi izvršnu datoteku napisanu u Gtk, u ovom slučaju uzimamo izbornik myGtkMenu koji se koristi u OpenBoxu.

To je samoizvršni izbornik.

megtk

Preuzmite vodič i primjere


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   aiorija dijo

    Zanimljiv članak ...

    1.    marianogaudix dijo

      Hvala vam . Moje je da svakodnevno pomalo učimo.

  2.   poklon dijo

    Vrlo dobro, sviđa mi se, uvijek sam željela znati kako su napravljene ove vrste jabuka

  3.   Angel Araya dijo

    Mala korekcija. Gettext nije ništa specifično za Cinnamon, kao što kaže u članku, to je knjižnica koja omogućuje automatske prijevode i s predložaka.

  4.   MSX dijo

    Vrlo dobar vodič i sve to, ali najvažnija stvar koju niste stavili: veza do pozadine?

    1.    marianogaudix dijo

      Preuzmite Linux Mint 16 Petra pozadine.
      Paket se naziva mint-backgrounds-petra: http://packages.linuxmint.com/list.php?release=Petra

  5.   Tesla dijo

    Vrlo zanimljiv članak. Istina je da sam se uvijek pitao kako su stvoreni ti apleti. Možda me potiče da stvorim program za mini-player za MPD ili nešto slično.

    Hvala za dijeljenje!

  6.   Matias dijo

    Izvrsno, samo smišljam kako izmijeniti nm-aplet za cimet (upravitelj mreže), tako da mijenja boju kada nemam pristup internetu, (imam wifi karticu), a to mi pomaže da se malo orijentiram.

  7.   matiasbatero17 dijo

    Pa, Marijane, nisam znao da ovdje postavljate poruke. Pozdrav.

    1.    marianogaudix dijo

      Kako si, Matute ... .. Uvijek hodam po ovim dijelovima. Živjeli

  8.   lolbimbo dijo

    Dobar članak.

  9.   honovan dijo

    datoteka nije pronađena deaktivirana je zbog kršenja autorskih prava.

    Mislim na to da ako ga imate tamo, možete li ga ponovo poslati ???. Molim vas.

    Hvala vam.