Saya telah ingin mengembangkan beberapa ekstensi Gnome Shell karena hanya dalam javascript, namun saya telah mencari dan praktis tidak ada dokumentasi, di mana-mana saya melihat orang mengatakan untuk menggunakan dokumentasi dasar Gnome, tetapi ini TIDAK membantu, saya tidak bisa, saya bisa tidak menemukan dokumentasi untuk impor ekstensi, atau segala jenis javascript api untuk pengembangan ekstensi, saya mencoba melihat melalui beberapa tutorial (kebanyakan untuk Gnome 3.0, bukan 3.2), tetapi tidak ada yang membantu.
Adakah yang tahu jika mereka sedang dalam proses menulis dokumentasi untuk pengembangan ekstensi? Saya akan sangat menyukai dokumentasi yang bagus ...
development
gnome-shell-extension
KoRnKloWn
sumber
sumber
Jawaban:
Alasan saya tidak senang dengan kode demo dan tutorial adalah karena mereka memperkenalkan banyak impor acak dan tidak pernah menjelaskan apa itu atau bagaimana menggunakannya. Saya sedang membangun jawaban saya sendiri yang dapat ditambahkan orang lain, sehingga orang dapat benar-benar mengetahui fungsi apa yang dapat mereka panggil, apa yang dapat mereka impor, dll.
Ada dokumentasi yang dibuat untuk Gnome Shell , tetapi agak tidak lengkap - saya tidak dapat menemukan sebagian besar hal yang saya lihat di berbagai tutorial, contoh dan ekstensi yang diterbitkan.
Satu-satunya dokumentasi yang benar-benar andal adalah sumber Gnome Shell itu sendiri. Tidak ada cara lain yang terbaru atau lengkap untuk mengetahui apa yang tersedia.
Dua poin awal ini sangat baik:
Sumber C menunjukkan bahwa ada objek penting yang disebut
global
yang tidak perlu diimpor, dan menyediakan akses ke hal-hal seperti manajer jendela (termasuk ikatan kunci), informasi sesi, layar yang tersedia dan hal-hal lain semacam itu. Inilah sumbernya:Saya ingin tahu cara menggunakan
global.display
objek , dan untuk saat ini dokumentasi terbaik adalah yang disediakan oleh Alan Knowles .Hal-hal lain dapat diimpor melalui binding introspeksi GObject, misalnya:
imports.gi.Clutter
)imports.gi.GLib
)imports.gi.St
)Secara umum, Anda dapat melihat melalui dokumentasi referensi untuk berbagai komponen Gnome untuk menemukan impor lainnya.
Sebuah catatan pada kaca tampak: Ada beberapa kebiasaan menggunakan impor ini dalam kaca tampak - saya membuang banyak waktu hanya mencoba untuk menguji hal-hal dengan cepat. Sebagai contoh:
... tidak akan berfungsi, karena
Clutter
sudah ada. Tapi kemudian:... juga tidak akan bekerja;
MyClutter
tidak terdefinisi dan tidak dapat digunakan. Kamu harus melakukan:Tentu saja, dalam hal ini
Clutter
sudah ada, jadi itu tidak benar-benar diperlukan. Tetapi karena itu tidak didokumentasikan apa yang ada dan belum ada di namespace kaca mencari, jika Anda mencoba untuk mengimpor sesuatu dan memiliki masalah ini, ingatlah.Pertanyaan yang tersisa:
Mainloop
? Ini diimpormain.js
dan tampaknya memiliki fungsi yang terkait dengan loop utama GLib. Apakah ada dokumentasi untuk ini?imports.misc
? Sepertinya ada beberapa hal yang sangat berguna di sana, sepertiExtensionUtils
- apa itu?sumber
Dokumentasi sedikit terlambat, salah satu sumber potensial informasi adalah Renungan seorang tukang ledeng OS , mis. Posting ini tentang pembaruan ekstensi Shell GNOME agar berfungsi dengan versi 3.2
Bergantung pada informasi apa yang Anda inginkan, Anda dapat mencoba milis gnome.
sumber
Tutorial Langkah demi langkah ini untuk membuat ekstensi untuk gnome 3.4 dapat membantu: https://live.gnome.org/GnomeShell/Extensions/StepByStepTutorial
sumber