Ми збираємося створити простий аплет для Кориця. Для початку ми повинні це знати Кориця пропонує різні типи аплетів:
- Текстовий аплет (показ ярлика на панелі)
- IconApplet (показ значка на панелі)
- TextIconApplet (із зазначенням піктограми та мітки на панелі)
- Applet (для жорстких розробників, які показують пусте поле, яке ви можете заповнити самостійно)
У цьому посібнику ми просто хочемо відобразити піктограму на панелі, тому ми будемо використовувати "IconApplet". Для того, щоб запрограмувати наш аплет на Кориця або гном нам потрібно знати і знати щось про програмування Javascript
Розташування нашого коду.
Спочатку давайте розглянемо розташування нашого файлу. Розташування нашого аплету вказано за такими адресами:
/.local/share/cinnamon/applets
про ан /usr/share/cinnamon/applets
Файли, з яких складається наш аплет.
Приступаємо до визначення applet.js
Тепер приступимо до перегляду коду applet.js і поясніть кожне його речення:
код запуску applet.js
Давайте подивимось кожне з речень нашого попереднього коду
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 (орієнтація); }
Конструктор нашого аплету визначений нижче, давайте розглянемо наш клас або клас:
Продовжуємо з визначенням кожного з речень
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
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
"останнє редагування": "1331990905", // Останнє видання. "description": "Клацніть на аплет, щоб показати власноруч визначене меню gtk", // Опис аплету. "icon": "docky", // Значки, що використовуються для опису аплету. Як приклад, змініть назву "docky" на "terminal", "folder". "uuid": "black" // Папка, до якої включений наш файл metadata.json "name": "Спеціальне меню gtk" // Назва аплету.
Примітка: Щоб встановити нові імена, див. Назву піктограм Gnome або Cinnamon або будь-яку іншу тему піктограм, перейдіть за адресою файлових систем.
/usr/share/icons
Зображення створеного аплету
Qt, Gtk, Vala та інші мови, що використовуються для створення аплету для Кориці або Gnome
Давайте подивимось, де знаходиться наш аплет для кориці
Розташування нашого аплету вказано за такими адресами:
/.local/share/cinnamon/applets
про ан
/usr/share/cinnamon/applets
Склад нашого аплету
Приступаємо до визначення applet.js
Запуск коду applet.js
Кінець 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
Ми переходимо до визначення metadata.json
Код пишеться так само, як і попередній приклад
Зображення аплету, створене за допомогою Qt
Зображення аплету, створене за допомогою Gtk 3.10
Ось невеликий приклад аплета, який використовує виконуваний файл, написаний на Gtk, у цьому випадку ми беремо меню myGtkMenu, що використовується в OpenBox.
Це самостійне меню.
Завантажте підручник та приклади
Цікава стаття ...
Дякую . Моє те, що ми вчимося потроху щодня.
Дуже добре, мені це подобається, я завжди хотів знати, як виготовляли такі види аплетів
Невелика корекція. Gettext не є нічим специфічним для Кориці, як сказано в статті, це бібліотека, яка робить можливим автоматичний переклад із шаблонів.
Дуже хороший підручник і все таке, але головне, що ви його не ставили: посилання на шпалери?
Завантажте шпалери Linux Mint 16 Petra.
Пакет називається mint-backgrounds-petra: http://packages.linuxmint.com/list.php?release=Petra
Дуже цікава стаття. Правда в тому, що мені завжди було цікаво, як створювались ці аплети. Можливо, мені рекомендується створити аплет для міні-програвача для MPD або щось подібне.
Дякую, що поділилися!
Чудово, я просто розгадую, як змінити nm-аплет cinnamon (мережевий менеджер), щоб він змінив колір, коли у мене немає доступу до Інтернету (у мене є wifi-карта), і це допомагає мені трохи зорієнтуватися.
Ну там Маріан, я не знав, що ти тут розміщуєш. З повагою.
Коли ти йдеш, Матуте ... .. Я завжди гуляю по цих краях. На ура
Хороша стаття.
файл не знайдено, деактивовано через порушення авторських прав.
Я маю на увазі, що якщо у вас він є там, чи можете ви завантажити його знову ???. Будь ласка.
Дякую.