Я не эксперт, но, основываясь на моем опыте исправления расширения, большая часть утилиты основана на Clutter, в котором GObject Introspection предоставляет API для JavaScript. К сожалению, я не могу найти документацию по API для самой оболочки. Самое близкое, что я могу получить - это JavaScript для оболочки на /usr/share/gnome-shell/js/
, которого (для меня) вполне достаточно, поскольку расширение, вероятно, будет изменять объект JavaScript во время выполнения, а не вызывать его функцию.