Подтвердить что ты не робот

Как начать писать расширения Gnome Shell

Мне очень трудно найти документацию о расширениях Gnome Shell. Я нашел некоторые фрагменты в Gnome Wiki (и это ссылки первого уровня), но это не так много:

http://live.gnome.org/GnomeShell/Extensions

Проблема здесь - это GJS и привязки. Абсолютно никакой документации, не было много SIGSEGVs, привязка просто не готова (GLib, Gio и другие). Единственной рабочей является неофициальная документация, созданная GIR для реализации Seed JavaScript:

http://roojs.org/seed/gir-1.2-gtk-2.0/seed/

Где можно найти больше примеров? Я хочу читать каталоги, файлы, процессы порождения, открывать сетевые сокеты и делать другие вещи.

Обновление: покажите мне, как читать файл по строкам в GJS.. По словам Google, это невозможно. Спасибо.

4b9b3361

Ответ 1

GNOME Shell использует GJS, а не Seed. Между ними есть некоторые различия, и это может объяснить, почему у вас проблемы.

С помощью функции GOGject Introspection вы можете прочитать документацию для исходной библиотеки и адаптировать подпись каждого метода/функции к используемому вами языку.

В вашем конкретном случае для файлов, сетей и т.д. вы можете проверить GIO. Вы можете проверить Обзор платформы, чтобы проверить, что еще доступно. Вы также можете проверить некоторые примеры (но не расширения) в JavaScript.

Наконец, не в последнюю очередь, скоро будет запущен веб-сайт с расширением.

Ответ 2

Ну, предположительно, с Gnome3 у вас есть довольно однородный API на разных языках программирования, который генерируется из тех же файлов GIR. Таким образом, вы должны (по крайней мере теоретически) иметь возможность получить все API - надеюсь, с документацией - из проекта GOzject Introspection. И наоборот, вы должны иметь возможность легко преобразовать примерный код с другого языка в JavaScript для этого API.

Теоретически. Я избегаю JavaScript, где это возможно, разработка настольного приложения в JavaScript - это последнее, что я сделал бы.