Апплет линукс минт мате

Апплет линукс минт мате

В этом уроке, мы рассмотрим процесс создания простого аплета, для изучения Applet API. Здесь мы создадим Force Quit applet.

Для тех, кто не знаком с Force Quit: когда окно перестает отвечать и не хочет закрываться, самый эффективный способ его закрыть — убить его процесс. Вы можете использовать команду ps , чтобы найти ID процесса и убить его командой kill . Или же вы можете выполнить команду xkill и просто нажать на окно, которое вы хотите убить. И это именно то, что делает Force Quit applet. После того, как вы кликните на него, курсор мыши превращается в убийцу окна, которым вы выберете окно которое необходимо закрыть.

Создание базовой структуры аплета.

Аплет — это в основном каталог, имя которого будет uuid, содержащий два файла:

metadata.json — файл, который содержит информацию о приложении, такую как его название, описание и т.д..
В файле applet.js содержится код аплета.

Перейдём в ~/.local/share/cinnamon/applets (или в /usr/share/cinnamon/applets , если вы хотите, чтобы аплет был доступен для всех пользоватей) и создадим файлы и папки, необходимые для аплета.

cd mkdir -p .local/share/cinnamon/applets/force-quit@cinnamon.org cd .local/share/cinnamon/applets/force-quit@cinnamon.org touch metadata.json touch applet.js

Определение метаданных аплета.

Давайте откроем metadata.json и опишем наш аплет. Этот файл определяет идентификатор UUID, название, описание, значок аплета и используется Cinnamon для отображения его пользователям в настройках.

По умолчанию только один экземпляр каждого аплета может быть размещен на панели пользователя. Но если у пользователя несколько панелей, он не может иметь аплет force-quit на каждой панели, что очень плохо. Следовательно, мы должны также добавить max-instance экземпляра. Мы можем задать любое число (например, 3), или сделать его неограниченным, сделав его -1. В этом случае, наш новый metadata.json будет:


Пишем аплет

 const Applet = imports.ui.applet; const Util = imports.misc.util; function MyApplet(orientation, panel_height, instance_id) < this._init(orientation, panel_height, instance_id); >MyApplet.prototype = < __proto__: Applet.IconApplet.prototype, _init: function(orientation, panel_height, instance_id) < Applet.IconApplet.prototype._init.call(this, orientation, panel_height, instance_id); this.set_applet_icon_name("force-exit"); this.set_applet_tooltip(_("Click here to kill a window")); >, on_applet_clicked: function() < Util.spawn('xkill'); >>; function main(metadata, orientation, panel_height, instance_id)

Теперь рассмотрим код построчно, начиная с нижней части.

 function main(metadata, orientation, panel_height, instance_id)

main — единственная функция которую понимает Cinnamon. Чтобы загрузить аплет, Cinnamon вызывает функцию main в код аплета, и ожидает получения объекта аплета, который будет добавлен на панель. Поэтому здесь мы создаем объект MyApplet (чьи данные указаны выше), и возвращаем его.

Вы заметите, что есть много параметров, плавающие вокруг metadata содержат, в основном, информацию в metadata.json плюс еще немного. От этого мало пользы в целом, но иногда может предоставить некоторую нужную информацию.

orientation — где находится панель, в верхней или нижней части. Аплет может вести себя по-разному в зависимости от его позиции, например. чтобы сделать всплывающее меню появляещееся на правой стороне.

Читайте также:  Ipv6 туннель ipv4 linux

panel_height сообщает высоту панели. Таким образом, мы можем масштабировать иконки вверх и вниз в зависимости от того, насколько большая группа.

instance_id говорит, какой это экземпляр аплета, так как там может быть несколько экземпляров аплета. Пока это просто номер, присвоенный аплету и не имеет особого смысла.

Здесь мы передаем информацию в конструктор, и конструктор будет позже передать его в API аплета.

Так что же происходит, когда мы создаем аплет? Сначала посмотрим на первые две строки:

 const Applet = imports.ui.applet; const Util = imports.misc.util;

Здесь мы импортируем определенния API, предоставляемые Cinnamon. Наиболее важным из них является, конечно, API-интерфейс аплета. Нам также потребуется Util для запуска внешней программы (xkill). Когда мы пишем imports.ui.applet, мы вызываем функции определенные в /usr/share/cinnamon/js/ui/applet.js . Аналогично, imports.misc.util доступна в /usr/share/cinnamon/js/misc/util.js . Затем мы называем эти вещи Applet и Util соответственно, чтобы не набирать кучу кода.

 function MyApplet(orientation, panel_height, instance_id)

Это стандартная конструкция объекта JavaScript. Когда кто-то делает этот вызов, он вызывает функцию _init объекта. Обратите внимание, что здесь мы назвали наш аплет MyApplet. Вы вольны называть его как угодно (и измененить функцию main соответственно).

Также отметим, что мы передаем все orientation по цепочке, пока она в конечном счете достигнет API для аплетов.

Теперь мы переходим к телу кода:

 MyApplet.prototype = < __proto__: Applet.IconApplet.prototype, _init: function(orientation, panel_height, instance_id) < Applet.IconApplet.prototype._init.call(this, orientation, panel_height, instance_id); this.set_applet_icon_name("force-exit"); this.set_applet_tooltip(_("Click here to kill a window")); >, on_applet_clicked: function() < Util.spawn('xkill'); >>; 

Грубо говоря, prototype — это список всех функций объекта. Здесь мы имеем функцию _init и функции on_applet_clicked, это всё, что нам нужно.

Здесь мы видим то, что я называют «API-интерфейс аплета» все время. Несколько основных объектов определяются в applet.js и мы наследуем один из них. Здесь мы объявляем наследование Applet.IconApplet, который отображает значок.

Наследование в JavaScript немного странные. Сначала мы копируем Applet.IconApplet с помощью:

 __proto__: Applet.IconApplet.prototype,

Эта строка копирует все функции, найденные в Applet.IconApplet в наш аплет, который мы собираемся использовать.

Далее, в нашей функции _init, мы вызываем _init функцию Applet.IconApplet. Здесь мы передаем всю информацию об ориентации и т.д. для функции _init, и эта функция необходима для отображения аплета правильно.

Однако, вопреки распространенному мнению, API аплета не является экстрасенсом. Он понятия не имеет, что ваш аплет хочет делать (помимо отображения иконки). Вы должны сначала сказать ему, что значок, должен быть в строке

 this.set_applet_icon_name("force-exit");

Обратите внимание, что set_applet_icon_name — это функция определенная внутри Applet.IconApplet, что позволяет аплету отображать соответствующий значок. С помощью API аплета, мы спасли себя от хлопот создания иконок и разместив их в нужном месте. (force-exit имя значка из пользователя набор иконок. Иконки доступные для использования можно найти в /usr/share/icons/ ).

 this.set_applet_tooltip(_("Click here to kill a window"));

говорит о том, что аплет должен иметь всплывающую подсказку с названием _(«Click here to kill a window»). Обернув строку в _( ), мы сообщаем Cinnamon, о переводе строки в на текущий язык, если перевод не доступен.

Читайте также:  Восстановление удаленных файлов linux mint

Это весь код нашей функции _init. Теперь мы будем ждать когда пользователь кликнет на аплет. API-интерфейс аплета автоматически слушает эти события, и когда пользователь нажимает на аплет, то API будет вызывать on_applet_clicked вашего аплета. Здесь мы имеем:

 on_applet_clicked: function()

вызов spawn функции из Util, и запуск внешней команды xkill

Изображение

Настоящая водка — это не пьянство, а ключ к своей совести, с нее-то и начинается настоящая мудрость. (c)

zuzabrik Сообщения: 1744 Зарегистрирован: 29 авг 2016, 12:08 Решено: 20 Благодарил (а): 108 раз Поблагодарили: 521 раз Контактная информация:

Источник

Linux mint mate апплеты

Общая библиотека для работы с функцией ядра cpufreq Linux Простая межпроцессная система обмена сообщениями (общая библиотека на основе GLib) Библиотека GDK Pixbuf Библиотека GLib подпрограмм C Библиотека графического интерфейса пользователя GTK+ Общие библиотеки для виджета подсветки синтаксиса GTK+ Gtop система мониторинга (общая)

Библиотека виджетов браузера Unicode (общая библиотека) Беспроводные инструменты — библиотека Библиотека для апплетов MATE Panel Совместная библиотека MateWeather Отправляет уведомления на рабочем столе демон-уведомления Макет и предоставление интернационализированного текста Макет и предоставление интернационализированного текста

API авторизации PolicyKit Абстракция для управления питанием — общая библиотека Window Navigator Construction Kit — файлы времени выполнения X11 клиентская библиотека Библиотека XML GNOME Различные апплеты для панели MATE (общие файлы) Пусковая установка и док-станция для MATE

Интерактивный высокоуровневый объектно-ориентированный язык (ветка 2.x) Связывание Python 2.x для библиотек-интроспекции gobject Источник

compizomania

Азбука в Linux для начинающих и не только. Я знаю только то, что ничего не знаю, но другие не знают и этого. Сократ

Страницы

17 мая 2015

Установить Dock Applet в Ubuntu MATE и Linux Mint MATE

Dock Applet является новым и очень «молодым» приложением, которое отображает на панели окна открытых приложений в виде значков без надписей, что в конечном итоге значительно сокращает место на панели задач при многочисленных открытых окнах и является очень полезным для маленьких мониторов ноутбуков.
Под значком запущенного приложения отображается также индикатор (с настраиваемым цветом для светлых и темных панелей) и позволяет перемещать значки через правый клик — влево/вправо.

Установка Dock Applet в Ubuntu MATE 15.04/14.10/14.04 и Linux Mint MATE 17.1/17 Откройте терминал, скопируйте и выполните следующие команды: sudo add-apt-repository ppa:webupd8team/mate
sudo apt-get update
sudo apt-get install mate-dock-applet По окончании установки Dock Applet правый клик на панели — Добавить на панель и в открывшемся окне Добавить на панель, выберите 1. Dock2. Добавить: Источник

УСТАНОВКА АППЛЕТОВ БЕЗ ТЕРМИНАЛА в Linux Mint 14 Cinnamon

Когда я установил Linux Mint 14 Cinnamon и перешел к настройке панели управления, а именно к добавлению нужных апплетов-(играют немаловажную роль), то их к сожалению оказалось «кот наплакал» — по сравнению с Linux Mint 14 Mate. Мне нужно было их как-то установить, и я нашел способ :

Читайте также:  Kali linux как сделать persistence

1).- С помощью терминала — (требует знания команд), 2).- Вручную — (простой и лёгкий способ), Его мы и рассмотрим: 1. — Добавить апплет на панель (для увеличения кликни на фото) Откроется окно с апплетами.

В открывшемся окне кликаем по этой ссылке: «Получить новые апплеты» Выбираем нужный нам апплет Скачиваем zip — архив

Создаём папку и распаковываем zip — архив Открываем «Файловая система» — папка » usr « Открываем папку » share » , далее находим » Cinnamon « Находим папку » applets «

Папку » applets » открываем от имени » root » » Open as Root «. Копируем папку — апплет из скачанного архива и вставляем в папку » applets « Находим установленный нами апплет , отмечаем его » галочкой «. Рекомендую установить обязательно

— предназначен для Закрытия зависших-подвисающих программ апплет » Restart Cinnamon» — «Перезагрузка Cinnamon» — предназначен для Перезагрузки Cinnamon (например дефекты изображения-цвета) апплет » Power — off » — » Выключение « — предназначен для Выключения и перевода системы в различные режимы работы. (я установил для того,что бы лишний раз не открывать «Меню»). Источник

Install Dock Applet into Linux Mint Mate

Dock Applet is a new and very young app that displays on the panel open application window in the form of icons without labels, which ultimately significantly reduces the space on the taskbar when many Windows open and is very useful for small monitors, laptops. Under the icon of the running application is displayed by an indicator (with configurable color for dark and light panels) and allows you to move the icons via right-click – left/right.
Here is the applet open Windows by default: Install Dock Applet into Linux Mint Mate Dock Applet after installation and activation : Install Dock Applet into Linux Mint Mate Installation into Linux Mint 17/17.1: sudo add-apt-repository ppa:webupd8team/mate
sudo apt-get update
sudo apt-get install mate-dock-applet[/simterm] After the installation is complete Dock Applet, right click on panel – add to panel and in the opened window, select Dock then Add.

Источник

compizomania

Dock Applet является новым и очень «молодым» приложением, которое отображает на панели окна открытых приложений в виде значков без надписей, что в конечном итоге значительно сокращает место на панели задач при многочисленных открытых окнах и является очень полезным для маленьких мониторов ноутбуков.
Под значком запущенного приложения отображается также индикатор (с настраиваемым цветом для светлых и темных панелей) и позволяет перемещать значки через правый клик — влево/вправо.

Установка Dock Applet в Ubuntu MATE 15.04/14.10/14.04 и Linux Mint MATE 17.1/17

Откройте терминал, скопируйте и выполните следующие команды:

sudo add-apt-repository ppa:webupd8team/mate
sudo apt-get update
sudo apt-get install mate-dock-applet

По окончании установки Dock Applet правый клик на панели — Добавить на панель и в открывшемся окне Добавить на панель, выберите 1. Dock2. Добавить:

Источник

Оцените статью
Adblock
detector