Demo kodundan ve derslerden memnun olmamamın nedeni, bir grup rasgele ithalatı tanıtmaları ve ne olduklarını veya bunları nasıl kullanacaklarını asla açıklamamasıdır. Başkalarının ekleyebileceği kendi yanıtlarımı oluşturuyorum, böylece insanlar aslında hangi işlevleri çağırabileceklerini, neleri içe aktarabileceklerini vb.
Gnome Shell için üretilen belgeler var , ancak biraz eksik - Çeşitli derslerde, örneklerde ve yayımlanan uzantılarda gördüğüm şeylerin çoğunu bulamadım.
Gerçekten güvenilir olan tek belge Gnome Shell kaynağının kendisidir. Mevcut olanı bilmenin başka hiçbir güncel veya eksiksiz yolu yoktur.
Bu iki başlangıç noktası özellikle iyi:
C kaynağı, alınması global
gerekmeyen önemli bir nesnenin olduğunu ve pencere yöneticisi (tuş bağlamaları dahil), oturum bilgileri, mevcut ekranlar ve diğer şeyler gibi şeylere erişim sağladığını gösterir. İşte kaynak:
Nesnenin nasıl kullanılacağınıglobal.display
bilmek istedim ve şu an için en iyi dokümantasyon Alan Knowles tarafından sağlandı .
Diğer şeyler GObject iç gözlem ciltleri aracılığıyla içe aktarılabilir, örneğin:
Genel olarak, diğer ithalatı bulmak için çeşitli Gnome bileşenlerinin referans belgelerine bakabilirsiniz .
Gözetleme camı üzerine bir not: Bu ithalatı gözetleme camında kullanmayla ilgili bazı tuhaflıklar var - Ben sadece olayları denemek için çok zaman harcadım. Örneğin:
const Clutter = imports.gi.Clutter;
... çalışmayacak, çünkü Clutter
zaten var. Ama sonra:
const MyClutter = imports.gi.Clutter;
... ayrıca işe yaramayacak; MyClutter
tanımsız ve kullanılamaz. Yapmak zorundasın:
MyClutter = imports.gi.Clutter;
Tabii ki, bu durumda Clutter
zaten var, bu yüzden gerçekten gerekli değil. Ancak, görünen cam isim alanında neyin ve neyin olmadığı belgelenmediğinden, bir şeyi ithal etmeye ve bu sorunları yaşamaya çalışırsanız, aklınızda bulundurun.
Kalan sorular:
- Nedir
Mainloop
? Bu içeri aktarılır main.js
ve GLib ana döngüsüyle ilgili işlevlere sahiptir. Bunun için belgeler var mı?
- Nedir
imports.misc
? İçinde gerçekten çok yararlı şeyler varmış gibi görünüyor ExtensionUtils
- bu nedir?
- DBus'u nasıl kullanıyorsunuz? İç gözlemden ne haber?