跳轉至內容

X11/視窗管理器/twm 指南

來自華夏公益教科書,開放的書籍,為開放的世界

標籤式視窗管理器

[編輯 | 編輯原始碼]

標籤式視窗管理器是一個可配置的重新定位視窗管理器,它提供標題欄、形狀視窗和圖示管理。

標籤式視窗管理器由 Tom LaStrange 開發,是 X 視窗系統的傳統視窗管理器。它最初被稱為 Tom 的視窗管理器,但後來被 X 協會更名為標籤式視窗管理器,該協會接管了其維護工作。

標籤式視窗管理器在很大程度上已被其他視窗管理器取代,並且不再維護。儘管已經過時,但它對 X 視窗管理器的開發產生了重大影響,其原始碼經常用作其他視窗管理器的基礎。

標籤式視窗管理器用作參考實現,許多視窗管理器,例如 swmvtwmtvtwmctwmfvwm,以及各種衍生產品,都是基於標籤式視窗管理器的程式碼構建的。

twm 的特點

[編輯 | 編輯原始碼]
  • 堆疊式視窗管理器
  • 用 C 語言編寫
  • 直接使用 xlib
  • 開源且免費提供
  • 沒有 選單欄:應用程式選單可以透過單擊視窗背景並按住滑鼠按鈕來訪問。
  • 輕量級 - 依賴項很少

佔用空間小

[編輯 | 編輯原始碼]

一些使用者仍然使用標籤式視窗管理器,因為它簡單、可定製,佔用空間小,對系統資源的佔用量也很小。標籤式視窗管理器是用 C 語言直接針對 xlib 編寫的,而不是使用 X 工具包.

使用 twm

[編輯 | 編輯原始碼]

首次啟動 twm 時,使用者可能只會看到一個帶有灰度圖案的空螢幕。一些發行版在後臺啟動了一個 xshell 或一個實際的終端程式,這意味著這兩個程式都將在 X 和 twm(或其他一些視窗管理器)啟動時執行。

程式和視窗操作的選單透過使用主指標按鈕或中間指標按鈕單擊桌面,按住按鈕並拖動透過選單及其子選單直到選擇所需的程式或功能來實現——使用者然後鬆開指標按鈕,以便選擇操作。

主選單可以透過使用主指標按鈕(通常是滑鼠左鍵)訪問。此選單的第一項是作業系統子選單,其中列出了所有按類別子選單排列的應用程式。接下來的兩個命令顯示和隱藏圖示管理器,這是一個類 UNIX 工作列的前身(twm 開發於 1987 年)。圖示管理器按執行順序列出程式視窗,並允許提高或最小化所述視窗。

視窗操作選單可以透過使用中間指標按鈕單擊桌面來呼叫。在那裡,使用者必須選擇一個視窗操作功能,然後單擊所需的視窗或其標題。

在哪裡以及如何單擊第三個指標按鈕

滾輪滑鼠通常有一個單獨的可單擊滾輪;如果觸控板只有兩個按鈕,那麼中間按鈕可以在兩個按鈕中間的交匯處。如果有兩個按鈕,X 允許透過讓左鍵和右鍵同時單擊來“模擬”中間指標按鈕(取決於指向裝置的 X 配置)。如果你的指向裝置的功能差異很大,請查閱其文件。

啟動應用程式

[編輯 | 編輯原始碼]

呼叫程式時,twm 會為程式的視窗顯示一個骨架十字準星。十字準星網格跟隨指標移動,使用者必須使用指標選擇一個理想的視窗位置,並單擊指標按鈕以使視窗內容呈現出來。這是 twm 的標準行為。

為了避免啟動某些程式時必須移動指標並單擊其按鈕以設定位置,使用者可以手動 設定程式的視窗幾何形狀。已觀察到這在 Mozilla Firefox 和 Wine 中不起作用。

注意事項

[編輯 | 編輯原始碼]

預設情況下,twm 的經典實現省略了視窗標題欄中的視窗關閉按鈕,這迫使使用者學習如何在 twm 中關閉應用程式。這是遵循圍繞 X 的哲學,即程式的視覺工具包選擇不受底層圖形框架的限制。

要新增一個視窗關閉按鈕,請參見下文。

有關配置 twm 的許多有用資訊可以在 twm 的手冊頁中找到。本節重點介紹一些重要的實際問題。

twm 的配置檔案,取決於其位置,名為或字尾為 .twmrc,並位於兩個位置。

全域性配置檔案為 system.twmrc,如果本地檔案不存在,twm 可能會使用它。system.twmrc 可以位於 /etc/X11/twm(如果是 XFree86),也可以位於 /usr/share/X11/twm。全域性檔案還包含系統建立的應用程式和程式的選單掛鉤。一般來說,system.twmrc 不應該編輯。

本地配置檔案為 .twmrc,位於使用者的 home 目錄(位於 /home/username/)。首次啟動 twm 時,本地配置檔案可能不存在。本地配置檔案一旦位於使用者的 home 目錄,就不能為空,因為 twm 僅會引用它,因此將透過缺少適當的選單來反映配置檔案的空狀態。

一個半解決方法是將全域性檔案複製到使用者的 home 目錄,並將其重新命名為 .twmrc——這也會提供應用程式選單掛鉤,但在安裝了新程式後,本地選單檔案不會更新,使用者必須自己新增命令來訪問新安裝的應用程式。由於全域性選單檔案 menudefs.hook 在安裝新軟體包後仍會由系統更新,因此使用者可以將新應用程式的命令從那裡複製到自己的 .twmrc 檔案中。

在 twm 中關閉程式視窗

[編輯 | 編輯原始碼]

預設情況下,twm 中沒有視窗關閉按鈕。使用者可以選擇以下操作之一

指定一個未使用的滑鼠按鈕,透過單擊視窗標題欄來關閉視窗
Button3 = : title : f.delete

滑鼠按鈕的順序如下:左鍵是 Button1,中鍵是 Button2,右鍵是 Button3,預設情況下,在單擊視窗標題欄時,右鍵不會被分配任何操作。: title : 指定在單擊標題欄時應用的函式。f.delete 可以關閉程式的輔助視窗或嚮應用程式傳送非強制退出訊號。

在視窗的標題欄中新增一個關閉按鈕
帶有關閉按鈕的 twm 視窗
RightTitleButton "xlogo11" = f.delete

這會在標題欄的右側新增 X 標誌;在螢幕截圖中可以看到一個例子。

xlogo11 是位於 XFree86 的 /usr/X11R6/include/X11/bitmaps 中的點陣圖檔案——這是 twm 搜尋點陣圖的預設位置。上面的 bitmaps 目錄包含數十個其他點陣圖,使用者可以在配置 twm 時使用。

twm 在錘子尺度上的位置在哪裡?

[編輯 | 編輯原始碼]

依賴項

[編輯 | 編輯原始碼]

twm 依賴於以下 xlib 庫

  • libx11-6
  • libxext6

使用的資源

[編輯 | 編輯原始碼]
VIRT   RES     SHR     %CPU    %MEM
3544   1808    1324    1.3     0.5
華夏公益教科書