Home | History | Annotate | Line # | Download | only in dist
      1 /* $XTermId: menu.h,v 1.147 2024/12/01 23:38:29 tom Exp $ */
      2 
      3 /*
      4  * Copyright 1999-2021,2024 by Thomas E. Dickey
      5  *
      6  *                         All Rights Reserved
      7  *
      8  * Permission is hereby granted, free of charge, to any person obtaining a
      9  * copy of this software and associated documentation files (the
     10  * "Software"), to deal in the Software without restriction, including
     11  * without limitation the rights to use, copy, modify, merge, publish,
     12  * distribute, sublicense, and/or sell copies of the Software, and to
     13  * permit persons to whom the Software is furnished to do so, subject to
     14  * the following conditions:
     15  *
     16  * The above copyright notice and this permission notice shall be included
     17  * in all copies or substantial portions of the Software.
     18  *
     19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     20  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     21  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
     22  * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
     23  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
     24  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
     25  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     26  *
     27  * Except as contained in this notice, the name(s) of the above copyright
     28  * holders shall not be used in advertising or otherwise to promote the
     29  * sale, use or other dealings in this Software without prior written
     30  * authorization.
     31  *
     32  *
     33  * Copyright 1989  X Consortium
     34  *
     35  * Permission to use, copy, modify, distribute, and sell this software and its
     36  * documentation for any purpose is hereby granted without fee, provided that
     37  * the above copyright notice appear in all copies and that both that
     38  * copyright notice and this permission notice appear in supporting
     39  * documentation.
     40  *
     41  * The above copyright notice and this permission notice shall be included
     42  * in all copies or substantial portions of the Software.
     43  *
     44  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     45  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     46  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
     47  * IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
     48  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
     49  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     50  * OTHER DEALINGS IN THE SOFTWARE.
     51  *
     52  * Except as contained in this notice, the name of the X Consortium shall
     53  * not be used in advertising or otherwise to promote the sale, use or
     54  * other dealings in this Software without prior written authorization
     55  * from the X Consortium.
     56  */
     57 
     58 #ifndef included_menu_h
     59 #define included_menu_h
     60 /* *INDENT-OFF* */
     61 
     62 #include <xterm.h>
     63 
     64 #ifndef OPT_MENU_KEEPCLIPBOARD
     65 #define OPT_MENU_KEEPCLIPBOARD 0	/* useful for debugging */
     66 #endif
     67 
     68 typedef struct _MenuEntry {
     69     const char *name;
     70     void (*function) PROTO_XT_CALLBACK_ARGS;
     71     Widget widget;
     72 } MenuEntry;
     73 
     74 extern MenuEntry mainMenuEntries[], vtMenuEntries[];
     75 extern MenuEntry fontMenuEntries[];
     76 #if OPT_TEK4014
     77 extern MenuEntry tekMenuEntries[];
     78 #endif
     79 
     80 extern void Handle8BitControl      PROTO_XT_ACTIONS_ARGS;
     81 extern void HandleAllow132         PROTO_XT_ACTIONS_ARGS;
     82 extern void HandleAllowBoldFonts   PROTO_XT_ACTIONS_ARGS;
     83 extern void HandleAllowColorOps    PROTO_XT_ACTIONS_ARGS;
     84 extern void HandleAllowFontOps     PROTO_XT_ACTIONS_ARGS;
     85 extern void HandleAllowMouseOps    PROTO_XT_ACTIONS_ARGS;
     86 extern void HandleAllowSends       PROTO_XT_ACTIONS_ARGS;
     87 extern void HandleAllowTcapOps     PROTO_XT_ACTIONS_ARGS;
     88 extern void HandleAllowTitleOps    PROTO_XT_ACTIONS_ARGS;
     89 extern void HandleAllowWindowOps   PROTO_XT_ACTIONS_ARGS;
     90 extern void HandleAltEsc           PROTO_XT_ACTIONS_ARGS;
     91 extern void HandleAltScreen        PROTO_XT_ACTIONS_ARGS;
     92 extern void HandleAppCursor        PROTO_XT_ACTIONS_ARGS;
     93 extern void HandleAppKeypad        PROTO_XT_ACTIONS_ARGS;
     94 extern void HandleAutoLineFeed     PROTO_XT_ACTIONS_ARGS;
     95 extern void HandleAutoWrap         PROTO_XT_ACTIONS_ARGS;
     96 extern void HandleBackarrow        PROTO_XT_ACTIONS_ARGS;
     97 extern void HandleBellIsUrgent     PROTO_XT_ACTIONS_ARGS;
     98 extern void HandleCreateMenu       PROTO_XT_ACTIONS_ARGS;
     99 extern void HandleCursesEmul       PROTO_XT_ACTIONS_ARGS;
    100 extern void HandleCursorBlink      PROTO_XT_ACTIONS_ARGS;
    101 extern void HandleDeleteIsDEL      PROTO_XT_ACTIONS_ARGS;
    102 extern void HandleDumpHtml         PROTO_XT_ACTIONS_ARGS;
    103 extern void HandleDumpSvg          PROTO_XT_ACTIONS_ARGS;
    104 extern void HandleFontBoxChars     PROTO_XT_ACTIONS_ARGS;
    105 extern void HandleFontDoublesize   PROTO_XT_ACTIONS_ARGS;
    106 extern void HandleFontLoading      PROTO_XT_ACTIONS_ARGS;
    107 extern void HandleFontPacked       PROTO_XT_ACTIONS_ARGS;
    108 extern void HandleFullscreen       PROTO_XT_ACTIONS_ARGS;
    109 extern void HandleHpFunctionKeys   PROTO_XT_ACTIONS_ARGS;
    110 extern void HandleJumpscroll       PROTO_XT_ACTIONS_ARGS;
    111 extern void HandleKeepClipboard    PROTO_XT_ACTIONS_ARGS;
    112 extern void HandleKeepSelection    PROTO_XT_ACTIONS_ARGS;
    113 extern void HandleLogging          PROTO_XT_ACTIONS_ARGS;
    114 extern void HandleMarginBell       PROTO_XT_ACTIONS_ARGS;
    115 extern void HandleMetaEsc          PROTO_XT_ACTIONS_ARGS;
    116 extern void HandleNumLock          PROTO_XT_ACTIONS_ARGS;
    117 extern void HandleOldFunctionKeys  PROTO_XT_ACTIONS_ARGS;
    118 extern void HandlePopupMenu        PROTO_XT_ACTIONS_ARGS;
    119 extern void HandlePrintControlMode PROTO_XT_ACTIONS_ARGS;
    120 extern void HandlePrintEverything  PROTO_XT_ACTIONS_ARGS;
    121 extern void HandlePrintImmediate   PROTO_XT_ACTIONS_ARGS;
    122 extern void HandlePrintOnError     PROTO_XT_ACTIONS_ARGS;
    123 extern void HandlePrintScreen      PROTO_XT_ACTIONS_ARGS;
    124 extern void HandleRedraw           PROTO_XT_ACTIONS_ARGS;
    125 extern void HandleRenderFont       PROTO_XT_ACTIONS_ARGS;
    126 extern void HandleReverseVideo     PROTO_XT_ACTIONS_ARGS;
    127 extern void HandleReverseWrap      PROTO_XT_ACTIONS_ARGS;
    128 extern void HandleScoFunctionKeys  PROTO_XT_ACTIONS_ARGS;
    129 extern void HandleScrollKey        PROTO_XT_ACTIONS_ARGS;
    130 extern void HandleScrollTtyOutput  PROTO_XT_ACTIONS_ARGS;
    131 extern void HandleScrollbar        PROTO_XT_ACTIONS_ARGS;
    132 extern void HandleSecure           PROTO_XT_ACTIONS_ARGS;
    133 extern void HandleSendSignal       PROTO_XT_ACTIONS_ARGS;
    134 extern void HandleSetPopOnBell     PROTO_XT_ACTIONS_ARGS;
    135 extern void HandleSetPrivateColorRegisters PROTO_XT_ACTIONS_ARGS;
    136 extern void HandleSetSelect        PROTO_XT_ACTIONS_ARGS;
    137 extern void HandleSetTekText       PROTO_XT_ACTIONS_ARGS;
    138 extern void HandleSetTerminalType  PROTO_XT_ACTIONS_ARGS;
    139 extern void HandleSetVisualBell    PROTO_XT_ACTIONS_ARGS;
    140 extern void HandleSixelScrolling   PROTO_XT_ACTIONS_ARGS;
    141 extern void HandleSunFunctionKeys  PROTO_XT_ACTIONS_ARGS;
    142 extern void HandleSunKeyboard      PROTO_XT_ACTIONS_ARGS;
    143 extern void HandleTekCopy          PROTO_XT_ACTIONS_ARGS;
    144 extern void HandleTekPage          PROTO_XT_ACTIONS_ARGS;
    145 extern void HandleTekReset         PROTO_XT_ACTIONS_ARGS;
    146 extern void HandleTiteInhibit      PROTO_XT_ACTIONS_ARGS;
    147 extern void HandleToolbar          PROTO_XT_ACTIONS_ARGS;
    148 extern void HandleUTF8Fonts        PROTO_XT_ACTIONS_ARGS;
    149 extern void HandleUTF8Mode         PROTO_XT_ACTIONS_ARGS;
    150 extern void HandleUTF8Title        PROTO_XT_ACTIONS_ARGS;
    151 extern void HandleVisibility       PROTO_XT_ACTIONS_ARGS;
    152 extern void HandleWriteError       PROTO_XT_ACTIONS_ARGS;
    153 extern void HandleWriteNow         PROTO_XT_ACTIONS_ARGS;
    154 
    155 extern GCC_NORETURN void HandleClearSavedLines  PROTO_XT_ACTIONS_ARGS;
    156 extern GCC_NORETURN void HandleHardReset        PROTO_XT_ACTIONS_ARGS;
    157 extern GCC_NORETURN void HandleQuit             PROTO_XT_ACTIONS_ARGS;
    158 extern GCC_NORETURN void HandleSoftReset        PROTO_XT_ACTIONS_ARGS;
    159 
    160 extern void SetupMenus (Widget /*shell*/, Widget */*forms*/, Widget */*menus*/, Dimension * /*menu_high*/);
    161 
    162 #if OPT_TOOLBAR
    163 extern void ShowToolbar(Bool);
    164 #endif
    165 
    166 /*
    167  * The following definitions MUST match the order of entries given in
    168  * the mainMenuEntries, vtMenuEntries, and tekMenuEntries arrays in menu.c.
    169  */
    170 
    171 /*
    172  * items in primary menu
    173  */
    174 typedef enum {
    175 #if OPT_TOOLBAR
    176     mainMenu_toolbar,
    177 #endif
    178 #if OPT_MAXIMIZE
    179     mainMenu_fullscreen,
    180 #endif
    181     mainMenu_securekbd,
    182     mainMenu_allowsends,
    183     mainMenu_redraw,
    184     mainMenu_line1,
    185 #ifdef ALLOWLOGGING
    186     mainMenu_logging,
    187 #endif
    188 #if OPT_PRINT_ON_EXIT
    189     mainMenu_write_now,
    190     mainMenu_write_error,
    191 #endif
    192     mainMenu_print,
    193     mainMenu_print_redir,
    194 #if OPT_SCREEN_DUMPS
    195     mainMenu_dump_html,
    196     mainMenu_dump_svg,
    197 #endif
    198     mainMenu_line2,
    199     mainMenu_8bit_ctrl,
    200     mainMenu_backarrow,
    201 #if OPT_NUM_LOCK
    202     mainMenu_num_lock,
    203     mainMenu_alt_esc,
    204     mainMenu_meta_esc,
    205 #endif
    206     mainMenu_delete_del,
    207     mainMenu_old_fkeys,
    208 #if OPT_TCAP_FKEYS
    209     mainMenu_tcap_fkeys,
    210 #endif
    211 #if OPT_HP_FUNC_KEYS
    212     mainMenu_hp_fkeys,
    213 #endif
    214 #if OPT_SCO_FUNC_KEYS
    215     mainMenu_sco_fkeys,
    216 #endif
    217 #if OPT_SUN_FUNC_KEYS
    218     mainMenu_sun_fkeys,
    219 #endif
    220 #if OPT_SUNPC_KBD
    221     mainMenu_sun_kbd,
    222 #endif
    223     mainMenu_line3,
    224     mainMenu_suspend,
    225     mainMenu_continue,
    226     mainMenu_interrupt,
    227     mainMenu_hangup,
    228     mainMenu_terminate,
    229     mainMenu_kill,
    230     mainMenu_line4,
    231     mainMenu_quit,
    232     mainMenu_LAST
    233 } mainMenuIndices;
    234 
    235 
    236 /*
    237  * items in vt100 mode menu
    238  */
    239 typedef enum {
    240     vtMenu_scrollbar,
    241     vtMenu_jumpscroll,
    242     vtMenu_reversevideo,
    243     vtMenu_autowrap,
    244     vtMenu_reversewrap,
    245     vtMenu_autolinefeed,
    246     vtMenu_appcursor,
    247     vtMenu_appkeypad,
    248     vtMenu_scrollkey,
    249     vtMenu_scrollttyoutput,
    250     vtMenu_allow132,
    251     vtMenu_keepSelection,
    252 #if OPT_MENU_KEEPCLIPBOARD
    253     vtMenu_keepClipboard,
    254 #endif
    255     vtMenu_selectToClipboard,
    256     vtMenu_visualbell,
    257     vtMenu_bellIsUrgent,
    258     vtMenu_poponbell,
    259 #if OPT_BLINK_CURS
    260     vtMenu_cursorblink,
    261 #endif
    262     vtMenu_titeInhibit,
    263 #ifndef NO_ACTIVE_ICON
    264     vtMenu_activeicon,
    265 #endif /* NO_ACTIVE_ICON */
    266     vtMenu_line1,
    267     vtMenu_softreset,
    268     vtMenu_hardreset,
    269     vtMenu_clearsavedlines,
    270     vtMenu_line2,
    271 #if OPT_TEK4014
    272     vtMenu_tekshow,
    273     vtMenu_tekmode,
    274     vtMenu_vthide,
    275 #endif
    276     vtMenu_altscreen,
    277 #if OPT_SIXEL_GRAPHICS
    278     vtMenu_sixelscrolling,
    279 #endif
    280 #if OPT_GRAPHICS
    281     vtMenu_privatecolorregisters,
    282 #endif
    283     vtMenu_LAST
    284 } vtMenuIndices;
    285 
    286 /*
    287  * items in vt100 font menu
    288  */
    289 typedef enum {
    290     fontMenu_default,
    291     fontMenu_font1,
    292     fontMenu_font2,
    293     fontMenu_font3,
    294     fontMenu_font4,
    295     fontMenu_font5,
    296     fontMenu_font6,
    297     fontMenu_font7,
    298 #define fontMenu_lastBuiltin fontMenu_font7
    299     fontMenu_fontescape,
    300     fontMenu_fontsel,
    301 /* number of non-line items down to here should match NMENUFONTS in ptyx.h */
    302 
    303 #if OPT_DEC_CHRSET || OPT_BOX_CHARS || OPT_DEC_SOFTFONT
    304     fontMenu_line1,
    305     fontMenu_allowBoldFonts,
    306 #if OPT_BOX_CHARS
    307     fontMenu_font_boxchars,
    308     fontMenu_font_packedfont,
    309 #endif
    310 #if OPT_DEC_CHRSET
    311     fontMenu_font_doublesize,
    312 #endif
    313 #if OPT_DEC_SOFTFONT
    314     fontMenu_font_loadable,
    315 #endif
    316 #endif
    317 
    318 #if OPT_RENDERFONT || OPT_WIDE_CHARS
    319     fontMenu_line2,
    320 #if OPT_RENDERFONT
    321     fontMenu_render_font,
    322 #endif
    323 #if OPT_WIDE_CHARS
    324     fontMenu_utf8_mode,
    325     fontMenu_utf8_fonts,
    326     fontMenu_utf8_title,
    327 #endif
    328 #endif
    329 #if OPT_ALLOW_XXX_OPS
    330     fontMenu_line3,
    331     fontMenu_allowColorOps,
    332     fontMenu_allowFontOps,
    333     fontMenu_allowMouseOps,
    334     fontMenu_allowTcapOps,
    335     fontMenu_allowTitleOps,
    336     fontMenu_allowWindowOps,
    337 #endif
    338 
    339     fontMenu_LAST
    340 } fontMenuIndices;
    341 
    342 /*
    343  * items in tek4014 mode menu
    344  */
    345 #if OPT_TEK4014
    346 typedef enum {
    347     tekMenu_tektextlarge,
    348     tekMenu_tektext2,
    349     tekMenu_tektext3,
    350     tekMenu_tektextsmall,
    351     tekMenu_line1,
    352     tekMenu_tekpage,
    353     tekMenu_tekreset,
    354     tekMenu_tekcopy,
    355     tekMenu_line2,
    356     tekMenu_vtshow,
    357     tekMenu_vtmode,
    358     tekMenu_tekhide,
    359     tekMenu_LAST
    360 } tekMenuIndices;
    361 #endif
    362 
    363 
    364 /*
    365  * functions for updating menus
    366  */
    367 
    368 extern void SetItemSensitivity(Widget mi, Bool val);
    369 
    370 typedef enum {
    371     toggleErr = -2,
    372     toggleAll = -1,
    373     toggleOff = 0,
    374     toggleOn = 1
    375 } ToggleEnum;
    376 
    377 extern int decodeToggle(XtermWidget /* xw */, String * /* params */, Cardinal /* nparams */);
    378 
    379 /*
    380  * there should be one of each of the following for each checkable item
    381  */
    382 #if OPT_TOOLBAR
    383 extern void update_toolbar(void);
    384 #else
    385 #define update_toolbar() /* nothing */
    386 #endif
    387 
    388 #if OPT_MAXIMIZE
    389 extern void update_fullscreen(void);
    390 #else
    391 #define update_fullscreen() /* nothing */
    392 #endif
    393 
    394 extern void update_securekbd(void);
    395 extern void update_allowsends(void);
    396 
    397 #ifdef ALLOWLOGGING
    398 extern void update_logging(void);
    399 #else
    400 #define update_logging() /*nothing*/
    401 #endif
    402 
    403 #if OPT_PRINT_ON_EXIT
    404 extern void update_write_error(void);
    405 #else
    406 #define update_write_error() /*nothing*/
    407 #endif
    408 
    409 extern void update_print_redir(void);
    410 extern void update_8bit_control(void);
    411 extern void update_decbkm(void);
    412 
    413 #if OPT_NUM_LOCK
    414 extern void update_num_lock(void);
    415 extern void update_alt_esc(void);
    416 extern void update_meta_esc(void);
    417 #else
    418 #define update_num_lock() /*nothing*/
    419 #define update_alt_esc()  /*nothing*/
    420 #define update_meta_esc() /*nothing*/
    421 #endif
    422 
    423 extern void update_old_fkeys(void);
    424 extern void update_delete_del(void);
    425 
    426 #if OPT_SUNPC_KBD
    427 extern void update_sun_kbd(void);
    428 #endif
    429 
    430 #if OPT_HP_FUNC_KEYS
    431 extern void update_hp_fkeys(void);
    432 #else
    433 #define update_hp_fkeys() /*nothing*/
    434 #endif
    435 
    436 #if OPT_SCO_FUNC_KEYS
    437 extern void update_sco_fkeys(void);
    438 #else
    439 #define update_sco_fkeys() /*nothing*/
    440 #endif
    441 
    442 #if OPT_SUN_FUNC_KEYS
    443 extern void update_sun_fkeys(void);
    444 #else
    445 #define update_sun_fkeys() /*nothing*/
    446 #endif
    447 
    448 #if OPT_TCAP_FKEYS
    449 extern void update_tcap_fkeys(void);
    450 #else
    451 #define update_tcap_fkeys() /*nothing*/
    452 #endif
    453 
    454 extern void update_scrollbar(void);
    455 extern void update_jumpscroll(void);
    456 extern void update_reversevideo(void);
    457 extern void update_autowrap(void);
    458 extern void update_reversewrap(void);
    459 extern void update_autolinefeed(void);
    460 extern void update_appcursor(void);
    461 extern void update_appkeypad(void);
    462 extern void update_scrollkey(void);
    463 extern void update_keepSelection(void);
    464 extern void update_selectToClipboard(void);
    465 extern void update_scrollttyoutput(void);
    466 extern void update_allow132(void);
    467 extern void update_cursesemul(void);
    468 extern void update_visualbell(void);
    469 extern void update_bellIsUrgent(void);
    470 extern void update_poponbell(void);
    471 
    472 #if OPT_MENU_KEEPCLIPBOARD
    473 extern void update_keepClipboard(void);
    474 #else
    475 #define update_keepClipboard() /* nothing */
    476 #endif
    477 
    478 #define update_marginbell() /* nothing */
    479 
    480 #if OPT_LOAD_VTFONTS
    481 extern void update_font_escape(void);
    482 #else
    483 #define update_font_escape() /* nothing */
    484 #endif
    485 
    486 #if OPT_ALLOW_XXX_OPS
    487 extern void update_menu_allowColorOps(void);
    488 extern void update_menu_allowFontOps(void);
    489 extern void update_menu_allowMouseOps(void);
    490 extern void update_menu_allowTcapOps(void);
    491 extern void update_menu_allowTitleOps(void);
    492 extern void update_menu_allowWindowOps(void);
    493 #endif
    494 
    495 #if OPT_BLINK_CURS
    496 extern void update_cursorblink(void);
    497 #else
    498 #define update_cursorblink() /* nothing */
    499 #endif
    500 
    501 extern void update_altscreen(void);
    502 extern void update_titeInhibit(void);
    503 
    504 #ifndef NO_ACTIVE_ICON
    505 extern void update_activeicon(void);
    506 #endif /* NO_ACTIVE_ICON */
    507 
    508 #if OPT_DEC_CHRSET
    509 extern void update_font_doublesize(void);
    510 #else
    511 #define update_font_doublesize() /* nothing */
    512 #endif
    513 
    514 #if OPT_BOX_CHARS
    515 extern void update_font_boxchars(void);
    516 extern void update_font_packed(void);
    517 #else
    518 #define update_font_boxchars() /* nothing */
    519 #define update_font_packed() /* nothing */
    520 #endif
    521 
    522 #if OPT_SIXEL_GRAPHICS
    523 extern void update_decsdm(void);
    524 #else
    525 #define update_decsdm() /* nothing */
    526 #endif
    527 
    528 #if OPT_GRAPHICS
    529 extern void update_privatecolorregisters(void);
    530 #else
    531 #define update_privatecolorregisters() /* nothing */
    532 #endif
    533 
    534 #if OPT_DEC_SOFTFONT
    535 extern void update_font_loadable(void);
    536 #else
    537 #define update_font_loadable() /* nothing */
    538 #endif
    539 
    540 #if OPT_RENDERFONT
    541 extern void update_font_renderfont(void);
    542 #else
    543 #define update_font_renderfont() /* nothing */
    544 #endif
    545 
    546 #if OPT_WIDE_CHARS
    547 extern void update_font_utf8_mode(void);
    548 extern void update_font_utf8_fonts(void);
    549 extern void update_font_utf8_title(void);
    550 #else
    551 #define update_font_utf8_mode() /* nothing */
    552 #define update_font_utf8_fonts() /* nothing */
    553 #define update_font_utf8_title() /* nothing */
    554 #endif
    555 
    556 #if OPT_TEK4014
    557 extern void update_tekshow(void);
    558 extern void update_vttekmode(void);
    559 extern void update_vtshow(void);
    560 extern void set_vthide_sensitivity(void);
    561 extern void set_tekhide_sensitivity(void);
    562 #else
    563 #define update_tekshow() /*nothing*/
    564 #define update_vttekmode() /*nothing*/
    565 #define update_vtshow() /*nothing*/
    566 #define set_vthide_sensitivity() /*nothing*/
    567 #define set_tekhide_sensitivity() /*nothing*/
    568 #endif
    569 
    570 #if OPT_DEC_CHRSET || OPT_BOX_CHARS || OPT_DEC_SOFTFONT
    571 extern void update_menu_allowBoldFonts(void);
    572 #else
    573 #define update_menu_allowBoldFonts() /*nothing*/
    574 #endif
    575 
    576 /*
    577  * macros for mapping font size to tekMenu placement
    578  */
    579 #define FS2MI(n) (n)			/* font_size_to_menu_item */
    580 #define MI2FS(n) (n)			/* menu_item_to_font_size */
    581 
    582 #if OPT_TEK4014
    583 extern void set_tekfont_menu_item(int n,int val);
    584 #else
    585 #define set_tekfont_menu_item(n,val) /*nothing*/
    586 #endif
    587 
    588 extern void set_menu_font(int val);
    589 
    590 /* *INDENT-ON* */
    591 
    592 #endif /* included_menu_h */
    593