Mini-Tutorial: Erstellen von Applets für Zimt

Wir werden ein einfaches Applet für erstellen Zimt. Zunächst müssen wir das wissen Zimt bietet verschiedene Arten von Applets an:

  • TextApplet (Anzeige eines Etiketts auf dem Bedienfeld)
  • SymbolApplet (zeigt ein Symbol auf dem Bedienfeld)
  • TextIconApplet (zeigt sowohl ein Symbol als auch eine Beschriftung auf dem Bedienfeld an)
  • Applet (für Hardcore-Entwickler, die ein leeres Feld anzeigen, das Sie selbst ausfüllen können)

In diesem Tutorial möchten wir einfach ein Symbol auf dem Bedienfeld anzeigen, daher verwenden wir ein "IconApplet". Um unser Applet auf zu programmieren Zimt oder Gnom Wir müssen etwas über Javascript-Programmierung wissen und wissen

Ort unseres Codes.

Lassen Sie uns zuerst den Speicherort unserer Datei sehen. Der Speicherort unseres Applets ist unter folgenden Adressen angegeben:

/.local/share/cinnamon/applets oder /usr/share/cinnamon/applets

Zimt_Applet

Dateien, aus denen unser Applet besteht.

Zimt_Applet2

Wir fahren fort, applet.js zu definieren

codigo

applet.js

Nun sehen wir uns den Code von an applet.js und erkläre jeden seiner Sätze:

Applet.js Code starten

Applet-Code

Javascript-Code

Sehen wir uns jeden Satz unseres vorherigen Codes an

const Lang = imports.lang; / * Wir rufen die Bibliotheken Gtk und Lang auf. Sie sind ein grundlegender Bestandteil jeder GNOME-Anwendung. Sie ermöglichen es uns, Fenster und Widgets zu erstellen und zu verknüpfen. * / Const Applet = imports.ui.applet; / * Wir rufen die Applet-Bibliothek auf, mit der wir ein Applet für Cinnamon und Gnome erstellen können, und geben uns gleichzeitig seine Eigenschaften und Funktionen. * / Const GLib = imports.gi.GLib; / * GLib ist eine Hilfsbibliothek, mit der wir Dinge in GNOME erledigen können, z. B. wo sich die Datei hellognome.html befindet. Es ist die Bibliothek, die für Signale zuständig ist. * / Const Gettext = imports.gettext.domain ('cinnamon -applets '); const _ = Gettext.gettext; // Gettext-Bibliothek, mit der wir unsere eigenen Eigenschaften für den Cinnamon-Desktop importieren können. const PopupMenu = imports.ui.popupMenu; / * PopupMenu ist eine Bibliothek zur Verwendung des Menü-Managers. Sie ermöglicht es uns, das Popup-Menü-Widget aufzurufen, das normalerweise in Applets verwendet wird. * / Function MyApplet (Ausrichtung) {this._init (Ausrichtung); }}

Als nächstes definieren wir den Konstruktor unseres Applets. Schauen wir uns unsere Klasse oder Klasse an:

gjs Klasse

Wir fahren mit der Definition jedes Satzes fort

MyApplet.prototype = {__proto__: Applet.IconApplet.prototype, // Wir definieren unsere Klasse oder Klasse _init: function (Orientierung) {Applet.IconApplet.prototype._init.call (diese Orientierung); / * Wir legen die Ausrichtung durch Zimt fest. Wir legen fest, ob sich das Bedienfeld des Applets oben oder unten befindet (dies wirkt sich auf die Ausrichtung der Applet-Menüs aus). * / Try {// Do Something} Catch (e) {// Was passiert, wenn ein Fehler auftritt? } / * Wir verwenden einen try / catch, um eventuelle Fehler in unserem Applet abzufangen und sicherzustellen, dass sie in das globale Fehlerprotokoll geschrieben werden. Auf diese Weise können Sie den Fehler im Spiegel sehen, wenn etwas schief geht: Drücken Sie Alt F2, geben Sie "lg" ein und klicken Sie auf die Registerkarte "Fehler". * / This.menuManager = new PopupMenu.PopupMenuManager (this); // Erstelle das Popup-Menü und setze den Menü-Manager this.menu = new Applet.AppletPopupMenu (this, Ausrichtung); // Wir erstellen ein Menü. this.menuManager.addMenu (this.menu); // Wir fügen das Menü dem Popup-Menü hinzu. this.makeMenu (); // menuitem makeMenu, wir erstellen ein menuitem namens makeMenu. this.buildContextMenu (); // buildContextMenu, wir erstellen ein Menü namens buildContextMenu. this.set_applet_icon_name ("Ordner"); / * Wir erstellen das Applet. Dieser Fall ist eindeutig. Das ausgewählte Symbol ist der Ordner oder Ordner. Wir können auch ein Text-Applet einrichten, wenn wir möchten. * /

Ändern Sie beispielsweise den Namen "Ordner" in "Terminal", "Docky", um neue Namen festzulegen. Sehen Sie sich den Namen der Gnome- oder Zimtsymbole oder eines anderen Symbolthemas an und geben Sie die Adresse ein.

/usr/share/icons

Z7qwRdp

this.set_applet_tooltip (_ ("Klicken Sie hier, um ein Fenster zu schließen")); // Catch, um alle Fehler abzufangen, die in unserem Applet auftreten können. catch (e) {global.logError (e); } makeMenu: function () {this.menu.addMenuItem (neues PopupMenu.PopupMenuItem ("Test Message", {reactive: true})); }, / * Wir definieren den Namen des makeMenu-Menüs und seine Eigenschaften. In diesem Fall lautet die Bezeichnung Testnachricht ". Wir definieren {reaktiv: true}. Wir stellen fest, dass sich der Hintergrund des Menüs ändert, wenn der Zeiger über das Menü durch true fährt, wenn es falsch ist. Das Gegenteil ist der Fall. * / BuildContextMenu: function () {this.menu .addMenuItem (neues PopupMenu.PopupMenuItem ("show", {reactive: true}));}, // Wir definieren den Namen des makeMenu-Menüs und seine Eigenschaften. In diesem Fall lautet die Bezeichnung "show" ". on_applet_clicked: function (event) {this.menu.toggle ();} // Vom Applet ausgegebenes Signal zum Aufrufen der Popup-Menüfunktion main (Metadaten, Ausrichtung) {let myApplet = new MyApplet (Ausrichtung); return myApplet;} / * Schließlich müssen wir nur eine "Haupt" -Funktion hinzufügen, die wahrscheinlich in jedem Applet gleich ist. Eine Instanz unseres Applets wird erstellt und an Cinnamon zurückgegeben. * / // Wir schließen die Schleifenrückgabe myApplet;

Wir fahren fort, metadata.json zu definieren

LP0ol8b

Screenshot - 140314 - 21:11:34

"zuletzt bearbeitet": "1331990905", // Letzte Ausgabe. "description": "Klicken Sie auf das Applet, um ein benutzerdefiniertes, persönlich definiertes GTK-Menü anzuzeigen", // Applet-Beschreibung. "icon": "docky", // Symbole, die für die Applet-Beschreibung verwendet werden. Ändern Sie beispielsweise den Namen "Docky" in "Terminal", "Ordner". "uuid": "black" // Ordner, in dem unsere Datei metadata.json enthalten ist "name": "Benutzerdefiniertes GTK-Menü" // Applet-Name.

Hinweis: Um neue Namen festzulegen, sehen Sie den Namen der Gnome- oder Cinnamon-Symbole oder eines anderen Symbolthemas. Gehen Sie zur Adresse des Dateisystems.

/usr/share/icons

Bild des erstellten Applets

  lKxpdkS

Qt, Gtk, Vala und andere Sprachen, mit denen ein Applet für Cinnamon oder Gnome erstellt wurde

Sehen wir uns die Position unseres Applets für Zimt an

Der Speicherort unseres Applets ist unter folgenden Adressen angegeben:

/.local/share/cinnamon/applets

oder

/usr/share/cinnamon/applets

Nerd

Zusammensetzung unseres Applets

Beta

Wir fahren fort, applet.js zu definieren 

codigo

applet.js

Starten des Codes applet.js

Screenshot - 140314 - 21:30:48

Ende von applet.js

Lassen Sie uns nun den Code applet.js anzeigen und seine Anweisungen erläutern.

Der geschriebene Code ist praktisch der gleiche wie im vorherigen Beispiel, das mit Javascript geschrieben wurde.
Es wurde nur das Signal geändert, wodurch unsere automatisch ausführbare Datei aufgerufen wird.

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

Unsere automatisch ausführbare Datei kann mit Qt, Gtk, Gtkmm, wxWidget, Vala usw. geschrieben werden. Sprachen, mit denen selbst ausführbare Dateien erstellt werden können. Unsere automatisch ausführbare Datei heißt Menu und befindet sich im Ordner Qtmenu.

Beta

Wir können auch andere Programmiersprachen verwenden, die Bindungen für Gtk haben, wie z. B. PyGTK, Ruby Gtk, Perl Gtk usw. Dies kann mithilfe eines Skripts verwendet werden, um den in diesen Sprachen geschriebenen Code auszuführen. Das Prinzip ist immer dasselbe, Programme aufzurufen, Popup-Menü und Popup-Fenster nach unseren Bedürfnissen zu erstellen.

Sehen wir uns den Code unserer mit Qt geschriebenen automatisch ausführbaren Datei an

qt

Wir fahren fort, metadata.json zu definieren

LP0ol8b

Mongo

Der Code wird auf die gleiche Weise wie im vorherigen Beispiel geschrieben

Mit Qt erstelltes Applet-Image

was

Bild des mit Gtk 3.10 erstellten Applets

Hier ist ein kleines Beispiel für ein Applet, das eine in Gtk geschriebene ausführbare Datei verwendet. In diesem Fall verwenden wir das in OpenBox verwendete Menü myGtkMenu.

Es ist ein selbstausführendes Menü.

megtk

Laden Sie das Tutorial und die Beispiele herunter


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Aioria sagte

    Interessanter Artikel ...

    1.    Marianogaudix sagte

      Vielen Dank . Mein ist, dass wir jeden Tag ein bisschen lernen.

  2.   Geschenk sagte

    Sehr gut, ich liebe es, ich wollte immer wissen, wie solche Applets hergestellt wurden

  3.   Engel Araya sagte

    Eine kleine Korrektur. Gettext ist nichts Spezielles für Zimt, wie es im Artikel heißt. Es ist eine Bibliothek, die automatische Übersetzungen und Vorlagen ermöglicht.

  4.   MSX sagte

    Sehr gutes Tutorial und all das, aber das Wichtige, was Sie nicht gesagt haben: Link zum Hintergrundbild?

    1.    Marianogaudix sagte

      Laden Sie die Hintergrundbilder für Linux Mint 16 Petra herunter.
      Das Paket heißt mint-background-petra: http://packages.linuxmint.com/list.php?release=Petra

  5.   Tesla sagte

    Sehr interessanter Artikel. Die Wahrheit ist, dass ich mich immer gefragt hatte, wie diese Applets erstellt wurden. Vielleicht werde ich ermutigt, ein Mini-Player-Applet für MPD oder ähnliches zu erstellen.

    Vielen Dank für das Teilen!

  6.   Matias sagte

    Ausgezeichnet, ich finde gerade heraus, wie ich das nm-Applet (Netzwerkmanager) von cinnamon so ändern kann, dass es seine Farbe ändert, wenn ich keinen Internetzugang habe (ich habe eine WLAN-Karte), und dies hilft mir, mich zu orientieren bisschen

  7.   matiasbatero17 sagte

    Nun, Marian, ich wusste nicht, dass du hier postest. Grüße.

    1.    Marianogaudix sagte

      Während du gehst, Matute ... gehe ich immer um diese Teile herum. Prost

  8.   Lolbimbo sagte

    Guter Artikel.

  9.   Honovan sagte

    Datei nicht gefunden wurde wegen Urheberrechtsverletzung deaktiviert.

    Was ich meine ist, wenn du es dort hast, kannst du es wieder hochladen ???. Bitte.

    danke.