MiniGUI 是在 Linux 控制台上運行的多窗口圖形用戶界面支持系統,可以在未來以 Linux 為基礎的應用平台上提供一個簡單可行的 GUI 支持系統。
“小”是 MiniGUI 的特色,MiniGUI 可以應用在電視頂置盒、實時控制系統、掌上型電腦等諸多場合。
下面是MiniGUI的詳細介紹:
一、MiniGUI介紹 二、MiniGUI應用前景 三、MiniGUI技術文檔
MiniGUI介紹
視窗系列的操作系統雖然好用,但是在軟件業微軟卻反開放大趨勢之道,不向公眾開放他的源代碼。使得程序員只知其然,而不知其所以然。現在Linux已經成為一個可以與微軟的Windows相抗衡的主要操作系統,成為計算機愛好者的寵物,同時也逐漸成為市場上眾商家追逐的對象。既然如此,心動不如行動,我們何不在Linux的平台上開發一個小型的GUI產品呢?筆者已經在以前工作的基礎上,開發了一個在 Linux 控制台上運行的, 基於 SVGALib 和 LinuxThread 庫的多窗口圖形用戶界面支持系統,我稱之為MiniGUI,在此基礎上我們可以一起來完善這個系統,使之成為一個 真正小巧實用的工具。當然我們要完成的這個軟件包將是完全遵從GNU精神,基於GPL協議的,也就是說是開放源代碼的自由軟件,希望能有更多的有識之士加盟。
那麼MiniGUI到底是什麼呢?從我現在的開發工作來看,應該定義為:MiniGUI 是 Linux 控制台上運行的,基於 SVGALib 和 LinuxThread 庫的多窗口圖形用戶界面支持系統。MiniGUI 采用了類 Win32 的 API 接口, 實現了簡化的類 Windows 98 風格的圖形用戶界面。 MiniGUI也是一個窗口系統,他的主要組成元素是窗口,在這個基礎上 MiniGUI 中的窗口可以基本分四類,分別為主窗口、對話框、控件和主窗口中的窗片。MiniGUI 中的主窗口和 Windows 應用程序的主窗口概念類似, MiniGUI 中的每個主窗口對應於一個單獨的線程,通過函數調用可建立主窗 口以及對應的線程。每個線程有一個消息隊列,主窗口從這一消息隊列中獲取消息並由窗口過程(回調函數)進行處理。 MiniGUI的目標是保持現有小巧的特點,在 Linux 控制台上提供一個小 的窗口系統支持,“小”是MiniGUI的特色。同時MiniGUI又將盡力於微軟的 MSWindows API保持兼容。這麼定位是希望我們的MiniGUI可以在未來以Linux 為基礎的應用平台上提供一個簡單可行的 GUI 支持系統,讓MiniGUI 可以 應用在 Windows CE 可以應用的任何場合。
其實如果你是一個熱愛寫程序的程序員的話,恐怕都做過類似的工作,比如完成一個小型的窗口系統,或是寫一些底層的畫圖函數庫。寫這些東西有時只是自己的興趣,有時不過是為了完成一個老師布置的作業,既然如此我們何不真正的來寫一個 比較有應用前景的MiniGUI呢。我們以後可以將MiniGUI用於各種需要一個小型GUI功能的設備上去,或許是工業領域,或許是家用領域。所有這些用武之地難道非要等待Windows CE來占領嗎,為什麼不去做一個屬於我們自己的東西呢?也許MiniGUI沒有Windows CE那麼強大的功能,但是我們有自己的特色,更重要的是那是我們自己的代碼。
--------------------------------------------------------------------------------
MiniGUI應用前景
MiniGUI 的應用前景是很明顯的,就是為 Linux 控制台提供一個簡單可行的 GUI 支持系統,MiniGUI 可以應用在 Windows CE 可以應用的任何場合, 例如:
上網機,或電視置頂盒;
實時控制系統;
個人電腦助理;
掌上型電腦;
等等,就讓你自己去想象吧。
當然,MiniGUI 仍然能夠在普通的 Linux 機器上運行,可作為一些小型游戲的支持平台,也可為控制台的小型應用提供圖形界面支持,比如一個簡單的文字錄入程序、小型浏覽器、證券資訊分析程序等等。 在 MiniGUI 的開發過程中,應始終強調一個"小"字,因為這才是MiniGUI 真正的特色所在。
MiniGUI已經具備了最初的雛形,我們將在後面內容中公布我們已經完成的工作和MiniGUI整體結構的介紹,也將為所有參加開放的人員提供 Maillist 的聯系手段,以方便我們之間的討論。那麼我們在MiniGUI上還需要做一些什 麼工作呢? MiniGUI 的近期開發內容包括:
基於 Linux 2.2 FrameBuffer 的 GDI(圖形設備接口);
標准控件;
字體,包括 HBF 點陣字體和 TTF 字體支持;
多內碼支持;
高級輸入法支持。
同時,我們打算在 MiniGUI 基礎上開發出一些小型應用,可考慮的有:
終端仿真程序。編寫類似 Windows cterm 一樣的 BBS 專用軟件;
類似 chpower 的多字節字處理軟件;
基於 GNU 開發工具的集成開發環境。
呵呵,看起來是有不少的工作,但是只要有你的參與,這些都將輕松搞定。--------------------------------------------------------------------------------
MiniGUI技術文檔
這裡是 MiniGUI 的概要設計說明書,Word 文件(175KB)。MiniGUI的網址: http://www.minigui.org