Function | Package: excl | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Moderate update since 9.0 release. 8.2 version

## console-control

Arguments: &key tray tray-exit title close maximize minimize size show

This function is useful on Windows only. The function is not defined on UNIX and Linux (the symbol exists but does not have a function definition). This function controls the behavior and features of the program icon in the Windows system tray.

This function only works if the Lisp or Lisp application was started with the Lisp console. If Lisp was started with the `+c` command-line argument (meaning no console), console-control has no effect. See Command line arguments in startup.htm for details of command-line arguments. Note that arguments other than +c allow you to have the console created but hidden. The Common Graphics project system allows you to specify no console: see the Enable Debugging of Runtime Errors checkbox on the Project Manager Build Tab.

The keyword arguments are as follows. They are orthogonal, meaning that any can be specified to any value regardless of the values of the other arguments (although specifying `:tray nil` and `:tray-exit t` is illogical, since there is no tray icon to use to exit). A call that specifies no value for a keyword argument does not change the current value (does not, that is, cause it to revert to some initial value or default).

- :tray: the value can be `nil`, meaning do not show the tray icon, or `t`, meaning do show it.
- :tray-exit: if `nil`, you cannot exit Lisp (or the Lisp application) from the tray icon. If `t`, you can. There is an Exit Lisp menu item on the right button menu on the tray icon. That item will still be there, but the submenu item Yes, Exit Lisp will be inactive.
- :title: the value, if one is specified, must be a simple string. That string will be the console title (instead of the usual one which starts "Allegro Common Lisp Console ...")
- :close: specifies the action when the close button on the console is clicked. The value can be: `:minimize` (close button, menu and Alt-F4 minimize the console); `:hide` (close button, menu and Alt-F4 hide the console); `nil` (close button, menu and Alt-F4 are not active); and `t` (close button, menu and Alt-F4 behave normally, i.e. close the running Lisp or Lisp application). When t, see also console-close.
- :maximize: provides control of the console window maximize button and the maximize item on the system menu on the window title bar. The possible values are `nil`, which disables the button and menu item), and `t` (the default), which enables the button and menu item.
- :minimize: provides control of the console window minimize button and the minimize item on the system menu on the window title bar. The possible values are `nil`, which disables the button and menu item; `t` (the default), which enables the button and menu item; and `:hide`, which causes clicking on the minimize button or choosing the menu item to hide rather than minimize the console window.
- :size: the value should be a positive integer greater that 1000 (but substantially higher values are typical). It specifies the size, in bytes, to which the console edit control (i.e. text in the console) can grow. After the console edit control hits this size, it is truncated. This value is also set by the `+<number>` command-line argument (that is, something like +50000 on the command line). It can reset with this function. If unspecified on the command-line, the value defaults to 100,000 bytes on versions of Windows other than 98 and Me. the size is 25,000 on Windows 98 and Me and, on those platforms, cannot be changed. This argument and the associated `+<number>` command-line argument are ignored on Windows 98 and Me. See Command line arguments in startup.htm for a list of command-line arguments accepted by Allegro CL.
- :show: the value can be a keyword or `t` or `nil`, indicating a win32 API action as indicated in the table:

  Value of :show | win32 API def
  --- | ---
  nil, :hide | SW_HIDE
  t, :normal, :shownormal | SW_SHOWNORMAL (aka SW_NORMAL)
  :showminimized | SW_SHOWMINIMIZED
  :maximize, :showmaximized | SW_SHOWMAXIMIZED (aka SW_MAXIMIZE)
  :shownoactivate | SW_SHOWNOACTIVATE
  :show | SW_SHOW
  :minimize | SW_MINIMIZE
  :showminnoactive | SW_SHOWMINNOACTIVE
  :showna | SW_SHOWNA
  :restore | SW_RESTORE
  :showdefault | SW_SHOWDEFAULT

  See the WinAPI documentation for details of the various actions. We encourage you to test your choices thoroughly because some find the Windows documentation somewhat sparse, and you may not be able to determine the differences among the various options by documentation alone.

Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Moderate update since 9.0 release. 8.2 version