Waybar'dan Quickshell'e: Neden Değiştirdim
Waybar çalışıyordu. Sorun bu değil.
Sorun şu: çalışıyor olmak, doğru araç olduğu anlamına gelmiyor.
Waybar Neydi, Ne Değildi
Waybar, Wayland compositor’ları için yazılmış olgun bir bar uygulaması. JSON ile konfigüre ediliyor, CSS ile stilleniyor. Belgeleri iyi, topluluk desteği var, Hyprland ile entegrasyonu sorunsuz çalışıyor.
Ama birkaç şey rahatsız ediyordu:
- JSON konfigürasyonu ile Lua tabanlı Hyprland config’i arasında bir kopukluk var. İki farklı dil, iki farklı mantık.
- Her widget değişikliğinde Waybar’ı yeniden başlatmak gerekiyor.
- Qt veya GTK değil, kendi render motorunu kullanıyor — bu bazen görsel tutarsızlıklara yol açıyor.
Quickshell Nedir
Quickshell, Qt Quick (QML) tabanlı bir shell framework’ü. Sadece bir bar değil — bildirimler, widget’lar, overlay’ler, her şey aynı çatı altında.
QML ile çalışmak ilk başta yabancı hissettiriyor. Ama bir kez mantığını kavradıktan sonra Waybar JSON’ının çok ötesinde bir esneklik sunuyor.
// Basit bir saat widget'ı
Text {
text: Qt.formatTime(new Date(), "HH:mm")
color: "#00ff9d"
font.family: "JetBrains Mono"
}
Bu kadar. Gerçek zamanlı, yeniden başlatma gerektirmiyor, font ve renk sisteminizle tutarlı.
Geçiş Süreci
NixOS’ta Waybar kaldırmak tek bir satır:
# home/hyprland-lua.nix içinde
# programs.waybar.enable = true; ← bu satır silindi
Quickshell ise nixos-hyprland-lua modülü üzerinden geliyor — sistemd servisi olarak graphical-session.target altında başlıyor. UWSM ile tam uyumlu.
Git commit’e bak: 6e8b900 feat(hyprland): waybar kaldırıldı, quickshell geçişi, gaps ayarlandı
Bir satır silme, bir satır ekleme. NixOS’un güzelliği bu.
Sonuç
Waybar kötü bir araç değil. Ama Quickshell daha tutarlı bir ekosistem sunuyor — özellikle Hyprland + Lua + QML üçlüsü bir arada düşünüldüğünde.
Her şeyin aynı dili konuştuğu bir kurulum, uzun vadede daha az baş ağrısı demek.