TwoStackWM 之 KWin Script 版本
作者:gugod 發佈於: #software先給專案連接: TwoStackWM.kwinscript
在 macOS 上作業時透過 TwoStackWM.spoon 將視窗的格局管理做到最簡化。而最近在使用 KDE Plasma 是也覺得應該要有一樣的簡化方式,能讓我只用一組熱鍵就決定目前焦點視窗的寬高與位置。就不必老是花時間在調整視窗位置。
於是就有了使用 KWin Script 來延伸 KDE Plasma 既有的視窗管理的方法。
在 KDE Plasma 環境中既有的 tiling window manager 不少,例如:
每個都很通用,都有不同的操作模式。但對我這記不住複雜規則的人來說,還是只要一坐一右兩邊並排就好。在 KDE Plasma 中預設的 tiiling 是左右同寬,但我比較想要左小右大,沒什麼熱鍵需要記憶的管理方法。所以還是覺得自己寫一個 WM 好了,於是就再花點時間學了一下 KWin 的寫法與 API,而做了: TwoStackWM.kwinscript
根據摸索大半天下來的經驗,目前這個初版大概只能支援 KDE6,不支援 KDE5。因爲正好有個與舊版不相容的,關於修改視窗寬高方式的變更在 KDE6 出現了。也有可能只支援 Wayland 而不支援 X11。但還好,反正我沒有那麼多就舊系統需要照顧。
雖然 KWin API 沒有代客處理跨環境的相容性問題,得要寫程式的人自行想辦法處理,但基本上 KWin Script 算是其實頂簡單的。這次是直接寫 Javascript。如果有需要多多延伸發展的話再來看看要不要改成 QML 好了。