С недавних пор чут чут увлекаюсь линуксами, решил попробовать альтернативу винде и начать пользоваться чем то необычным и непривычным. Особо не силен во всей этой теме, выбрал дистрибутив PopOs. Пока все нравится, бывают жесткие косяки, с которыми трудно жить и их нужно исправлять вручную с божьей чатгпт помощью.
Так вот, мне так понравились расширения, которые легко устанавливаются и как они выглядят в интерфейсе, я решил поузнавать как расширения (например погода) вообще делаются. Как оказалось тут замешан JS и у меня сразу появилось желание сделать какое-нибудь расширение, не просто сделать, а навайбкодить 🤡
Конкретно на моем дистрибутиве стоит Gnome 42, тут много выбора графических интерфейсов и конкретно под Gnome для реализации используется GJS (JavaScript Bindings). Т.к. гном не веб клиент, то тут много внутренних библиотек для работы с данными. Получать данные через Soup, работать с файлами через Gio и так далее.
Идея для первого расширения пришла достаточно быстро. У меня есть бот в мастодоне, игровой персонаж игры godville, бот публикует заметки персонажа и обновляет данные раз в какое-то время. И я подумал, почему бы всю статистику, данные не вывести у себя сверху экрана. Я всегда буду знать как живет мой персонаж и что с ним происходит.
Без знаний реализации расширений за часов примерно 6 накидал полноценное приложение. 80% времени Cursor ai исправлял ошибки, по итогу помимо самого расширения получились настройки с кастомизацией. Я могу скрывать, управлять порядком, расположением вкладки. Показывать интересную мне информацию в самом расширении. В общем здорово получилось, думаю даже опубликую куда-нибудь после полного завершения.