1: LookingGlass — это, по сути, консоль GJS. Он позволяет вам выполнять и тестировать строки GJS, захватывать объекты и манипулировать ими, а также использовать r(...)
для использования результатов в следующих командах. Причина, по которой вы получаете r(...) = undefined
, заключается в том, что log(String);
ничего не возвращает, поэтому результат равен undefined
.
2: Либо зарегистрируйтесь на протяжении init()
и enable()
, затем проверьте, где он прерывается, и попытайтесь точно определить разрывную линию, используя журнал или комментируя строки кода (хотя виновник, вероятно, определен в общем протоколировании, описанном в разделе внизу).
3: Официальной документации нет. У них есть несколько устаревших руководств для GNOME Shell 3.4 с небольшим объяснением разницы с 3.6, несколько страниц на концах C (++) используемых вами библиотек (хотя большинство функций, переменных и констант используют те же имена), но для любой реальной информации вам понадобится опыт, копание в другом коде расширения GNOME и оболочки или в некоторых неофициальных источниках. Однако неофициальные источники не всегда актуальны.
- Обновленные документы, сгенерированные на RooJS, хотя, по крайней мере, события отключены, так как они разделены - (минус), а не _ (подчеркивание).
- Старая, но в основном полезная документация, у MathematicalCoffee есть более полезная такие вещи, как подробно объясненный код, который является довольно надежным источником обучения.
- Сгенерированные документы, почти все есть, очень обширные, но иногда сайт отключается на несколько дней. Вы можете попытаться клонировать репозиторий git, чтобы запустить его локально, но readme.md является дословной копией того, что они разветвили...
- более поздняя ссылка, сделанная пользователем, хотя это довольно обширно, это не относится к много пользы, если вы используете более старую версию GNOME Shell, поскольку устаревшая и старая, скорее всего, будет работать, чем материал следующего поколения. Я рекомендую заглянуть на официальный веб-сайт расширений и просмотреть исходный код любого интересного расширения, который вы можете получить, так как это лучший способ узнать что-либо.
Вообще отладку гнома можно сделать несколькими способами. - используйте функцию log()
и следуйте за journalctl в командной строке, проверьте либо GNOME, либо JS, используйте journalctl -f | grep -i js
(или используйте grep -i gnome
). Вы увидите некоторые предупреждения, несмотря ни на что, но большинство из них упоминают, из какого они расширения. Это хорошо и работает на всех дистрибутивах, реализующих systemd. Или регистрируйте определенный процесс, который является частью GNOME, например journalctl /usr/bin/gnome-session -f -o cat
, просто имейте в виду, что некоторые дистрибутивы и версии регистрируются в разных файлах, а старые версии GNOME часто регистрируются в том, к чему ведет ваш диспетчер отображения. - используйте официальный (хотя и хитрый) способ ведения журнала: GNOME при отладке. Я лично не мог заставить это работать.
person
RivenSkaye
schedule
09.07.2018