← Tüm Yazılar
Ozan Özdil ~2 dk okuma

Quickshell Eklenti Ekosistemi: Topluluk Eklentileri ve Modüler Yapı

Omarchy ve Quickshell için bağımsız eklenti yazımı, dizin hiyerarşisi, QML modül yükleme ve güvenli çalıştırma pratikleri.

Quickshell Eklenti Ekosistemi: Topluluk Eklentileri ve Modüler Yapı
# İçindekiler 4 Başlık ▾

Bir masaüstü kabuğunu gerçekten güçlü kılan şey, yalnızca çekirdek geliştiricilerinin sunduğu özellikler değil; topluluğun kolayca katkıda bulunabileceği esnek bir eklenti (plugin) mimarisidir. Omarchy Shell ve Quickshell, modüler bileşen yapısı sayesinde eklenti geliştirmeyi çocuk oyuncağı haline getiriyor.

Omarchy Plugin Kataloğu (plugins.omarchy.org) üzerinde binlerce topluluk eklentisi paylaşılmakta ve kullanıcılar bunları tek bir komutla masaüstlerine entegre edebilmektedir.


1. Bir Quickshell Eklentisinin Anatomisi

Her eklenti, kendi bağımsız dizininde bir bildirim dosyası (metadata.json) ve ana QML dosyasından oluşur:

~/.config/quickshell/plugins/badusb-shield/
├── metadata.json
├── Plugin.qml
└── assets/
    └── icon.svg

metadata.json Manifest Örneği

{
  "name": "BadUSB Shield",
  "id": "org.omarchy.badusb-shield",
  "version": "1.2.0",
  "author": "Ozan Özdil",
  "description": "USB veri yollarını anlık izleyen donanım güvenlik eklentisi",
  "entryPoint": "Plugin.qml",
  "category": "security"
}

2. Eklentinin Dinamik Yüklenmesi

Quickshell, Instantiator veya Loader bileşenlerini kullanarak kurulu eklentileri çalışma anında keşfeder ve panele yerleştirir:

import QtQuick 2.15
import Quickshell 1.0

Row {
    spacing: 6
    
    Repeater {
        model: PluginManager.installedPlugins
        
        Loader {
            source: modelData.entryPointUrl
        }
    }
}

Eklenti kodunda bir hata meydana gelse bile, Quickshell’in izolasyon mekanizması sayesinde tüm masaüstü çökmez; yalnızca ilgili eklenti güvenli modda durdurulur.


3. Topluluk Eklentilerimiz

Omarchy ekosistemine kazandırdığımız siber güvenlik ve sistem araçları (BadUSB Shield, CVE Radar, DNS Leak Guard, Ghost MAC vb.), Quickshell’in modüler eklenti mimarisinin en somut örneklerindendir.

Bu Yazıyı Paylaş