
Üzerinde Çalıştığım Gnome Shell Extension
Selamlar, bir süredir üzerinde çalıştığım GNOME Shell Extension'ı göstermek istiyorum, eklemek/değiştirmek için ne tür fikirler verebilirsiniz merak ediyorum. Biraz overloaded farkındayım, o yüzden tek tek anlatacağım neler olduğunu.
Arayüz GJS ile, arkada python ile yazılmış bir daemon ve yine python ile yazılmış bir tool server var. UI<->Daemon arası iletişim D-Bus ile, daemon<->tool server arası ise klasik MCP. UI her zaman ekranda değil, Super+Enter'a basınca geliyor, widgetlar dışında bir şeye basınca gidiyor.
Widgetlar ise:
- Ortadaki widget chat arayüzü için, arka planda llama-server çalıştırıyor Basic bi chat arayüzü, edit, regenerate, chat history fasofiso. Localde Qwen3.8-27b kullanıyorum.
- Sağ üstte GPU istatistiği kısmı, direkt nvidia-smi üzerine giydirme frontend çok bir esprisi yok. Aslında proje sadece local chat server ve ortadaki widget olacaktı, ama daha fazla tool ekledikçe diğer widget'ları da ekleyeyim bari dedim.
- Sol üstteki widget scratchboard. Agent MCP ile oraya notlar bırakabiliyor. Günlük tasklarım var, emaillerimi okumak, gscholar'dan alanıma dair yeni paperları bulup değerlendirmek gibi. Arka plan cron üzerinden.
- Sol alt lightboard, kulaklıktır mouse'dur led olan aletleri kontrol etmek ve synclemek için. Bu cihazlardaki ledleri müziğe göre synclemek uzun zaman önce yaptığım ve paylaştığım bir projeydi, daha temize çekip buraya da taşıdım. Led strip için küçük bir arduino uno board var, adalights için ufak bir firmware yazdım, onu ve diğer tüm cihazları openrgb ile orchestrate ediyorum.
- Yukarıdakine benzeri şekilde sağ alttaki de odamdaki led smart bulb için, bir sağındaki air purifier için. İkisi de arka planda miiocli kullanıyor. (Benzeri bir şey yapmak isteyen varsa malesef artık login flowu çalışmıyor device token alamıyorsunuz, qr ile login ekleyen bir fork'u var onu kullanmanız gerekiyor).
- Light widgetındaki music, game ve entertainment modlarında ışığın parlaklığı çalan audio volume'a göre fft üzerinden geliyor. High ve low bandlar üzerinden filterlıyorum, böylece bazı ledler müzikteki baterideki kick'e göre, bazıları snare'e göre yanıp sönüyor. Music ise renk albüm kapağındaki dominant renge dönüyor otomatik, entertainment ise led stripteki ledleri ekrana mapliyorum ve hepsi kendi dominant rengini alıyor, entertainment ise kendim seçebiliyorum.
- Bir üstündeki widget DDC/CI ile monitör parlaklıklarını ayarlamak için. Çok bi esprisi yok, monitörün arkasındaki tuşlarla uğraşmamak için.
- Whisper.cpp ile ekrana audio transcript almak mümkün. Whisper modelleri arkada müzik varsa çok iyi çalışmayabiliyor, o yüzden ~1 saniye ek gecikmeye karşılık Mel-Band RoFormer'dan geçirip voice isolate edebiliyorum. Whisper'ın turbo modelleri çeviriyi çok iyi yapamıyo, o yüzden üzerine ek olarak bir de NLLB-200 ile translation mümkün.
- Üstteki music widget için bir de music related toollar için spotify'ın kısmen yeni çıkan soloist tool'unu kullanıyorum.
Şimdi asıl sorum, bunu da eklesen/değiştirsen tatlı olur dediğiniz fikirleriniz var mı?
Yayınlasam ilgileneniniz olur mu? Direkt yayınlamamamın sebebi çoğu şeyin kendi setup'ıma özel oluşu, ve çok fazla tool'un kendime ait diğer araçları kullanıyo oluşu. İlgilenen olursa uğraşıp temize çekebilirim tabi.