NixOS Hyprland Lua Macerasına Geri Dönüş: v0.55 Güncellemeleri ve Yeni Planlar
Bir süredir uzak kaldığımız nixos-hyprland-lua repomuza geri dönme vakti geldi. En son Haziran başında resize, movewindow, scratchpad ve scroll bind’larını yeni native Lua API’ye geçirerek önemli bir yapısal temizlik yapmıştık. Ancak biz ilgilenmediğimiz süreçte Hyprland cephesinde işler durmadı.
Bugün repoya şöyle bir uzaktan bakıp, neleri kaçırdığımızı araştırdık.
Hyprland v0.55 ve Yeni Fırsatlar
Hyprland v0.55 ile “Lua-ification” (konfigürasyonların Lua’ya taşınması) süreci iyice hız kazandı. Eski hyprlang konfigürasyonlarını desteklemeye devam etse de, yeni eklenen özelliklerin çoğu doğrudan Lua’nın esnekliği göz önüne alınarak tasarlanıyor.
İşte bizim repomuzda henüz değerlendirmediğimiz, v0.55’in getirdiği üç büyük yenilik:
- User-Defined Layouts (Kullanıcı Tanımlı Düzenler): Yeni Layout API’si sayesinde artık tamamen kendi pencere düzenlerimizi (layout) Lua üzerinden tanımlayabiliyoruz. Sadece
dwindleveyamasterile yetinmek zorunda değiliz; çalışma alanı veya monitör bazlı kendi algoritmalarımızı yazma imkanımız var. - ICC Profil Desteği ve Renk Yönetimi: Geliştirilmiş Color Management (CM) sayesinde monitör başına ICC profilleri yüklenebiliyor. Ayrıca varsayılan olarak FP16 hassasiyetine geçilmiş durumda. Bu, daha iyi renk doğruluğu ve potansiyel HDR desteği demek.
- Yeni Window Rule’lar:
confine_pointergibi yeni kurallar ve gelişmiş kaydırma (scrolling) algoritmaları eklendi.
Bunun yanı sıra bazı eski parametreler tamamen kaldırıldı (dwindle:pseudotile, decoration:shadow:ignore_window vb.). Neyse ki bizim repoda şu an bu eski parametreler sorun yaratmıyor, ancak gelecekteki yapılandırmalarımız için aklımızda bulunmalı.
Bugün Neler Yapacağız?
Repomuz zaten uzak sunucuyla (Codeberg/GitHub) senkronize ve güncel durumda. Şimdi önümüzde bu yeni API’lerin sınırlarını zorlamak var. Belki özel bir Lua layout’u yazarız, belki ICC profillerini NixOS deklaratif yapımıza yediririz, ya da quickshell barımız için yeni widget’lar inşa ederiz.
Gelişmeleri repodan ve buradan paylaşmaya devam edeceğim!