関数 DtWsmGetWorkspacesOccupied() は、指定されたアプリケーション・ウィンドウがあるワークスペースのリストを返します。occupy.c では、プロシージャ ShowWorkspaceOccupancy() がこの関数を呼び出します。この呼び出しの結果に基づいて、ShowWorkspaceOccupancy() はワークスペースを表すトグル・ボタンの外観を変更します。アプリケーション・ウィンドウがあるワークスペースの各トグル・ボタンには、チェック・マークが表示されます。
DtWsmGetWorkspacesOccupied() を使用します。
rval = DtWsmGetWorkspacesOccupied(XtDisplay(toplevel) XtWindow(toplevel), &paWsIn, &numWsIn);
XtDisplay(toplevel) は、X ディスプレイです。
XtWindow(toplevel) は、ワークスペースで検索されるウィンドウです。
paWsIn は、X のアトムに変換されたワークスペース名のリストを指すポインタのアドレスです。
numWsIn は、リスト内のワークスペースの番号を表す整数のアドレスです。
この呼び出しの後、ループが設定され、ワークスペースのリスト (DtWsmGetWorkspaceList() によってプロシージャ SetUpWorkspaceButtons() で検索されます) と、アプリケーション・ウィンドウがあることがわかったワークスペースのリストとを比較します。各トグル・ボタンがアプリケーション・ウィンドウがあるワークスペースを表す場合は、トグル・ボタン・リソース XmNset に True が設定されます。