Міні-підручник: Створення аплетів для кориці

Ми збираємося створити простий аплет для Кориця. Для початку ми повинні це знати Кориця пропонує різні типи аплетів:

  • Текстовий аплет (показ ярлика на панелі)
  • IconApplet (показ значка на панелі)
  • TextIconApplet (із зазначенням піктограми та мітки на панелі)
  • Applet (для жорстких розробників, які показують пусте поле, яке ви можете заповнити самостійно)

У цьому посібнику ми просто хочемо відобразити піктограму на панелі, тому ми будемо використовувати "IconApplet". Для того, щоб запрограмувати наш аплет на Кориця або гном нам потрібно знати і знати щось про програмування Javascript

Розташування нашого коду.

Спочатку давайте розглянемо розташування нашого файлу. Розташування нашого аплету вказано за такими адресами:

/.local/share/cinnamon/applets про ан /usr/share/cinnamon/applets

Кориця_Аплет

Файли, з яких складається наш аплет.

Кориця_Аплет2

Приступаємо до визначення applet.js

код

applet.js

Тепер приступимо до перегляду коду applet.js і поясніть кожне його речення:

код запуску applet.js

код аплету

код JavaScript

Давайте подивимось кожне з речень нашого попереднього коду

const Lang = import.lang; / * Ми викликаємо бібліотеки Gtk та Lang, вони є базовою частиною будь-якої програми GNOME, вони дозволяють нам створювати вікна, віджети та пов'язувати їх. * / Const Applet = import.ui.applet; / * Ми викликаємо бібліотеку аплетів, яка дозволяє нам створити аплет для Cinnamon і Gnome і одночасно надає нам його властивості та функції. * / Const GLib = import.gi.GLib; / * GLib - це бібліотека довідки, вона дозволяє нам робити щось у GNOME, наприклад, сказати, де знаходиться файл hellognome.html, це бібліотека, яка відповідає за сигнали. * / Const Gettext = import.gettext.domain ('cinnamon -аплети '); const _ = Gettext.gettext; // Бібліотека Gettext, яка дозволяє імпортувати наші власні характеристики для робочого столу Cinnamon. const PopupMenu = import.ui.popupMenu; / * PopupMenu - це бібліотека для використання менеджера меню, вона дозволяє нам викликати віджет спливаючого меню, який зазвичай використовується в аплетах. * / Функція MyApplet (орієнтація) {this._init (орієнтація); }

Конструктор нашого аплету визначений нижче, давайте розглянемо наш клас або клас:

клас gjs

Продовжуємо з визначенням кожного з речень

MyApplet.prototype = {__proto__: Applet.IconApplet.prototype, // Визначаємо наш Клас або Клас _init: функція (орієнтація) {Applet.IconApplet.prototype._init.call (ця, орієнтація); / * Ми встановлюємо орієнтацію через Корицю. Ми встановлюємо, чи панель аплетів знаходиться вгорі чи внизу (це впливає на орієнтацію меню аплету). * / Спробуйте {// Зробити щось} Зловити (e) {// Що трапиться, якщо виникне помилка } / * Ми використовуємо функцію try / catch, щоб виявити будь-які помилки, які можуть виникнути в нашому аплеті, і переконатися, що вони записані в глобальний журнал помилок. Таким чином, якщо щось піде не так, ви можете побачити помилку в Зазеркаллі: натисніть Alt F2, введіть "lg" і натисніть на вкладку "помилки". * / This.menuManager = new PopupMenu.PopupMenuManager (this); // Створіть спливаюче меню та встановіть менеджер меню this.menu = new Applet.AppletPopupMenu (це, орієнтація); // створюємо меню. this.menuManager.addMenu (this.menu); // Ми додаємо меню до спливаючого меню. this.makeMenu (); // menuitem makeMenu, ми створюємо пункт меню, який називається makeMenu. this.buildContextMenu (); // buildContextMenu, ми створюємо пункт меню з назвою buildContextMenu. this.set_applet_icon_name ("папка"); / * Ми створюємо аплет, цей випадок унікальний, вибраним значком є ​​папка або папка, ми також можемо створити текстовий аплет, якщо хочемо. * /

Як приклад, змініть назву "папки" на "термінал", "докі" для встановлення нових імен, див. Назву піктограм Gnome або Cinnamon або будь-яку іншу тему піктограм, перейдіть за адресою.

/usr/share/icons

Z7qwRdp

this.set_applet_tooltip (_ ("Клацніть тут, щоб закрити вікно")); // Ловіть, щоб виявити помилки, які можуть виникнути в нашому аплеті. catch (e) {global.logError (e); } makeMenu: function () {this.menu.addMenuItem (new PopupMenu.PopupMenuItem ("Тестове повідомлення", {reactive: true})); }, / * Визначаємо назву пункту меню makeMenu та його характеристики. У цьому випадку мітка - тестове повідомлення ". Ми визначимо {реактивний: true} Ми встановлюємо, що фон пункту меню буде змінюватися, коли вказівник переходить через пункт меню через значення true, якщо воно хибне, відбувається навпаки. * / BuildContextMenu: function () {this.menu .addMenuItem (new PopupMenu.PopupMenuItem ("show", {reactive: true}));}, // Визначаємо назву елемента меню makeMenu та його характеристики. У цьому випадку мітка має значення "show ". on_applet_clicked: function (event) {this.menu.toggle ();} // Сигнал, що видається аплетом, для виклику функції спливаючого меню основної (метадані, орієнтація) {let myApplet = new MyApplet (direction); return myApplet;} / * Нарешті, нам просто потрібно додати функцію "main", яка, ймовірно, буде однаковою в кожному аплеті, екземпляр нашого аплету створюється і повертається до Кориці. myApplet;

Ми переходимо до визначення metadata.json

LP0ol8b

Знімок екрана - 140314 - 21:11:34

"останнє редагування": "1331990905", // Останнє видання. "description": "Клацніть на аплет, щоб показати власноруч визначене меню gtk", // Опис аплету. "icon": "docky", // Значки, що використовуються для опису аплету. Як приклад, змініть назву "docky" на "terminal", "folder". "uuid": "black" // Папка, до якої включений наш файл metadata.json "name": "Спеціальне меню gtk" // Назва аплету.

Примітка: Щоб встановити нові імена, див. Назву піктограм Gnome або Cinnamon або будь-яку іншу тему піктограм, перейдіть за адресою файлових систем.

/usr/share/icons

Зображення створеного аплету

  lKxpdkS

Qt, Gtk, Vala та інші мови, що використовуються для створення аплету для Кориці або Gnome

Давайте подивимось, де знаходиться наш аплет для кориці

Розташування нашого аплету вказано за такими адресами:

/.local/share/cinnamon/applets

про ан

/usr/share/cinnamon/applets

розумник

Склад нашого аплету

бета

Приступаємо до визначення applet.js 

код

applet.js

Запуск коду applet.js

Знімок екрана - 140314 - 21:30:48

Кінець applet.js

Тепер давайте перейдемо до перегляду коду applet.js та пояснення його тверджень.

Написаний код практично такий самий, як і попередній приклад, написаний на Javascript.
Змінено лише сигнал, який призведе до автоматичного виконання.

on_applet_clicked: функція (подія) {GLib.spawn_command_line_async (GLib.get_home_dir () + '/.local/share/cinnamon/applets/Qt4/Qtmenu/Menu'); }

Наш автоматично виконуваний файл можна записати за допомогою Qt, Gtk, Gtkmm, wxWidget, Vala тощо. мови, за допомогою яких можна створювати самостійно виконувані файли. Наш автоматично виконуваний файл називається Меню, і він знаходиться в папці Qtmenu.

бета

Ми також можемо використовувати інші мови програмування, які мають прив'язки до Gtk, наприклад, PyGTK, Ruby Gtk, Perl Gtk тощо. який можна використовувати за допомогою скрипта для виконання коду, написаного цими мовами. Принцип завжди однаковий - викликати програми, створювати спливаюче меню та спливаюче вікно відповідно до наших потреб.

Давайте подивимось код нашого автозапуску, написаного на Qt

qt

Ми переходимо до визначення metadata.json

LP0ol8b

манго

Код пишеться так само, як і попередній приклад

Зображення аплету, створене за допомогою Qt

що

Зображення аплету, створене за допомогою Gtk 3.10

Ось невеликий приклад аплета, який використовує виконуваний файл, написаний на Gtk, у цьому випадку ми беремо меню myGtkMenu, що використовується в OpenBox.

Це самостійне меню.

megtk

Завантажте підручник та приклади


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   айорія - сказав він

    Цікава стаття ...

    1.    маріаногаудікс - сказав він

      Дякую . Моє те, що ми вчимося потроху щодня.

  2.   подарунок - сказав він

    Дуже добре, мені це подобається, я завжди хотів знати, як виготовляли такі види аплетів

  3.   Ангел Арая - сказав він

    Невелика корекція. Gettext не є нічим специфічним для Кориці, як сказано в статті, це бібліотека, яка робить можливим автоматичний переклад із шаблонів.

  4.   MSX - сказав він

    Дуже хороший підручник і все таке, але головне, що ви його не ставили: посилання на шпалери?

    1.    маріаногаудікс - сказав він

      Завантажте шпалери Linux Mint 16 Petra.
      Пакет називається mint-backgrounds-petra: http://packages.linuxmint.com/list.php?release=Petra

  5.   Tesla - сказав він

    Дуже цікава стаття. Правда в тому, що мені завжди було цікаво, як створювались ці аплети. Можливо, мені рекомендується створити аплет для міні-програвача для MPD або щось подібне.

    Дякую, що поділилися!

  6.   Matias - сказав він

    Чудово, я просто розгадую, як змінити nm-аплет cinnamon (мережевий менеджер), щоб він змінив колір, коли у мене немає доступу до Інтернету (у мене є wifi-карта), і це допомагає мені трохи зорієнтуватися.

  7.   matiasbatero17 - сказав він

    Ну там Маріан, я не знав, що ти тут розміщуєш. З повагою.

    1.    маріаногаудікс - сказав він

      Коли ти йдеш, Матуте ... .. Я завжди гуляю по цих краях. На ура

  8.   лолбімбо - сказав він

    Хороша стаття.

  9.   гонован - сказав він

    файл не знайдено, деактивовано через порушення авторських прав.

    Я маю на увазі, що якщо у вас він є там, чи можете ви завантажити його знову ???. Будь ласка.

    Дякую.