menu.h revision f2e35a3a
1f2e35a3aSmrg/* $XTermId: menu.h,v 1.145 2020/09/15 11:09:06 tom Exp $ */ 2d522f475Smrg 3d522f475Smrg/* 4f2e35a3aSmrg * Copyright 1999-2019,2020 by Thomas E. Dickey 520d2c4d2Smrg * 620d2c4d2Smrg * All Rights Reserved 720d2c4d2Smrg * 820d2c4d2Smrg * Permission is hereby granted, free of charge, to any person obtaining a 920d2c4d2Smrg * copy of this software and associated documentation files (the 1020d2c4d2Smrg * "Software"), to deal in the Software without restriction, including 1120d2c4d2Smrg * without limitation the rights to use, copy, modify, merge, publish, 1220d2c4d2Smrg * distribute, sublicense, and/or sell copies of the Software, and to 1320d2c4d2Smrg * permit persons to whom the Software is furnished to do so, subject to 1420d2c4d2Smrg * the following conditions: 1520d2c4d2Smrg * 1620d2c4d2Smrg * The above copyright notice and this permission notice shall be included 1720d2c4d2Smrg * in all copies or substantial portions of the Software. 1820d2c4d2Smrg * 1920d2c4d2Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 2020d2c4d2Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 2120d2c4d2Smrg * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 2220d2c4d2Smrg * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY 2320d2c4d2Smrg * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 2420d2c4d2Smrg * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 2520d2c4d2Smrg * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 2620d2c4d2Smrg * 2720d2c4d2Smrg * Except as contained in this notice, the name(s) of the above copyright 2820d2c4d2Smrg * holders shall not be used in advertising or otherwise to promote the 2920d2c4d2Smrg * sale, use or other dealings in this Software without prior written 3020d2c4d2Smrg * authorization. 3120d2c4d2Smrg * 32a1f3da82Smrg * 33f2e35a3aSmrg * Copyright 1989 X Consortium 3420d2c4d2Smrg * 3520d2c4d2Smrg * Permission to use, copy, modify, distribute, and sell this software and its 3620d2c4d2Smrg * documentation for any purpose is hereby granted without fee, provided that 3720d2c4d2Smrg * the above copyright notice appear in all copies and that both that 3820d2c4d2Smrg * copyright notice and this permission notice appear in supporting 3920d2c4d2Smrg * documentation. 4020d2c4d2Smrg * 4120d2c4d2Smrg * The above copyright notice and this permission notice shall be included 4220d2c4d2Smrg * in all copies or substantial portions of the Software. 4320d2c4d2Smrg * 4420d2c4d2Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 4520d2c4d2Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 4620d2c4d2Smrg * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 4720d2c4d2Smrg * IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR 4820d2c4d2Smrg * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 4920d2c4d2Smrg * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 5020d2c4d2Smrg * OTHER DEALINGS IN THE SOFTWARE. 5120d2c4d2Smrg * 52f2e35a3aSmrg * Except as contained in this notice, the name of the X Consortium shall 5320d2c4d2Smrg * not be used in advertising or otherwise to promote the sale, use or 5420d2c4d2Smrg * other dealings in this Software without prior written authorization 55f2e35a3aSmrg * from the X Consortium. 5620d2c4d2Smrg */ 57d522f475Smrg 58d522f475Smrg#ifndef included_menu_h 59d522f475Smrg#define included_menu_h 60a1f3da82Smrg/* *INDENT-OFF* */ 61d522f475Smrg 62d522f475Smrg#include <xterm.h> 63d522f475Smrg 64f2e35a3aSmrg#ifndef OPT_MENU_KEEPCLIPBOARD 65f2e35a3aSmrg#define OPT_MENU_KEEPCLIPBOARD 0 /* useful for debugging */ 66f2e35a3aSmrg#endif 67f2e35a3aSmrg 68d522f475Smrgtypedef struct _MenuEntry { 6920d2c4d2Smrg const char *name; 70d522f475Smrg void (*function) PROTO_XT_CALLBACK_ARGS; 71d522f475Smrg Widget widget; 72d522f475Smrg} MenuEntry; 73d522f475Smrg 74d522f475Smrgextern MenuEntry mainMenuEntries[], vtMenuEntries[]; 75d522f475Smrgextern MenuEntry fontMenuEntries[]; 76d522f475Smrg#if OPT_TEK4014 77d522f475Smrgextern MenuEntry tekMenuEntries[]; 78d522f475Smrg#endif 79d522f475Smrg 80d522f475Smrgextern void Handle8BitControl PROTO_XT_ACTIONS_ARGS; 81d522f475Smrgextern void HandleAllow132 PROTO_XT_ACTIONS_ARGS; 82e39b573cSmrgextern void HandleAllowBoldFonts PROTO_XT_ACTIONS_ARGS; 8320d2c4d2Smrgextern void HandleAllowColorOps PROTO_XT_ACTIONS_ARGS; 84956cc18dSsnjextern void HandleAllowFontOps PROTO_XT_ACTIONS_ARGS; 85913cc679Smrgextern void HandleAllowMouseOps PROTO_XT_ACTIONS_ARGS; 86d522f475Smrgextern void HandleAllowSends PROTO_XT_ACTIONS_ARGS; 87956cc18dSsnjextern void HandleAllowTcapOps PROTO_XT_ACTIONS_ARGS; 88956cc18dSsnjextern void HandleAllowTitleOps PROTO_XT_ACTIONS_ARGS; 89956cc18dSsnjextern void HandleAllowWindowOps PROTO_XT_ACTIONS_ARGS; 90d522f475Smrgextern void HandleAltEsc PROTO_XT_ACTIONS_ARGS; 91d522f475Smrgextern void HandleAltScreen PROTO_XT_ACTIONS_ARGS; 92d522f475Smrgextern void HandleAppCursor PROTO_XT_ACTIONS_ARGS; 93d522f475Smrgextern void HandleAppKeypad PROTO_XT_ACTIONS_ARGS; 94d522f475Smrgextern void HandleAutoLineFeed PROTO_XT_ACTIONS_ARGS; 95d522f475Smrgextern void HandleAutoWrap PROTO_XT_ACTIONS_ARGS; 96d522f475Smrgextern void HandleBackarrow PROTO_XT_ACTIONS_ARGS; 97d522f475Smrgextern void HandleBellIsUrgent PROTO_XT_ACTIONS_ARGS; 98f2e35a3aSmrgextern void HandleClearSavedLines PROTO_XT_ACTIONS_ARGS GCC_NORETURN; 99d522f475Smrgextern void HandleCreateMenu PROTO_XT_ACTIONS_ARGS; 100d522f475Smrgextern void HandleCursesEmul PROTO_XT_ACTIONS_ARGS; 101d522f475Smrgextern void HandleCursorBlink PROTO_XT_ACTIONS_ARGS; 102d522f475Smrgextern void HandleDeleteIsDEL PROTO_XT_ACTIONS_ARGS; 1032e4f8982Smrgextern void HandleDumpHtml PROTO_XT_ACTIONS_ARGS; 1042e4f8982Smrgextern void HandleDumpSvg PROTO_XT_ACTIONS_ARGS; 105d522f475Smrgextern void HandleFontBoxChars PROTO_XT_ACTIONS_ARGS; 106d522f475Smrgextern void HandleFontDoublesize PROTO_XT_ACTIONS_ARGS; 107d522f475Smrgextern void HandleFontLoading PROTO_XT_ACTIONS_ARGS; 10820d2c4d2Smrgextern void HandleFontPacked PROTO_XT_ACTIONS_ARGS; 109a1f3da82Smrgextern void HandleFullscreen PROTO_XT_ACTIONS_ARGS; 110f2e35a3aSmrgextern void HandleHardReset PROTO_XT_ACTIONS_ARGS GCC_NORETURN; 111d522f475Smrgextern void HandleHpFunctionKeys PROTO_XT_ACTIONS_ARGS; 112d522f475Smrgextern void HandleJumpscroll PROTO_XT_ACTIONS_ARGS; 1132e4f8982Smrgextern void HandleKeepClipboard PROTO_XT_ACTIONS_ARGS; 114956cc18dSsnjextern void HandleKeepSelection PROTO_XT_ACTIONS_ARGS; 115d522f475Smrgextern void HandleLogging PROTO_XT_ACTIONS_ARGS; 116d522f475Smrgextern void HandleMarginBell PROTO_XT_ACTIONS_ARGS; 117d522f475Smrgextern void HandleMetaEsc PROTO_XT_ACTIONS_ARGS; 118d522f475Smrgextern void HandleNumLock PROTO_XT_ACTIONS_ARGS; 119d522f475Smrgextern void HandleOldFunctionKeys PROTO_XT_ACTIONS_ARGS; 120d522f475Smrgextern void HandlePopupMenu PROTO_XT_ACTIONS_ARGS; 121d522f475Smrgextern void HandlePrintControlMode PROTO_XT_ACTIONS_ARGS; 122956cc18dSsnjextern void HandlePrintEverything PROTO_XT_ACTIONS_ARGS; 123f2e35a3aSmrgextern void HandlePrintImmediate PROTO_XT_ACTIONS_ARGS; 124f2e35a3aSmrgextern void HandlePrintOnError PROTO_XT_ACTIONS_ARGS; 125a1f3da82Smrgextern void HandlePrintScreen PROTO_XT_ACTIONS_ARGS; 126f2e35a3aSmrgextern void HandleQuit PROTO_XT_ACTIONS_ARGS GCC_NORETURN; 127d522f475Smrgextern void HandleRedraw PROTO_XT_ACTIONS_ARGS; 128d522f475Smrgextern void HandleRenderFont PROTO_XT_ACTIONS_ARGS; 129d522f475Smrgextern void HandleReverseVideo PROTO_XT_ACTIONS_ARGS; 130d522f475Smrgextern void HandleReverseWrap PROTO_XT_ACTIONS_ARGS; 131d522f475Smrgextern void HandleScoFunctionKeys PROTO_XT_ACTIONS_ARGS; 132d522f475Smrgextern void HandleScrollKey PROTO_XT_ACTIONS_ARGS; 133d522f475Smrgextern void HandleScrollTtyOutput PROTO_XT_ACTIONS_ARGS; 134d522f475Smrgextern void HandleScrollbar PROTO_XT_ACTIONS_ARGS; 135d522f475Smrgextern void HandleSecure PROTO_XT_ACTIONS_ARGS; 136d522f475Smrgextern void HandleSendSignal PROTO_XT_ACTIONS_ARGS; 137d522f475Smrgextern void HandleSetPopOnBell PROTO_XT_ACTIONS_ARGS; 138e0a2b6dfSmrgextern void HandleSetPrivateColorRegisters PROTO_XT_ACTIONS_ARGS; 139d522f475Smrgextern void HandleSetSelect PROTO_XT_ACTIONS_ARGS; 140d522f475Smrgextern void HandleSetTekText PROTO_XT_ACTIONS_ARGS; 141d522f475Smrgextern void HandleSetTerminalType PROTO_XT_ACTIONS_ARGS; 142d522f475Smrgextern void HandleSetVisualBell PROTO_XT_ACTIONS_ARGS; 143e0a2b6dfSmrgextern void HandleSixelScrolling PROTO_XT_ACTIONS_ARGS; 144f2e35a3aSmrgextern void HandleSoftReset PROTO_XT_ACTIONS_ARGS GCC_NORETURN; 145d522f475Smrgextern void HandleSunFunctionKeys PROTO_XT_ACTIONS_ARGS; 146d522f475Smrgextern void HandleSunKeyboard PROTO_XT_ACTIONS_ARGS; 147d522f475Smrgextern void HandleTekCopy PROTO_XT_ACTIONS_ARGS; 148d522f475Smrgextern void HandleTekPage PROTO_XT_ACTIONS_ARGS; 149d522f475Smrgextern void HandleTekReset PROTO_XT_ACTIONS_ARGS; 150d522f475Smrgextern void HandleTiteInhibit PROTO_XT_ACTIONS_ARGS; 151d522f475Smrgextern void HandleToolbar PROTO_XT_ACTIONS_ARGS; 152e39b573cSmrgextern void HandleUTF8Fonts PROTO_XT_ACTIONS_ARGS; 153d522f475Smrgextern void HandleUTF8Mode PROTO_XT_ACTIONS_ARGS; 154d522f475Smrgextern void HandleUTF8Title PROTO_XT_ACTIONS_ARGS; 155d522f475Smrgextern void HandleVisibility PROTO_XT_ACTIONS_ARGS; 156e39b573cSmrgextern void HandleWriteError PROTO_XT_ACTIONS_ARGS; 157e39b573cSmrgextern void HandleWriteNow PROTO_XT_ACTIONS_ARGS; 158d522f475Smrg 159d522f475Smrgextern void SetupMenus (Widget /*shell*/, Widget */*forms*/, Widget */*menus*/, Dimension * /*menu_high*/); 160d522f475Smrg 161d522f475Smrg#if OPT_TOOLBAR 162d522f475Smrgextern void ShowToolbar(Bool); 163d522f475Smrg#endif 164d522f475Smrg 165d522f475Smrg/* 166d522f475Smrg * The following definitions MUST match the order of entries given in 167d522f475Smrg * the mainMenuEntries, vtMenuEntries, and tekMenuEntries arrays in menu.c. 168d522f475Smrg */ 169d522f475Smrg 170d522f475Smrg/* 171d522f475Smrg * items in primary menu 172d522f475Smrg */ 173d522f475Smrgtypedef enum { 174d522f475Smrg#if OPT_TOOLBAR 175d522f475Smrg mainMenu_toolbar, 176a1f3da82Smrg#endif 177a1f3da82Smrg#if OPT_MAXIMIZE 178a1f3da82Smrg mainMenu_fullscreen, 179d522f475Smrg#endif 180d522f475Smrg mainMenu_securekbd, 181d522f475Smrg mainMenu_allowsends, 182d522f475Smrg mainMenu_redraw, 183d522f475Smrg mainMenu_line1, 184d522f475Smrg#ifdef ALLOWLOGGING 185d522f475Smrg mainMenu_logging, 186e39b573cSmrg#endif 187e39b573cSmrg#if OPT_PRINT_ON_EXIT 188e39b573cSmrg mainMenu_write_now, 189e39b573cSmrg mainMenu_write_error, 190d522f475Smrg#endif 191d522f475Smrg mainMenu_print, 192d522f475Smrg mainMenu_print_redir, 1932e4f8982Smrg#if OPT_SCREEN_DUMPS 1942e4f8982Smrg mainMenu_dump_html, 1952e4f8982Smrg mainMenu_dump_svg, 1962e4f8982Smrg#endif 197d522f475Smrg mainMenu_line2, 198d522f475Smrg mainMenu_8bit_ctrl, 199d522f475Smrg mainMenu_backarrow, 200d522f475Smrg#if OPT_NUM_LOCK 201d522f475Smrg mainMenu_num_lock, 202d522f475Smrg mainMenu_alt_esc, 203d522f475Smrg mainMenu_meta_esc, 204d522f475Smrg#endif 205d522f475Smrg mainMenu_delete_del, 206d522f475Smrg mainMenu_old_fkeys, 207d522f475Smrg#if OPT_TCAP_FKEYS 208d522f475Smrg mainMenu_tcap_fkeys, 209d522f475Smrg#endif 210d522f475Smrg#if OPT_HP_FUNC_KEYS 211d522f475Smrg mainMenu_hp_fkeys, 212d522f475Smrg#endif 213d522f475Smrg#if OPT_SCO_FUNC_KEYS 214d522f475Smrg mainMenu_sco_fkeys, 215d522f475Smrg#endif 216d522f475Smrg#if OPT_SUN_FUNC_KEYS 217d522f475Smrg mainMenu_sun_fkeys, 218d522f475Smrg#endif 219d522f475Smrg#if OPT_SUNPC_KBD 220d522f475Smrg mainMenu_sun_kbd, 221d522f475Smrg#endif 222d522f475Smrg mainMenu_line3, 223d522f475Smrg mainMenu_suspend, 224d522f475Smrg mainMenu_continue, 225d522f475Smrg mainMenu_interrupt, 226d522f475Smrg mainMenu_hangup, 227d522f475Smrg mainMenu_terminate, 228d522f475Smrg mainMenu_kill, 229d522f475Smrg mainMenu_line4, 230d522f475Smrg mainMenu_quit, 231d522f475Smrg mainMenu_LAST 232d522f475Smrg} mainMenuIndices; 233d522f475Smrg 234d522f475Smrg 235d522f475Smrg/* 236d522f475Smrg * items in vt100 mode menu 237d522f475Smrg */ 238d522f475Smrgtypedef enum { 239d522f475Smrg vtMenu_scrollbar, 240d522f475Smrg vtMenu_jumpscroll, 241d522f475Smrg vtMenu_reversevideo, 242d522f475Smrg vtMenu_autowrap, 243d522f475Smrg vtMenu_reversewrap, 244d522f475Smrg vtMenu_autolinefeed, 245d522f475Smrg vtMenu_appcursor, 246d522f475Smrg vtMenu_appkeypad, 247d522f475Smrg vtMenu_scrollkey, 248d522f475Smrg vtMenu_scrollttyoutput, 249d522f475Smrg vtMenu_allow132, 250d522f475Smrg vtMenu_keepSelection, 251f2e35a3aSmrg#if OPT_MENU_KEEPCLIPBOARD 252f2e35a3aSmrg vtMenu_keepClipboard, 253f2e35a3aSmrg#endif 254d522f475Smrg vtMenu_selectToClipboard, 255d522f475Smrg vtMenu_visualbell, 256d522f475Smrg vtMenu_bellIsUrgent, 257d522f475Smrg vtMenu_poponbell, 258d522f475Smrg#if OPT_BLINK_CURS 259d522f475Smrg vtMenu_cursorblink, 260d522f475Smrg#endif 261d522f475Smrg vtMenu_titeInhibit, 262d522f475Smrg#ifndef NO_ACTIVE_ICON 263d522f475Smrg vtMenu_activeicon, 264d522f475Smrg#endif /* NO_ACTIVE_ICON */ 265d522f475Smrg vtMenu_line1, 266d522f475Smrg vtMenu_softreset, 267d522f475Smrg vtMenu_hardreset, 268d522f475Smrg vtMenu_clearsavedlines, 269d522f475Smrg vtMenu_line2, 270d522f475Smrg#if OPT_TEK4014 271d522f475Smrg vtMenu_tekshow, 272d522f475Smrg vtMenu_tekmode, 273d522f475Smrg vtMenu_vthide, 274d522f475Smrg#endif 275d522f475Smrg vtMenu_altscreen, 276e0a2b6dfSmrg#if OPT_SIXEL_GRAPHICS 277e0a2b6dfSmrg vtMenu_sixelscrolling, 278894e0ac8Smrg#endif 279894e0ac8Smrg#if OPT_GRAPHICS 280e0a2b6dfSmrg vtMenu_privatecolorregisters, 281e0a2b6dfSmrg#endif 282d522f475Smrg vtMenu_LAST 283d522f475Smrg} vtMenuIndices; 284d522f475Smrg 285d522f475Smrg/* 286d522f475Smrg * items in vt100 font menu 287d522f475Smrg */ 288d522f475Smrgtypedef enum { 289d522f475Smrg fontMenu_default, 290d522f475Smrg fontMenu_font1, 291d522f475Smrg fontMenu_font2, 292d522f475Smrg fontMenu_font3, 293d522f475Smrg fontMenu_font4, 294d522f475Smrg fontMenu_font5, 295d522f475Smrg fontMenu_font6, 296f2e35a3aSmrg fontMenu_font7, 297f2e35a3aSmrg#define fontMenu_lastBuiltin fontMenu_font7 298d522f475Smrg fontMenu_fontescape, 299d522f475Smrg fontMenu_fontsel, 300d522f475Smrg/* number of non-line items down to here should match NMENUFONTS in ptyx.h */ 301d522f475Smrg 302d522f475Smrg#if OPT_DEC_CHRSET || OPT_BOX_CHARS || OPT_DEC_SOFTFONT 303d522f475Smrg fontMenu_line1, 304e39b573cSmrg fontMenu_allowBoldFonts, 305d522f475Smrg#if OPT_BOX_CHARS 306d522f475Smrg fontMenu_font_boxchars, 30720d2c4d2Smrg fontMenu_font_packedfont, 308d522f475Smrg#endif 309d522f475Smrg#if OPT_DEC_CHRSET 310d522f475Smrg fontMenu_font_doublesize, 311d522f475Smrg#endif 312d522f475Smrg#if OPT_DEC_SOFTFONT 313d522f475Smrg fontMenu_font_loadable, 314d522f475Smrg#endif 315d522f475Smrg#endif 316d522f475Smrg 317d522f475Smrg#if OPT_RENDERFONT || OPT_WIDE_CHARS 318d522f475Smrg fontMenu_line2, 319d522f475Smrg#if OPT_RENDERFONT 320d522f475Smrg fontMenu_render_font, 321d522f475Smrg#endif 322d522f475Smrg#if OPT_WIDE_CHARS 323e39b573cSmrg fontMenu_utf8_mode, 324e39b573cSmrg fontMenu_utf8_fonts, 325e39b573cSmrg fontMenu_utf8_title, 326d522f475Smrg#endif 327956cc18dSsnj#endif 328956cc18dSsnj#if OPT_ALLOW_XXX_OPS 329956cc18dSsnj fontMenu_line3, 33020d2c4d2Smrg fontMenu_allowColorOps, 331956cc18dSsnj fontMenu_allowFontOps, 332913cc679Smrg fontMenu_allowMouseOps, 33320d2c4d2Smrg fontMenu_allowTcapOps, 334956cc18dSsnj fontMenu_allowTitleOps, 335956cc18dSsnj fontMenu_allowWindowOps, 336d522f475Smrg#endif 337d522f475Smrg 338d522f475Smrg fontMenu_LAST 339d522f475Smrg} fontMenuIndices; 340d522f475Smrg 341d522f475Smrg/* 342d522f475Smrg * items in tek4014 mode menu 343d522f475Smrg */ 344d522f475Smrg#if OPT_TEK4014 345d522f475Smrgtypedef enum { 346d522f475Smrg tekMenu_tektextlarge, 347d522f475Smrg tekMenu_tektext2, 348d522f475Smrg tekMenu_tektext3, 349d522f475Smrg tekMenu_tektextsmall, 350d522f475Smrg tekMenu_line1, 351d522f475Smrg tekMenu_tekpage, 352d522f475Smrg tekMenu_tekreset, 353d522f475Smrg tekMenu_tekcopy, 354d522f475Smrg tekMenu_line2, 355d522f475Smrg tekMenu_vtshow, 356d522f475Smrg tekMenu_vtmode, 357d522f475Smrg tekMenu_tekhide, 358d522f475Smrg tekMenu_LAST 359d522f475Smrg} tekMenuIndices; 360d522f475Smrg#endif 361d522f475Smrg 362d522f475Smrg 363d522f475Smrg/* 364d522f475Smrg * functions for updating menus 365d522f475Smrg */ 366d522f475Smrg 367956cc18dSsnjextern void SetItemSensitivity(Widget mi, Bool val); 368d522f475Smrg 3690bd37d32Smrgtypedef enum { 3700bd37d32Smrg toggleErr = -2, 3710bd37d32Smrg toggleAll = -1, 3720bd37d32Smrg toggleOff = 0, 3730bd37d32Smrg toggleOn = 1 3740bd37d32Smrg} ToggleEnum; 3750bd37d32Smrg 3760bd37d32Smrgextern int decodeToggle(XtermWidget /* xw */, String * /* params */, Cardinal /* nparams */); 3770bd37d32Smrg 378d522f475Smrg/* 379d522f475Smrg * there should be one of each of the following for each checkable item 380d522f475Smrg */ 381d522f475Smrg#if OPT_TOOLBAR 382d522f475Smrgextern void update_toolbar(void); 383d522f475Smrg#else 384d522f475Smrg#define update_toolbar() /* nothing */ 385d522f475Smrg#endif 386d522f475Smrg 387a1f3da82Smrg#if OPT_MAXIMIZE 388a1f3da82Smrgextern void update_fullscreen(void); 389a1f3da82Smrg#else 390a1f3da82Smrg#define update_fullscreen() /* nothing */ 391a1f3da82Smrg#endif 392a1f3da82Smrg 393d522f475Smrgextern void update_securekbd(void); 394d522f475Smrgextern void update_allowsends(void); 395d522f475Smrg 396d522f475Smrg#ifdef ALLOWLOGGING 397d522f475Smrgextern void update_logging(void); 398d522f475Smrg#else 399d522f475Smrg#define update_logging() /*nothing*/ 400d522f475Smrg#endif 401d522f475Smrg 402e39b573cSmrg#if OPT_PRINT_ON_EXIT 403e39b573cSmrgextern void update_write_error(void); 404e39b573cSmrg#else 405e39b573cSmrg#define update_write_error() /*nothing*/ 406e39b573cSmrg#endif 407e39b573cSmrg 408d522f475Smrgextern void update_print_redir(void); 409d522f475Smrgextern void update_8bit_control(void); 410d522f475Smrgextern void update_decbkm(void); 411d522f475Smrg 412d522f475Smrg#if OPT_NUM_LOCK 413d522f475Smrgextern void update_num_lock(void); 414d522f475Smrgextern void update_alt_esc(void); 415d522f475Smrgextern void update_meta_esc(void); 416d522f475Smrg#else 417d522f475Smrg#define update_num_lock() /*nothing*/ 418d522f475Smrg#define update_alt_esc() /*nothing*/ 419d522f475Smrg#define update_meta_esc() /*nothing*/ 420d522f475Smrg#endif 421d522f475Smrg 422d522f475Smrgextern void update_old_fkeys(void); 423d522f475Smrgextern void update_delete_del(void); 424d522f475Smrg 425d522f475Smrg#if OPT_SUNPC_KBD 426d522f475Smrgextern void update_sun_kbd(void); 427d522f475Smrg#endif 428d522f475Smrg 429d522f475Smrg#if OPT_HP_FUNC_KEYS 430d522f475Smrgextern void update_hp_fkeys(void); 431d522f475Smrg#else 432d522f475Smrg#define update_hp_fkeys() /*nothing*/ 433d522f475Smrg#endif 434d522f475Smrg 435d522f475Smrg#if OPT_SCO_FUNC_KEYS 436d522f475Smrgextern void update_sco_fkeys(void); 437d522f475Smrg#else 438d522f475Smrg#define update_sco_fkeys() /*nothing*/ 439d522f475Smrg#endif 440d522f475Smrg 441d522f475Smrg#if OPT_SUN_FUNC_KEYS 442d522f475Smrgextern void update_sun_fkeys(void); 443d522f475Smrg#else 444d522f475Smrg#define update_sun_fkeys() /*nothing*/ 445d522f475Smrg#endif 446d522f475Smrg 447d522f475Smrg#if OPT_TCAP_FKEYS 448d522f475Smrgextern void update_tcap_fkeys(void); 449d522f475Smrg#else 450d522f475Smrg#define update_tcap_fkeys() /*nothing*/ 451d522f475Smrg#endif 452d522f475Smrg 453d522f475Smrgextern void update_scrollbar(void); 454d522f475Smrgextern void update_jumpscroll(void); 455d522f475Smrgextern void update_reversevideo(void); 456d522f475Smrgextern void update_autowrap(void); 457d522f475Smrgextern void update_reversewrap(void); 458d522f475Smrgextern void update_autolinefeed(void); 459d522f475Smrgextern void update_appcursor(void); 460d522f475Smrgextern void update_appkeypad(void); 461d522f475Smrgextern void update_scrollkey(void); 462d522f475Smrgextern void update_keepSelection(void); 463d522f475Smrgextern void update_selectToClipboard(void); 464d522f475Smrgextern void update_scrollttyoutput(void); 465d522f475Smrgextern void update_allow132(void); 466d522f475Smrgextern void update_cursesemul(void); 467d522f475Smrgextern void update_visualbell(void); 468d522f475Smrgextern void update_bellIsUrgent(void); 469d522f475Smrgextern void update_poponbell(void); 470d522f475Smrg 471f2e35a3aSmrg#if OPT_MENU_KEEPCLIPBOARD 472f2e35a3aSmrgextern void update_keepClipboard(void); 473f2e35a3aSmrg#else 4742e4f8982Smrg#define update_keepClipboard() /* nothing */ 475f2e35a3aSmrg#endif 476f2e35a3aSmrg 477d522f475Smrg#define update_marginbell() /* nothing */ 478d522f475Smrg 47901037d57Smrg#if OPT_LOAD_VTFONTS 48001037d57Smrgextern void update_font_escape(void); 48101037d57Smrg#else 48201037d57Smrg#define update_font_escape() /* nothing */ 48301037d57Smrg#endif 48401037d57Smrg 485956cc18dSsnj#if OPT_ALLOW_XXX_OPS 48620d2c4d2Smrgextern void update_menu_allowColorOps(void); 487956cc18dSsnjextern void update_menu_allowFontOps(void); 488913cc679Smrgextern void update_menu_allowMouseOps(void); 48920d2c4d2Smrgextern void update_menu_allowTcapOps(void); 490956cc18dSsnjextern void update_menu_allowTitleOps(void); 491956cc18dSsnjextern void update_menu_allowWindowOps(void); 492956cc18dSsnj#endif 493956cc18dSsnj 494d522f475Smrg#if OPT_BLINK_CURS 495d522f475Smrgextern void update_cursorblink(void); 496d522f475Smrg#else 497d522f475Smrg#define update_cursorblink() /* nothing */ 498d522f475Smrg#endif 499d522f475Smrg 500d522f475Smrgextern void update_altscreen(void); 501d522f475Smrgextern void update_titeInhibit(void); 502d522f475Smrg 503d522f475Smrg#ifndef NO_ACTIVE_ICON 504d522f475Smrgextern void update_activeicon(void); 505d522f475Smrg#endif /* NO_ACTIVE_ICON */ 506d522f475Smrg 507d522f475Smrg#if OPT_DEC_CHRSET 508d522f475Smrgextern void update_font_doublesize(void); 509d522f475Smrg#else 510d522f475Smrg#define update_font_doublesize() /* nothing */ 511d522f475Smrg#endif 512d522f475Smrg 513d522f475Smrg#if OPT_BOX_CHARS 514d522f475Smrgextern void update_font_boxchars(void); 51520d2c4d2Smrgextern void update_font_packed(void); 516d522f475Smrg#else 517d522f475Smrg#define update_font_boxchars() /* nothing */ 51820d2c4d2Smrg#define update_font_packed() /* nothing */ 519d522f475Smrg#endif 520d522f475Smrg 521e0a2b6dfSmrg#if OPT_SIXEL_GRAPHICS 522e0a2b6dfSmrgextern void update_decsdm(void); 523e0a2b6dfSmrg#else 524e0a2b6dfSmrg#define update_decsdm() /* nothing */ 525894e0ac8Smrg#endif 526894e0ac8Smrg 527894e0ac8Smrg#if OPT_GRAPHICS 528894e0ac8Smrgextern void update_privatecolorregisters(void); 529894e0ac8Smrg#else 530e0a2b6dfSmrg#define update_privatecolorregisters() /* nothing */ 531e0a2b6dfSmrg#endif 532e0a2b6dfSmrg 533d522f475Smrg#if OPT_DEC_SOFTFONT 534d522f475Smrgextern void update_font_loadable(void); 535d522f475Smrg#else 536d522f475Smrg#define update_font_loadable() /* nothing */ 537d522f475Smrg#endif 538d522f475Smrg 539d522f475Smrg#if OPT_RENDERFONT 540d522f475Smrgextern void update_font_renderfont(void); 541d522f475Smrg#else 542d522f475Smrg#define update_font_renderfont() /* nothing */ 543d522f475Smrg#endif 544d522f475Smrg 545d522f475Smrg#if OPT_WIDE_CHARS 546d522f475Smrgextern void update_font_utf8_mode(void); 547e39b573cSmrgextern void update_font_utf8_fonts(void); 548d522f475Smrgextern void update_font_utf8_title(void); 549d522f475Smrg#else 550d522f475Smrg#define update_font_utf8_mode() /* nothing */ 551e39b573cSmrg#define update_font_utf8_fonts() /* nothing */ 552d522f475Smrg#define update_font_utf8_title() /* nothing */ 553d522f475Smrg#endif 554d522f475Smrg 555d522f475Smrg#if OPT_TEK4014 556d522f475Smrgextern void update_tekshow(void); 557d522f475Smrgextern void update_vttekmode(void); 558d522f475Smrgextern void update_vtshow(void); 559d522f475Smrgextern void set_vthide_sensitivity(void); 560d522f475Smrgextern void set_tekhide_sensitivity(void); 561d522f475Smrg#else 562d522f475Smrg#define update_tekshow() /*nothing*/ 563d522f475Smrg#define update_vttekmode() /*nothing*/ 564d522f475Smrg#define update_vtshow() /*nothing*/ 565d522f475Smrg#define set_vthide_sensitivity() /*nothing*/ 566d522f475Smrg#define set_tekhide_sensitivity() /*nothing*/ 567d522f475Smrg#endif 568d522f475Smrg 5690bd37d32Smrg#if OPT_DEC_CHRSET || OPT_BOX_CHARS || OPT_DEC_SOFTFONT 5700bd37d32Smrgextern void update_menu_allowBoldFonts(void); 5710bd37d32Smrg#else 5720bd37d32Smrg#define update_menu_allowBoldFonts() /*nothing*/ 5730bd37d32Smrg#endif 5740bd37d32Smrg 575d522f475Smrg/* 576d522f475Smrg * macros for mapping font size to tekMenu placement 577d522f475Smrg */ 578d522f475Smrg#define FS2MI(n) (n) /* font_size_to_menu_item */ 579d522f475Smrg#define MI2FS(n) (n) /* menu_item_to_font_size */ 580d522f475Smrg 581d522f475Smrg#if OPT_TEK4014 582d522f475Smrgextern void set_tekfont_menu_item(int n,int val); 583d522f475Smrg#else 584d522f475Smrg#define set_tekfont_menu_item(n,val) /*nothing*/ 585d522f475Smrg#endif 586d522f475Smrg 587d522f475Smrgextern void set_menu_font(int val); 588d522f475Smrg 589a1f3da82Smrg/* *INDENT-ON* */ 590a1f3da82Smrg 591a1f3da82Smrg#endif /* included_menu_h */ 592