本章描述如何自訂桌上管理系統的「工作區管理者」。
「工作區管理者」是由桌上管理系統所提供的視窗管理者。就像其它的視窗管理者一樣,其控制:
視窗框架元件的外觀
視窗的行為,包括其堆疊順序與焦點行為
按鍵組合與按鈕組合
最小化視窗的外觀
「工作區」與「工視窗」功能表
此外,「工作區管理者」還控制這些桌上管理系統元件:
工作區。「工作區管理者」控制工作區的數目,並注意每個工作區中開啟了哪些視窗。
工作區背景定位。使用者使用「樣式管理者」來變更背景定位。然而,背景定位管理是「工作區管理者」的功能。
前方面板。雖然「前方面板」使用它自己的配置檔案,但它是由「工作區管理者」所建立與管理的。
許多的這些元件都可以用「樣式管理者」來變更。只要您用一點點努力,「樣式管理者」就能夠使常用的變更更加快速。其它的來源必須人工設定。
「工作區管理者」是dtwm。它是以 「Motif 視窗管理者」為基礎。
有關「工作區管理者」的參考資訊,請參閱 dtwm(1) 與 dtwmrc(4) 線上援助頁。
有關設定「工作區管理者」來源的資訊,請參閱 "設定應用程式來源"。
有關「前方面板」配置檔案的資訊,請參閱 第 15章, 進階前方面板自訂。
有關設定來源的其它資訊,請參閱 "設定應用程式來源"。
「工作區管理者」取得有關來自配置檔案的視窗功能表、工作區功能表、按鈕組合與按鍵組合的資訊。
其使用下列檔案之一:
內建檔案: /usr/dt/config/language/sys.dtwmrc
「工作區管理者」以如上所示的順序搜尋配置檔案,並使用它所找到的第一個檔案。
對於使用一種以上的階段作業語言使用者,可以建立對 HomeDirectory/.dt/dtwmrc 取得優先順序的個人語言相依的配置檔案 HomeDirectory/.dt/language/dtwrmc。
個人的「工作區管理者」配置檔案為 HomeDirectory/.dt/dtwmrc。如果這個檔案存在,就使用此檔案。
連按兩下 Desktop_Tools 應用程式群組中的「編輯 Dtwmrc」。
如果您已經有個人的 dtwmrc 檔案,其會載入編輯器中。如果沒有的話,sys.dtwmrc 會複製至 HomeDirectory/.dt/dtwmrc,然後其會載入編輯器中。
編輯檔案。
結束編輯器。
檔案會儲存為您個人的 dtwmrc,不論其原始來源為何。
整個系統的「工作區管理者」配置檔案為 /etc/dt/config/language/sys.dtwmrc。
如果 HomeDirectory/.dt/dtwmrc 存在,則不使用此檔案。
使用語法:
包括 { 路徑 路徑 ... }
例如,下列各行納入檔案 /users/ellen/mymenu :
包括 { /users/ellen/mymenu }
包括陳述式對於提供其它的功能而不需複製整個配置檔案是很有用的。例如,使用者可能會想要建立新的按鍵組合,而不需管理整個配置檔案。使用者可以用此內容建立檔案 HomeDirectory/.dt/dtwmrc:
包括 { /etc/dt/config/C/sys.dtwmrc } 按鍵 DtKeyBindings { Alt<Key>F5 root f.menu 應用程式 }
功能表應用程式 { "GraphicsApp" f.exec "/usr/bin/GraphicsApp/GApp" ... }
「工作區管理者」必須重新啟動才能使對配置檔案所作的變更生效。
從「工作區」功能表選擇「重新啟動工作區管理者」(當指標在背景定位上時,請按滑鼠鈕 3)。
大部分的工作區自訂,例如變更工作區名稱與工作區數目,都可以由使用者使用桌上管理系統的介面來完成。不過,「工作區管理者」會提供設定整個系統的內定值來源。
內定桌上管理系統配置提供四個工作區。使用者可以使用與「工作區」開關聯合的即現式功能表來增加與刪除工作區。
/usr/dt/app-defaults/C/Dtwm 檔案使e workspaceCount 來源設定為以下的工作區內定數目:
Dtwm*0*workspaceCount: 4 Dtwm*workspaceCount: 1
螢幕 0 上指定多重工作區。單一工作區是指定於任何其它的螢幕上。
您可以建立(或如果其存在則修改)/etc/dt/config/C/sys.resources 檔案以為工作站上所有的新使用者來變更內定的工作區數目。
例如,以下來源將主螢幕上整個系統的工作區數目設定為六:
Dtwm*0*workspaceCount: 6
有關設定「工作區管理者」來源的資訊,請參閱 "設定應用程式來源" .
例如,以下來源將工作區的數目設定為六:
Dtwm*workspaceCount: 6
剛開始時,工作區是以編號習慣用法 wsn 來編號的,其中 n 為 0、1、2 等等。例如,內定的四個工作區內部的編號為 ws0 到 ws3。
Dtwm*wsn:名稱
有關設定「工作區管理者」來源的資訊,請參閱 "設定應用程式來源"。
例如,下列來源將內定的四個工作區設定為指定的名稱:
Dtwm*ws0*title: Anna Dtwm*ws1*title: Don Dtwm*ws2*title: Julia Dtwm*ws3*title: Patti
建立背景定位影像。它們可以是位元映射或圖素映射檔案。
整個系統的背景定位:/etc/dt/backdrops
個人的背景定位:HomeDirectory/.dt/backdrops
從「工作區」功能表選擇「重新啟動工作區管理者」。
整個系統與個人的背景定位是增加至 /usr/dt/backdrops 中的內建背景定位。
您可以用建立具有相同名稱的個人或整個系統的背景定位來取代現存內建背景定位。
背景定位是位於顯示器的 root 視窗上之階層。「樣式管理者背景定位」對話框提供 NoBackdrop 設定,其中背景定位是透明的。
在所有的工作區背景定位後面只有一個 root 視窗。因此,放在 root 視窗上的圖形影像持續經過所有工作區。您可以指定哪些工作區以背景定位遮蓋 root 視窗。然而,當 NoBackdrop 實際上對於每個工作區都是相同的時,影像是可見的。
建立圖形影像。
影像必須是其中有工具存在以在 root 視窗上顯示它的格式。例如,如果您意欲使用xsetroot,您便必須建立位元映射檔案。
如果它並非已經存在,請建立可執行的檔案 HomeDirectory/.dt/sessions/sessionetc。
每次使用者登入時都會執行 sessionetc 檔案。
放置指令以在 sessionetc 檔案中顯示影像。
例如,以下指令非重疊顯示具有指定位元映射的 root 視窗:
xsetroot -bitmap /users/ellen/.dt/icons/root.bm
「工作區管理者」有三種內定功能表:
工作區功能表-也稱為 root 功能表。當指標在背景定位上時,會在使用者按滑鼠按鈕 3 時顯示出來。功能表經由按鈕組合與滑鼠按鈕聯合。
視窗功能表-當指標在「視窗」功能表按鈕(視窗框架的左上角)上時,功能表顯示於使用者按滑鼠按鈕 1 或滑鼠按鈕 3 時。功能表藉由 windowMenu 來源而與按鈕聯合。
前方面板功能表-當指標在「前方面板的視窗」功能表按鈕上方時,功能表顯示於使用者按滑鼠按鈕 1 或滑鼠按鈕 3 時。
「工作區管理者」功能表有語法:
功能表 MenuName { 選擇1 [助憶] [加速鍵] 功能 [引數] 選擇2 [助憶] [加速鍵] 功能 [引數] ... }
其中:
選擇-出現在功能表上的文字或位元映射。如果文字包括空間,請將文字附在引號中。對於位元映射,請使用語法 @/路徑。
助憶-當功能表顯示時,作為鍵盤捷徑的單一字元。在格式 _character 中對其有所指定。
加速鍵-不論功能表顯示與否,均為作用中的鍵盤捷徑。加速鍵有語法 修飾碼 <Key> 按鍵名稱 其中修飾碼為 Ctrl、Shift、Alt(擴充字元) 或 Lock。有關所有可能的按鍵名稱列表,請參照您的 "X11 包括" 目錄中的 keysymdef.h 檔案。
功能-當作此選擇時,則執行功能。有關功能列表,請參照 dtwmrc(4) 線上援助頁。
引數-功能引數。有關更多的細節資訊,請參照 dtwmrc(4) 線上援助頁。
例如,以下加上「回復」標籤的功能表項目會使視窗一般化。當功能表顯示時,鍵入 "R" 也會回復視窗。按擴充字元 F5 也會回復視窗。
回復 _R Alt<Key> F5 f.normalize
有關「工作區管理者」功能表語法的完整資訊,請參閱 dtwmrc(4) 線上援助頁。
按一下「前方面板」的「工具」子面板上的「增加項目至功能表」控制。
「增加項目至工作區功能表」對話框會顯示出來。
鍵入完整路徑或按一下「瀏覽」,並選擇您想要新的功能表項目執行的檔案路徑。
您所指的檔案一般應是可供此主機使用的。此檔案應為註冊至主機的可執行檔案或資料類型的檔案(例如聲訊或線上援助頁)。
文字方框中顯示包括檔案名稱的完整路徑。
按一下「增加」以將檔案增加至功能表。
檔案增加至「工作區功能表」中的第一個位置。其內定圖像(如果有的話)與檔案名稱將會用作功能表項目的圖像與文字使用。
如果要變更「工作區功能表」上的功能表項目的位置,請參閱 "如果要修改工作區功能表" 。
按一下「前方面板」的「工具」子面板上的「自訂工作區功能表」控制。
「檔案管理者」的顯示會顯示出「工作區功能表」的配置檔案夾。注意,此檔案夾中的檔案代表每個功能表項目,而子檔案夾代表每個子功能表。藉由重新安排「工作區功能表」檔案夾的內容,您可重新安排「工作區功能表」。
將任何您希望移動的功能表項目拖曳及定位至此子檔案夾下的新位置。
有關使用「樹狀查看」模式中的「檔案管理者」的輔助說明,請參閱 Solaris 共用桌上管理系統環境:使用者指南。
藉由將其檔案拖曳至「前方面板」上的檔案垃圾桶,圾車來刪除任何不想要的功能表項目。
藉由編輯其檔案或檔案夾名稱來重新命名任何您想要重新命名的功能表項目。
當您對您所作的變更感到滿意時,請從「檔案管理者」中的「檔案」功能表選擇「更新工作區功能表」,並結束「檔案管理者」。
現在「工作區功能表」會反映出您在「工作區功能」表檔案夾中所作的變更。
開啟合適的檔案以編輯:
個人的:HomeDirectory/.dt/dtwmrc
整個系統的:/etc/dt/config/language/sys.dtwmrc
有關建立這些檔案的資訊,請參閱 "工作區管理者配置檔案"。
建立新的功能表:
功能表 menu_name { ... }
請參閱 "工作區管理者功能表語法"。
建立或編輯按鈕組合以顯示新的功能表。
如果功能表取代現存功能表,請編輯顯示「工作區功能表」的按鈕組合。
<Btn3Down> root f.menu menu_name
如果功能表是附加的功能表,請建立新的滑鼠按鈕組合。例如,當在背景定位之上按滑鼠鈕 3 時,以下的按鈕組合會顯示功能表:
Shift<Btn3Down> root f.menu menu_name
從「工作區」功能表選擇「重新啟動工作區管理者」。
「視窗」功能表建於「工作區管理者」中,而且一般都不是自訂。如果要保持視窗行為在應用程式之間的一致,您應該避免「視窗」功能表的大規模修改。
開啟合適的檔案以編輯:
個人的: HomeDirectory/.dt/dtwmrc
整個系統的:/etc/dt/config/language/sys.dtwmrc
有關建立這些檔案的資訊,請參閱 "工作區管理者配置檔案"。
建立新的功能表:
功能表 menu_name { ... }
使用 windowMenu 來源來指定新的功能表:
Dtwm*windowMenu: menu_name
從「工作區」功能表選擇「重新啟動工作區管理者」。
按鈕組合 聯合滑鼠按鈕作業與具有視窗管理者功能的可能鍵盤修飾碼。按鈕組合應用於所有的工作區。
桌上管理系統內定的按鈕組合定義於名為 DtButtonBindings 的按鈕組合組中的「工作區管理者」配置檔案中:
按鈕 DtButtonBindings { ... }
按鈕組合的語法為:
按鈕 ButtonBindingSetName { [修飾碼]<button_nameMouse_action> 內容 功能 [引數] [修飾碼]<button_nameMouse_action> 內容 功能 [引數] }
其中:
button_name-Btn1 - 滑鼠左邊鈕 Btn2-中間按鈕(3 個按鈕的滑鼠)或兩個按鈕(2 個按鈕的 滑鼠) Btn3 - 右邊按鈕 Btn4-按鈕 1 與 2 一起在 3 個按鈕的滑鼠上 Btn5 - 按鈕 2 與 3 一起 在 3 個按鈕的滑鼠上
修飾碼-Ctrl、Shift、Alt、Lock
mouse_action-下-按住滑鼠不放;按鈕 向上-放開滑鼠鈕; 按一下-按住 與放開滑鼠鈕; 按兩下-連按兩下 滑鼠按鈕; 拖曳-按下滑鼠按鈕不放的同時拖曳滑鼠
內容-指示要使組合有效,指標必須放在何處。如果有必要,以 "|" 字元分開多重內容。
root-工作區視窗; 視窗-客戶機視窗或視窗框架; 框架-視窗框架,除了內容以外; 圖像-圖像; 標題-主題軸; app-客戶機視窗(除了框架以外)
功能-視窗管理者功能之一。有關有效功能的列表,請參照 dtwmrc(4) 線上援助頁。
引數-所需的任何視窗管理者功能引數。有關細節資訊,請參照 dtwmrc(4) 線上援助頁。
例如,當指標在工作區視窗(但不在客戶機視窗中)之時按滑鼠按鈕 3 時,下行會引起DtRootMenu 中所描述的功能表顯示出來的。
<Btn3Down> root f.menu DtRootMenu
有關按鈕組合語法的完整資訊,請參閱 dtwmrc(4) 線上援助頁。
開啟合適的檔案以編輯:
個人的: HomeDirectory/.dt/dtwmrc
整個系統的:/etc/dt/config/language/sys.dtwmrc
有關建立這些檔案的資訊,請參閱 "工作區管理者配置檔案"。
增加按鈕組合至 DtButtonBindings 定義。
請勿將相同的按鈕鍊結到不同的按一下與按的作業功能,並勿將一個以上的功能鍊結到相同的按鈕與內文。
從「工作區」功能表選擇「重新啟動工作區管理者」。
開啟合適的檔案以編輯:
個人的: HomeDirectory/.dt/dtwmrc
整個系統的:/etc/dt/config/language/sys.dtwmrc
有關建立這些檔案的資訊,請參閱 "工作區管理者配置檔案"。
建立新的按鈕組合組,請參閱 "按鈕組合語法"。
Dtwm*buttonBindings: ButtonBindingsSetName
從「工作區」功能表選擇「重新啟動工作區管理者」。
新的按鈕組合會取代您的現存按鈕組合。從 DtButtonBindings 複製任何您想要保存的按鈕組合。
鍵盤組合 也稱為 按鍵組合,聯合了具有「工作區管理者」功能的按鍵的組合。按鍵組合應用於所有的工作區。
關於使用共用按鍵組合作為鍵盤組合方面,請小心。例如,Shift-A 通常會在您目前的視窗中加入字母「A」。如果您將 Shift-A 鍊結至一項功能,您會失去其原始用法。
桌上管理系統內定按鍵組合定義於名為 DtKeyBindings 的按鍵組合組的「工作區管理者」配置檔案中:
按鍵 DtKeyBindings { ... }
按鍵組合的語法為:
按鍵 KeyBindingSetName { [修飾碼]<Key>key_name 內文 功能 [引數][修飾碼]<Key> key_name 內文 功能 [引數] ... }
其中:
修飾碼-Ctrl、Shift、Alt 與 Lock。允許多重修飾碼;以空格分開它們。
key_name-功能與其對應的按鍵。對於具有字母或數字的按鍵,key_name 名稱通常印在按鍵上。例如「a」鍵的名稱為「a」,而「2」鍵名為「2」。「Tab」鍵名為 「Tab」。「F3」鍵名為「F3」。
對於其它的按鍵,則是將名稱拼出來-例如,「+」鍵的plus(加)。位於系統相依目錄中的檔案 keysymdef.h 包含有關按鍵名稱的其它資訊。
內文-必須有鍵盤焦點以使此動作有效的元素。如果組合應用於一項以上的內文,這些可以串接在一起。多重內文由 "|" 字元來分開。
root-工作區背景定位;視窗-客戶機視窗;圖像-圖像
功能-視窗管理者功能。有關有效功能的列表,請參照 dtwmrc(4) 線上援助頁。
引數-所需的任何視窗管理者功能引數。有關細節資訊,請參照 dtwmrc(4) 線上援助頁。
例如,以下的按鍵組合讓使用者藉由按 Alt+F6l 將鍵盤焦點轉換至應用程式中的下一暫態視窗。
Alt<Key>F6 視窗 f.next_key 暫態
有關按鍵組合語法的完整資訊,請參閱 dtwmrc(4) 線上援助頁。
開啟合適的檔案以編輯:
個人的: HomeDirectory/.dt/dtwmrc
整個系統的:/etc/dt/config/language/sys.dtwmrc
有關建立這些檔案的資訊,請參閱 "工作區管理者配置檔案"。
用唯一的 KeyBindingSetName 建立新的按鍵組合。使用桌上管理系統內定按鍵組合組 DtKeyBindings 作為指南。
Dtwm*keyBindings: KeyBindingSetName
從「工作區」功能表選擇「重新啟動工作區管理者」。
新的按鍵組合取代了您的現存按鍵組合。從 DtKeyBindings 將任何您想要保存的按鍵組合複製到您的新組別中。
如果要在 Motif 內定與 CDE 桌上管理系統視窗行為之間切換: