pandaOS Dock 初版架構設計 應用管理

最近想構建一個自己的 Linux 桌面環境,雖然只有我一個人,也許不是那麼容易,但一點一點寫下去,總會有收穫的,首先寫了 dock 和 launcher。

dock 這個程序也是一個 X Window,首先需要給它設置成 dock 的類型,讓窗口管理器知道它是個 dock,這樣就可以對它進行特殊的處理,讓它一直保持頂層顯示,使用 xcb 相關的庫對它進行設置,傳入它的 window id 即可,也可以使用 KWindowSystem::setType() 函數,另外還需要設置支桿部分。

接下來就是 dock 的內容顯示了,主要分成四個部分,從左到右分別是:固定欄 -> 應用欄 -> 托盤欄 -> 插件欄。

  • 固定欄是啓動器圖標和顯示桌面、多任務視圖之類的

  • 應用欄就是當前運行中的應用程序,顯示應用的狀態

  • 托盤欄就是所有正運行在桌面環境裏的應用程序共享的區域

  • 插件欄也就是額外的擴展功能,比如顯示時間,回收站...

主面板分爲上面的四個佈局,每個圖標就是一個 Widget

應用管理

在 dock 初始化的時候會先把固定在主面板的app的列表先顯示在應用面板上,然後再加載目前已經打開的應用軟件,獲取系統中所有正在運行的 wid,然後過濾。

這是它數據存儲的模型:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章