Solaris Common Desktop Environment: Programmer's Guide

Placing an Application Window in Workspaces

An application can place its windows in any or all of the existing workspaces. DtWsmOccupyAllWorkspaces() places the windows in all currently defined workspaces, while DtWsmSetWorkspacesOccupied() places the windows in all workspaces named in a list that is passed to the function.

To Place an Application Window in All Workspaces

    Use DtWsmOccupyAllWorkspaces().

    In occupy.c, the callback allWsCB() for the Occupy All Workspaces push button calls this function.

    DtWsmOccupyAllWorkspaces (XtDisplay(toplevel),
                               XtWindow(toplevel));

    where:

    • XtDisplay(toplevel) is the X display.

    • XtWindow(toplevel) is the window to be placed in all workspaces.

See the DtWsmOccupyAllWorkspaces() man page for more information on this function.

To Place an Application Window in Specified Workspaces

    Use DtWsmSetWorkspacesOccupied().

    In occupy.c, the callback setCB() for the Set Occupancy push button calls this function.

    DtWsmSetWorkSpacesOccupied XtDisplay(toplevel),
                                  XtWindow(toplevel), paWsSet, numSet);

    where:

    • XtDisplay(toplevel) is the X display.

    • XtWindow(toplevel) is the window to be placed in the workspaces.

    • paWsSet is a pointer to a list of workspace names that have been converted to X atoms.

    • numSet is the number of workspaces in the list.

See the DtWsmSetWorkspacesOccupied() man page for more information on this function.