DirectFB的運行行為可以通過配置文件進行控制,可以從多個配置文件中讀出配置信息,然后合并到一起,甚至可以對不同名稱的應用程序指定不同的配置文件。其主配置文件為/etc/direcfbrc,它的內(nèi)容影響所有用戶的應用程序。
建立PC模擬環(huán)境。
DirectFB和X Window都是獨占顯示設備的,在通常的情況下,DirectFB運行時,X Window不能運行,反之亦然。當然,輸入設備,如鍵盤、鼠標等也是獨占設備,不能被DirectFB和X Window同時使用。
當我們用DirectFB開發(fā)嵌入式軟件時,要使用X Window下的IDE的工具(如glade),同時又需要在PC模擬運行開發(fā)的程序。此時,由于X Window已經(jīng)在運行,再運行DirectFB程序會發(fā)生沖突。
怎么辦呢?DirectFB的天才作者們早想到這一點,DirectFB把后端(輸入設備和顯示設備)做了抽象,與DirectFB主體是分開的。DirectFB主體并不依賴于具體的物理設置,它可以利用SDL、X11、VNC等作為后端。
所以要建立PC模擬環(huán)境,是輕而易舉的事情。我們可以利用X Window的輸入事件作為輸入設備,利用X Window的窗口作為顯示設備。更進一步,可以利用Xnest(見筆者另外一篇文章),這樣可以模擬不同屏幕大小的設備,看到比較真實的外觀效果。選擇X Window作為后端,可以使用下列參數(shù):
system=x11
使用不同的窗口管理器。
DirectFB的窗口管理器做得比較弱,它畢竟是針對嵌入式設備的,我們沒有必要苛求。它自帶兩種不同的窗口管理器,可以根據(jù)自己的需要選擇。一個稱為default,顧名思義,它是默認的窗口管理器,另外一個稱為unique,功能更強一點。
Default只提供了基本的窗口管理功能,如:
l 窗口棧管理,提供諸如向棧中插入窗口、刪除棧中的窗口、調(diào)整窗口在棧的Z-Order位置等。
l 輸入事件管理,根據(jù)輸入事件,切換焦點窗口,把消息投遞到對應的窗口等功能。
l 還提供了一些快捷操作方式,如關閉窗口,移動窗口等。
Unique 除了提供default具有的基本功能外,還提供了:
l 窗口裝飾功能,可以顯示窗口標題欄圖片,四周邊框、四角圓角化等,但不能顯示標題本身(居然沒有這個基本功能。。
l 桌面背景圖片/顏色,可以設置桌面的背景圖片/顏色。這對于demo來說,會好看一點,但對于實際應用來說,作用不大。因為實際的桌面和DirectFB的桌面是兩個不同的對象。
l 調(diào)試功能,如顯示窗口棧中的窗口等。
l 更重要的是,它相當于一個框架,你可以在此基礎上擴展其它自己需要的功能。
選擇不同的窗口管理器,可以使用下列參數(shù):
wm=default或者wm=unique