動作是所寫的指令使桌上管理系統工作自動化,例如執行應用程式與開啟資料檔案的指令。動作的運作與應用程式巨集或程式設計功能很相像。每個動作都有一個用以執行動作的名稱。
一旦您定義了動作,就可以使用它來配接桌上管理系統使用者介面,以使得工作更容易執行。桌上管理系統提供附加使用者介面元件,例如圖示、前方面板控制,以及動作之功能表項目的能力。
例如,應用程式管理者中的桌面工具應用程式群組,包含啟動各種公用程式的圖示。
連按兩下時,每一個這些圖示都會執行一個動作。例如,此為當使用者連按兩下標示 Xwd 顯示器的圖示時,所執行的動作定義的一部分。配置檔案 /usr/dt/appconfig/types/language /xclients.dt 中:
ACTION Xwud { LABEL Xwd Display TYPE COMMAND EXEC_STRING /usr/bin/X11/xwud -noclick -in \ %(File)Arg_1"Xwd File To Display:"% … }
當使用者連按兩下圖示時,會執行動作的 EXEC_STRING 中的指令。
前方面板也使用動作。例如,此為個人應用程式輔助面板中標為終端機的控制定義部分。配置檔案 /usr/dt/appconfig/types/language /dtwm.fp:
CONTROL Term { ICON Fpterm LABEL Terminal PUSH_ACTION Dtterm … }
當使用者按一下控制時,PUSH_ACTION欄位會指定執行的動作—在此情況中,動作名為 Dtterm。
其它動作常見的用法在功能表中。資料檔案在其檔案管理者中的「所選項目」功能表中通常會有動作。例如,XWD 檔案(具有名稱以 .xwd 或 .wd 結尾的檔案)有藉由執行 Xwud 動作來顯示螢幕影像的開啟動作。
XWD 檔案的資料類型定義中指定了「所選項目」功能表中的動作。定義位於配置檔案 /usr/dt/appconfig/types/language /xclients.dt 中。
DATA_ATTRIBUTES XWD { ACTIONS Open,Print ICON Dtxwd … }
XWD 資料類型和與其有關聯的開啟與列印動作在 資料類型如何將資料檔案連接至動作 中解釋。
試想桌面工具應用程式群組中的 Xwd 顯示器圖示。連按兩下這個圖示將執行 X 用戶端 xwud。然而,此圖示並不直接代表實際的 xwud 可執行 /usr/bin/X11/xwud。
標示 Xwd 顯示器的圖示出現在應用程式群組中,是因為該目錄中有一個名為 Xwud 的檔案(請參閱 圖 10–3) 。此檔案代表具有相同名稱—Xwud 的隱藏的動作。在動作定義中,動作名稱是跟隨著動作 關鍵字的名稱:
ACTION Xwud { LABEL Xwd Display TYPE COMMAND WINDOW_TYPE NO_STDIO EXEC_STRING /usr/bin/X11/xwud -noclick -in \ %(File)Arg_1"Xwd File To Display:"% DESCRIPTION The Xwd Display (Xwud) XwdDisplay action \ displays an xwd file that was created using the \ Xwd Capture (Xwd) action. It uses \ the xwud command. }
此檔案稱為動作檔案是因為其代表動作。當檔案是具有與動作相同名稱的可執行檔案時,則為動作檔案。其圖示在應用程式管理者(或檔案管理者)中稱為 動作圖示 或 應用程式圖示,因為連按兩下就會啟動應用程式。
當應用程式管理者檢查到可執行的檔案時,它會仔細檢查動作資料庫來看看是否有任何名稱符合檔案名稱的動作。如果找到符合的,應用程式管理者就知道此檔案是動作檔案。
動作檔案的內容是無關的;動作檔案通常包含描述其桌上管理系統功能的註釋。
此動作檔案與動作定義檔案是不同的。此動作檔案是具有與動作名稱相同的檔案。它是用於建立檔案管理者或應用程式管理者中的 應用程式圖示。動作定義檔案 是包含動作定義的名為 name.dt 的檔案。
一旦桌上管理系統決定一個檔案是動作檔案,隱藏的動作定義是用於定義動作檔案的外觀與行為。
此 EXEC_STRING 欄位指定應用程式圖示的行為。在 Xwd 顯示器圖示的情況中,EXEC_STRING 會指定動作圖示執行具有特定指令行引數的 xwud X 用戶端。
此標籤欄位指定應用程式圖示的標籤。
此說明欄位描述於使用者要求「關於項目」輔助說明時所顯示的文字。
Xwud 應用程式圖示使用動作的預設圖示影像,因為其動作定義不包含 圖示 欄位以指定不同的影像。
相對之下,標示為壓縮檔案的圖示使用不同的圖示影像,因為其隱藏的動作定義包含 圖示 欄位:
例如:
ACTION Compress { LABEL Compress File ICON Dtcmprs … }
Xwud 動作稱為指令動作,因為其定義包含要執行的指令(EXEC_STRING)。 動作定義中的類型欄位定義動作類型。
剛開始時,Xwd 顯示器圖示出現在桌面工具應用程式群組中。但是,您可以在任何您有寫入許可權的目錄中建立動作圖示的其它副本。只要 Xwud 動作定義是資料庫的一部分,任何您所建立名為 Xwud 的可執行檔案將會是代表該動作的動作檔案,而且其在檔案管理者或應用程式管理者中的圖示可以用以執行動作。
指令的引數通常是指令在其上發生作用的東西,通常是一個檔案。可以寫入動作以接受檔案引數。
例如,Xwud 動作的 EXEC_STRING 指定檔案引數是必需的:
EXEC_STRING /usr/bin/X11/xwud -noclick -in \ %(File)Arg_1"Xwd File To Display:"%
名詞 Arg 代表 引數這個字。 語法 Arg_1 表示第一個引數,而 (File) 表示動作將引數當作是檔案。
對使用者而言,要提供檔案引數最容易的方法就是在應用程式圖示上定位資料檔案。桌上管理系統決定定位檔案的路徑,並將它放在 % symbols間的文字以取代這部份的指令行(%(檔案)Arg_1"Xwd欲顯示的檔案:"%)。 因此,執行的指令為:
/usr/bin/X11/xwud -noclick -in file_path
當使用者連按兩下應用程式圖示時,桌上管理系統會從 EXEC_STRING 決定檔案引數是需要的,並顯示提示使用者輸入檔案名稱或路徑的對話框。在 Xwud 動作的例子中,提示符號為:
欲做顯示的 Xwd 檔案:
由使用者所供應的檔案名稱或路徑作為檔案引數使用。
除了啟動應用程式之外,動作還用於整個桌上管理系統以建立功能於:
前方面板
前方面板控制的定義包括,指定當使用者按一下控制或在其上定位檔案時,所執行的動作欄位。有關更多的資訊,請參閱 定義前方面板控制。
功能表
視窗與工作區功能表定義的語法,允許您指定由功能表項目執行的動作。有關更多的資訊,請參閱 工作區管理者功能表 與 dtwmrc(4) 線上援助頁。
應用程式之間的通信
應用程式可以設計來使用稱為 ToolTalk 訊息(TT_MSG)的特殊類型動作以傳送與接收資訊。TT_MSG 動作將在桌上管理系統的開發者環境文件中加以描述。