The function DtWsmRemoveWorkspaceFunctions() prevents an application from:
Switching from one workspace to another
Occupying all workspaces
Being removed from the current workspace
DtWsmRemoveWorkspaceFunctions() does this by making that portion of the desktop Workspace Manager (dtwm) window menu inactive. The application should call DtWsmRemoveWorkspaceFunctions() before its top-level window is mapped because dtwm only checks workspace information at the time it manages the application's top-level window. If you need to call DtWsmRemoveWorkspaceFunctions() after the application's top-level window is managed, then you must first call the Xlib function XWithdrawWindow(), call DtWsmRemoveWorkspaceFunctions,() and then call XMapWindow() to remap the top-level window.
DtWsmRemoveWorkspaceFunctions(XtDisplay(toplevel), XtWindow(toplevel));
where:
XtDisplay(toplevel) is the X display.
XtWindow(toplevel) is the window for which workspace movement is to be prevented.