W_BRDR

Control window borders, titles, and their attributes

WTSupported in traditional Synergy on Windows
WNSupported in Synergy .NET on Windows
USupported on UNIX
VSupported on OpenVMS
xcall W_BRDR(id, function, arguments[, function, arguments][, ...])

Arguments

id

A variable that contains the window ID. (n)

function

One or more of the following functions:

WB_ATTR = Alter the window border’s attributes.

WB_CHAR = Change the border’s line-drawing characters.

WB_COLOR = Set the border’s display color.

WB_DRAGOFF = Turn the drag bar off. (Windows only)

WB_DRAGON = Turn the drag bar on. (Windows only)

WB_NOCELL = Display border if it does not require a full character cell for display.

WB_OFF = Turn the border off.

WB_ON = Turn the border on.

WB_PARTIAL = Turn the border on and enable partial borders.

WB_SBOFF = Disable scroll bars. (Windows only)

WB_SBON = Enable scroll bars. (Windows only)

WB_TATTR = Alter the title’s attributes. (UNIX, OpenVMS only)

WB_TCOLOR = Set the title’s display color.

WB_TITLE = Set the window’s title.

WB_TOFF = Turn off the title display.

WB_TON = Turn on the title display.

WB_TPOS = Position the title.

arguments

(optional) Any arguments used by the specified function.

Discussion

W_BRDR turns a border on or off and modifies window titles and their attributes.

Note

On Windows, the appearance of the window title is determined by the Windows theme; W_BRDR has no effect.

When a window has a border, the border is drawn around the display area and is not considered part of the window’s content. If the display area changes, the border is redrawn accordingly. If the screen doesn’t have enough room for the border, the border won’t be drawn, unless you specify the WB_PARTIAL function to enable partial border displays.

If you use ^VARARGARRAY, function is the last declared argument for this routine.

WB_ATTR

WB_ATTR, attributes

WB_ATTR alters the window border’s display attributes. See Attributes for a description of the standard window attributes.

WB_ATTR is not available in graphical environments. We recommend that you not use this feature if your application will be run on Windows.

In the example below, we first display the border in reverse video. With the ATTR_CHNG function, we add blinking, so that the attributes are then reverse video and blinking. The ATTR_LOAD function loads the named options (in this case, reverse video) and turns off any options that aren’t named (which means that it clears blinking and leaves the reverse video attribute displayed). Finally, we use ATTR_CLR to clear the reverse video.

.define MAXWINS ,       15
.define WNDCHNL ,       1
.include "WND:windows.def"
record
    wndw_1              ,i4
proc
    open(WNDCHNL, o, "tt:")
    xcall w_init(0, WNDCHNL, MAXWINS)
    xcall w_proc(WP_CREATE, wndw_1, "window1", 8, 40)
    xcall w_area(wndw_1, WA_FILL, "*")
    xcall w_proc(WP_PLACE, wndw_1, 11, 21)
    call pause
    xcall w­_brdr(wndw_1, WB_ATTR, ATTR_SET + ATTR_RVRS)
    call pause
    xcall w_brdr(wndw_1, WB_ATTR, ATTR_CHNG + ATTR_BLNK)
    call pause
    xcall w_brdr(wndw_1, WB_ATTR, ATTR_LOAD + ATTR_RVRS)
    call pause
    xcall w_brdr(wndw_1, WB_ATTR, ATTR_CLR + ATTR_RVRS)
    call pause
    xcall w_exit
    stop
pause,
    xcall w_updt
    sleep 1
    return
end

WB_CHAR

WB_CHAR, horiz_line, vert_line, upper_left, upper_right, lower_left, lower_right
WB_CHAR, alpha_expression

WB_CHAR changes the border’s line-drawing characters. You can specify the characters with numerals that represent ASCII characters or with the actual alpha characters. Each argument contains the character for its position: horizontal line, vertical line, upper-left corner, upper-right corner, lower-left corner, and lower-right corner, respectively.

If a WB_CHAR argument is an alpha expression, the value itself is the line-drawing character. For example, the string “-|++++” defines horiz_line as “-”, vert_line as “|”, and all the remaining arguments as “+”. Do not separate the characters with commas.

If a WB_CHAR argument is a numeric expression, the values are interpreted as shown in the table, and must be separated by commas.

Values for ASCII line-drawing characters

Decimal value

ASCII character

1

Horizontal line

2

Vertical line

3

Upper-left corner

4

Top tee

5

Upper-right corner

6

Left tee

7

Crossing

8

Right tee

9

Lower-left corner

10

Bottom tee

11

Lower-right corner

12–31

System specific

32–255

Corresponding ASCII character

WB_CHAR is not available in graphical environments. We recommend that you not use this feature if your application will be run on Windows.

In the following routine, we first change the line-drawing characters to –, |, +, +, +, and +. (In other words, the corners are plus signs, the horizontal lines are dashes, and the vertical lines are vertical bars.) Next, we change the line-drawing characters back to lines and corners. The decimal values correspond to ASCII line-drawing characters, which are listed in the table above.

.define MAXWINS,        15
.define WNDCHNL,        1
.include "WND:windows.def"
record
    wndw_1              ,i4
proc
    open(WNDCHNL, o, "tt:")
    xcall w_init(0, WNDCHNL, MAXWINS)
    xcall w_proc(WP_CREATE, wndw_1, "window1", 8, 40)
    xcall w_area(wndw_1, WA_FILL, "1234567890")
    xcall w_proc(WP_PLACE, wndw_1, 11, 21)
    call pause
    xcall w_brdr(wndw_1, WB_CHAR, "-|++++")
    call pause
    xcall w_brdr(wndw_1, WB_CHAR, 1,2,3,5,9,11)
    xcall w_exit
    stop
pause,
    xcall w_updt
    sleep 1
    return
end

WB_COLOR

WB_COLOR, color

WB_COLOR sets the window’s border display color to color, which is a numeric expression that contains a palette number between 1 and 16. See Colors and the color palette for more information.

WB_COLOR is not available in graphical environments. We recommend that you not use this feature if your application will be run on Windows.

WB_DRAGOFF

WB_DRAGOFF

WB_DRAGOFF turns off the drag bar if the border is on. This function is only available on Windows.

WB_DRAGON

WB_DRAGON

WB_DRAGON turns on the drag bar if the border is on. This function is only available on Windows.

WB_NOCELL

WB_NOCELL

WB_NOCELL designates that the window should only have a border if the border does not require a full character cell for display. This means the window will have a border only in a Windows environment. You can use this function instead of WB_ON and WB_OFF. (WB_NOCELL and WB_ON/WB_OFF are mutually exclusive.)

WB_OFF

WB_OFF

WB_OFF turns off the border, including partial borders. If the placement position was adjusted using WP_PLACE to accommodate a border, the window is shifted back to its original position.

WB_ON

WB_ON

WB_ON turns on the border (default). It does not override the WB_PARTIAL function; if you want WB_ON functionality after WB_PARTIAL has been set, you must first turn off the border with WB_OFF and then set WB_ON.

WB_PARTIAL

WB_PARTIAL

Like WB_ON, WB_PARTIAL turns the border on for the specified window, but it also enables partial border displays if an entire border doesn’t fit on the screen. For example, if your window is 20 rows by 80 columns (on a 24 x 80 screen) and WB_PARTIAL is set, Synergy DBL still displays the top and bottom borders. Likewise, if your window is too tall for the border to be displayed on the screen, the side borders are still displayed if WB_PARTIAL is set.

WB_PARTIAL is not available in graphical environments. We recommend that you not use this feature if your application will be run on Windows.

WB_SBOFF

window, WB_SBOFF[, scroll_bar]

WB_SBOFF disables scroll bars in Windows environments, which means the specified scroll bars are not displayed at all. Window is the ID of the window and scroll_bar is one of the following:

WBS_HORZ

Horizontal scroll bar

WBS_VERT

Vertical scroll bar

WBS_BOTH

Both scroll bars (default)

This qualifier is ignored on UNIX and OpenVMS.

WB_SBON

window, WB_SBON[, scroll_bar]

WB_SBON enables the specified scroll bars in Windows environments, where window is the ID of the window and scroll_bar is one of the following:

WBS_HORZ

Horizontal scroll bar

WBS_VERT

Vertical scroll bar

WBS_BOTH

Both scroll bars (default)

When scroll bars are enabled, room is left for them within the window’s frame even when the scroll bars are not displayed. Scroll bars are only displayed if the window’s display area is smaller than the window area. This qualifier is ignored on UNIX and OpenVMS.

WB_TATTR

WB_ATTR, attributes

WB_TATTR alters the title’s display attributes. See Attributes for more information on standard window attributes.

WB_TATTR is not available in graphical environments. We recommend that you not use this feature if your application will be run on Windows.

In the following example, we first make sure that the border is on by using the WB_ON function, and then we set the border’s attributes to reverse video. We then specify a title for the window (the contents of the variable choice) and change the attributes of the title to bold. Finally, we position the title in the center of the top border.

xcall w_brdr(wndw_1, WB_ON, WB_ATTR, ATTR_SET + ATTR_RVRS, 
&     WB_TITLE, choice, WB_TATTR, ATTR_CHNG + ATTR_BOLD, WB_TPOS,
&     WBT_TOP, WBT_CENTER)

WB_TCOLOR

WB_TCOLOR, color

WB_TCOLOR sets the title’s display color to color, which is a numeric expression that contains a palette number between 1 and 16. See Colors and the color palette for more information about color.

WB_TCOLOR is not available in graphical environments. We recommend that you not use this feature if your application will be run on Windows.

WB_TITLE

WB_TITLE, title

WB_TITLE sets the title for the window, where title is an alpha expression or literal that contains the window title. Note that on Windows, WB_TITLE updates the tab text if the window is part of a tab set. (On UNIX and OpenVMS, you must remove and re-add a window to change the text for its tab.)

WB_TOFF

WB_TOFF

WB_TOFF turns off the title display in the border.

WB_TON

WB_TON

WB_TON turns on the title display in the border.

WB_TPOS

WB_TPOS, border, position

WB_TPOS indicates in which border and at what position within the border the title should be displayed. The following border options are available:

WBT_TOP

Top border (default)

WBT_BOTTOM

Bottom border

WBT_LEFT

Left border

WBT_RIGHT

Right border

The following position options are available:

numeric expression

Actual position

WBT_BEG

Beginning of the border (left or top) (default)

WBT_END

End of the border (right or bottom)

WBT_CENTER

Centered in the border

WB_TPOS is not available in graphical environments. We recommend that you not use this feature if your application will be run on Windows.