Приклад розробки розширення для gnome shell співтовариство gnome

GNOME 3 уособлює собою якісний перехід в традиційному розумінні середовища робочого столу. GNOME Shell є однією з ключових складових GNOME, цей елемент надає базові функції інтерфейсу: перемикання між вікнами, запуск додатків і ін. Крім того, він також надає такі компоненти як панель, загальний екран і панель повідомлень.

У цьому керівництві показано, як створити розширення LUD Volume Control Extender для управління гучністю звкуа. Ви побачите, як можна змінити базовий інтерфейс GNOME без ризику пошкодити систему.

Описуваний приклад розширення LUD Volume Controller Extender використовує код з проекту AdvancedVolumeMixer

Вимоги до системи

Більш-менш сучасний Linux-дистрибутив із середовищем GNOME 3.2 або більш нової версії

Модуль інтеграції з GNOME Shell

Крок 1. Налаштування середовища

Спочатку необхідно підготувати середовище для розробки. Наведений приклад працює в GNOME версії 3.6, але може працювати як в старіших версіях, так і в більш нових. Можливо, для сумісності з цими версіями доведеться трохи підправити код.

Встановіть наступні пакети:

Установка пакета gnome-shell-extensions дозволить переконатися, що ваша система підходить для розробки модулів GNOME Shell.

За допомогою пакету gnome-tweak-tool ви зможете змінювати параметри системи, які недоступні через центр управління GNOME. Цей пакет необов'язково встановлювати, але він може бути корисний для управління розширеннями.

Якщо ви використовуєте Ubuntu, підключіть репозиторій ppa: gnome3-team / gnome3 і встановіть вищезазначені пакети:

Якщо у вас інший дистрибутив, зверніться до документації вашого дистрибутива по установці пакетів.

Крок 2. Створення розширення

До складу пакета GNOME Shell входить інструмент gnome-shell-extension-tool. Цей інструмент використовується для створення розширень:

Програма попросить ввести інформацію про розширення:

Готове розширення буде створено в каталозі $ HOME / .local / share / gnome-shell / extensions / LUDVolCtrlExt @ kunaldeo. gmail.com

Загальносистемні розширення зберігаються в каталозі / usr / share / gnome-shell / extensions.

Крок 3. Запуск створеного розширення

Створене розширення є чимось на зразок класичного додатки «Привіт, світ!». Давайте спробуємо запустити його. Для цього запустіть GNOME Shell. Натисніть Alt + F2, а потім введіть в консоль «r» і натисніть Enter. You will notice a small gears icon appearing on the panel. Clicking on it will flash 'Hello World' on the centre of the screen.

Ви також можете включити розширення за допомогою GNOME Tweak Tool:

Перейдіть в розділ Shell Extensions. У списку розширень має з'явитися створене розширення LUD Volume Control Extender.

Після запуску розширення в панелі з'явиться значок, який зображає шестерінки. Якщо ви натиснете на цей значок на екрані з'явиться і плавно зникне напис Hello, World!

Крок 4. Внутрішній устрій розширення

Тепер поглянемо, що знаходиться всередині розширення. Файл metadata.json містить метадані розширення, він включає в себе інформацію про сумісність з певною версією GNOME Shell, UUID, ім'я та опис розширення.

Файл stylesheet.css містить каскадну таблицю стилів (CSS) розширення, яка відповідає за зовнішній вигляд розширення.

Крок 5. Продовжуємо подорож

У пробному розширенні показано кілька дуже важливих функцій розширень, наприклад розміщення значка в панелі, обробка натискання і показ повідомлення.

Перед тим, як ми продовжимо, давайте поглянемо на базове розширення ще раз.

extension.js починається з наступних інструкцій:

Наступний запис імпорту ui відноситься до призначеного для користувача інтерфейсу. In this case we are using main and tweener. Tweener is a class used to create tweenings and other transitions using ActionScript.

Наступний код створює простий контейнер з одним актором.

Встановлюємо значок для контейнера:

Встановлюємо оброблювач події натискання на кнопку:

Тепер звернемося до обробника події:

Як вже говорилося, стиль тексту визначений у файлі stylesheet.css:

Крок 6. Налаштування бібліотек

Ми ознайомилися з основами створення розширення, тепер настав час створити наше розширення для регулювання звуку.

Почнемо з бібліотеки Clutter:

Далі, імпортуємо бібліотеку управління звуком GNOME:

Стандартні віджети GNOME:

Додамо можливість використовувати спливаючі меню:

Крок 7. Побудова інтерфейсу

Замість створення свого власного елемента управління звукам, ми використовуємо елемент, що надається GNOME Shell. Ми будемо використовувати той же значок і для більшої частини збережемо існуючий функціонал.

Створимо всплюивающее меню:

Далі перешикуємо перемикач:

Наступний контейнер містить різні елементи призначеного для користувача інтерфейс для нового регулятора:

Крок 8. Налаштування звукового мікшера та відео

На цьому кроці ми налаштуємо мікшер і аудіопотоки:

Крок 9. Включення і вимикання розширення

У функції enable ми створюємо об'єкт класу AdvMixer, поміщаємо його в панель, в якому знаходиться елемент управління гучністю звуку.

Крок 10. Розширення в дії

Після внесення змін до файл extension.js натисніть Alt + F2, введіть «r» і натисніть Enter, щоб перезапустити GNOME Shell.

В панелі не повинно з'явитися нових значків. Натисніть на значок гучності звуку і ви побачите зроблені нами зміни: з'явилася невелика стрілка, натиснувши на яку можна перемикатися між різними пристроями виведення звуку (якщо вони доступні). Тепер ви можете бачити, які програми використовують висновок звуку, ви можете приглушати звук для окремих додатків, використовуючи перемикач.

висновок

Як видно, написане розширення внесло помітні зміни в GNOME Shell. Це більше схоже нема на розширення, а на щось, що вже вбудовано в GNOME. В цьому і полягає зручність GNOME Shell. Коли вийшов GNOME 3, багатьом людям він не сподобався, але їм сподобалася простота і гнучкість. Розширення GNOME Shell дозволяють зберегти загальну працездатність системи укупі з простотою додавання зміни в GNOME Shell.

Інструменти сторінки