TWM 是TabWindow Manager for the X WindowSystem的簡稱,它是一個窗口管理器,初次發布于1988年4月,是個非常容易上手的WindowManager。
介紹
TWM
不像其他的X程序,它沒有基于任何GUI組件,而是直接使用的Xlib,這樣帶來的好處就是:小、更方便的配置。所謂窗口管理器,它是一個特殊的程序,它用來給X程序提供諸如:標題的繪制、窗口陰影、窗口圖標化、用戶自定義宏、鼠標點擊、鍵盤焦點、縮放等功能。
它和GNOME、KDE不同,不是一個桌面環境(DesktopEnviroment,DE)。那些所謂的桌面環境都會有一個窗口管理器,比如centos的GNOME用的就是MetaCity,這些DE集成了大量的應用程序,包括一些非常便利的系統管理工具、實用小工具、游戲等,大大方便了用戶。
桌面環境縱有千般好,也會有它的短處,比如:由于它的龐大,在系統啟動的時候會顯的很慢,其實有很多應用我們都不會用到,這個時候,你可選擇只加載一個窗口管理器即可。而且你將會發現,幾乎所有的窗口管理器都可以用rc文件來配置,你可以在允許的范圍內,任意的配置。比如TWM的配置文件就是.twmrc。它位于用戶目錄下,在TWM啟的時候它會首先從用戶的主目錄下找這個文件,如果它找不到,TWM就會使用一個系統共用的配置文件,一般情況下它位于:/usr/X11R6/lib/X11/twm/system.twmrc。
為了要啟動TWM,而不是GNOME或KDE,我們需要在用戶的目錄下編輯一個.xinitrc的文件,它的內容如下:
這樣,當你在執行startx的時候,就只會啟動TWM了。最后一行表示啟動TWM,前面的兩行表示啟動的其他程序,比如xclock,它是一個時鐘程序,它后面的參數表示它啟動后所在的位置和大小。需要注意的是,除了最后一行,其他的行要在最后加上后臺運行標志,否則后面的程序都沒法進行了。除了最后一行,其他的都是可選的,你可以把你常用的一些程序放在exectwm前,這就和Windows下的啟動一樣。startx后,你將會發現,TWM的啟動非常的快,至少比GNOME,KDE快多了,當然這樣比有失公平。
TWM的配置邏輯上被分為三類概念:變量(Variables)、綁定(Bindings)和菜單(Menus)。它們都保存在用戶目錄下的.twmrc文件中。
變量
變量的配置必須放在第一,它用來描述字體、顏色、指針、邊框寬度、圖標、窗口的位置擺放,高亮、自動獲得焦點等。
變量的名字和關鍵字是非大小寫敏感的。字符串必須用引號引起來,比如:"藍色",并且字符串是大小寫敏感的。
綁定
綁定配置通常放在第二位,主要用于描述鍵盤或者鼠標在窗口、圖標、標題、框架上動作時,產生的影響。
比如我們可以把F1鍵綁定為最小化操作,把F2綁定為更改窗口的層次,把F11綁定為最大化窗口,把Shift+F4綁定為關閉窗口,F12用來把窗口焦點移到某個窗口上。
菜單
菜單用于給用戶提供自定義菜單的機會。它們可以被分成不同組,方便管理。每個菜單都由一個名字來標識,這個名字將來用作f.menu的參數。并且,我們還可以定義菜單的背景色、前景色、菜單的項以及該項所對應的動作。
圖標管理器
如果桌面上的圖標過多,用起來比較麻煩,我們這個時候可以用圖標管理器來簡化工作。TWM支持多個圖標管理器,每個還可以有一列或者多列,比如你想把所有的XTerm類程序的圖標都放在一個圖標管理器中管理。
有用的設定
TWM默認情況下,在建立新窗口時,需要用戶指定窗口的位置,這個“特色“實在讓人頭疼,不知道TWM的作者當初的用意何在。還好,有參數可以關閉它,在.twmrc的最上面加入RandomPlacement即可,以后新打開的窗口就會自動的找一個位置了。
在.twmrc中加入AutoRelativeResize,然后你就可以拖動標題欄最右邊的按鈕來改變窗口大小了。在實際操作中,我發現,如果要縮小窗口,需要先向放大的方向拖動,然后再往縮小的方向拖動才可以。如果不加入這個參數,要想改變窗口大小,需要把鼠標移動到右下角才可以,不夠方便。
結尾
TWM并不是一個完美的窗口管理器,比如它在某種意義上說不夠漂亮。但是每個窗口管理器都有它自己獨特的地方,每個人都有可能愛上TWM,也許有一天你厭煩了別的管理器,你會嘗試用一下TWM,以緩解一下審美疲勞。
參考資料 >