Solaris 共通デスクトップ環境 プログラマーズ・ガイド

アプリケーション・ウィンドウがあるワークスペースの識別

関数 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 が設定されます。