This is the abstract I sent to the Linux symposium -------------------------------------------------- One facility still lacking in Linux is a general purpose mouse support for interactive applications. Though not essential to the average programmer, it is something novice users like inside editors and menu-driven applications. This is particularly true for those who come form a text-based messy-dog environment and won't use X11 because they feel it too difficult to run. The package I'm going to present is a general purpose mouse server which provides mouse events to interactive applications running on the PC console. The "gpm" package is both a program and a protocol specification. It communicates with client applications through unix-domain sockets and manages independently each virtual console. A stack of clients is kept within each console in order to allow stopping the editor to run a menu-driven application. Automatic detection of the mouse-type is available, and the protocol is robust enough to be completely transparent to the human user. Gpm requires a tiny patch to console.c to extend capability provided by "selection", and its behaviour reverts to "selection" when no client is attached to the console. The worst drawback of gpm is its limited portablity - it's too strictly related to the Linux OS. However, applications using gpm-Linux will compile and run happily (without mouse) when the environment is different form Linux-VC. Within the gpm package are provided patches to the "dialog" utility and to "the Mousless Commander" in order to make them reactive to the Linux mouse. Special thanks are due to Andrew Haylett, the author of Linux selection, as part of the code is the result of his efforts.