gpm: Variables
4.2.1 Global Variables
----------------------
This is the list of all the global variables present in the client
library:
'int gpm_flag'
Initially zero, it is used to tell if the process is connected with
a mouse server or not. It is used as a counter to manage multiple
opens as well.
'int gpm_tried'
A flag, used to avoid retrying a connection if the server is not
available on the system.
'int gpm_fd'
Initially '-1', it is the file descriptor used to talk with the
server. If we run under xterm, it will be -2.
'int gpm_zerobased'
Since selection and curses has always been one-based, this
variable, zero by default, can be used to trigger zero-based
coordinates in event reporting. It must be set before opening the
mouse connection, and never changed later. Events.
'int gpm_visiblepointer'
If not zero, causes the mouse cursor to be always visible on the
window. It is zero by default.
'gpm_mx'
'gpm_my'
These variables (max X and max Y) are used when fitting events
inside the screen. They are initialized by 'Gpm_Open', and updated
by a 'SIGWINCH' handler internal to the library. (Don't worry, the
library doesn't _replace_ any 'SIGWINCH' handler your program may
already have installed; instead the library _hooks_ the signal,
that is, it calls any preexisting handler after taking care of its
own needs.)
'int gpm_hflag'
Used to signal if a character has been generated by a mouse
handler. Handling Functions.
'Gpm_Handler *gpm_handler; void *gpm_data'
Both initially 'NULL', they're used to setup asynchronous mouse
handling, as described below under the 'Gpm_Getc()' item.
'gpm_morekeys'
Used by the mouse handler to provide more than one key: if
'gpm_morekeys' is not zero, 'Gpm_Getc' will invoke the handler
without waiting for events. 'gpm_morekeys' is never set by the
mouse library.