Programming Guide


Specifies to open the next screen as a sibling of the current window

void sm_setsibling(void);


sm_setsibling forces sibling status onto the next screen opened as a window. Usually, you can open a screen as a sibling window by prepending the screen name with double ampersands (&&) in a control string—for example, in a widget's Control String property or as an argument to sm_jwindow. This operation fails if the specified screen is already open as the current window or as a sibling of the current window. If you want to open multiple instances of the same screen as sibling windows, precede each call that opens these windows with a call to sm_setsibling.

Also, you can use this function to set sibling status for a screen to be opened with sm_r_window, sm_r_at_cur, or one of their variants. Otherwise, Panther opens all windows opened by these functions as stacked windows.

To change stacked windows into siblings and vice-versa, set their sibling property to PV_YES and PV_NO, respectively.

Note: sm_setsibling temporarily sets a static variable that is immediately unset after the next window-open operation, even if the operation fails. All subsequent window-open operations revert to their default behavior.