+(defun gpm-mouse-enable ()
+ "Try to enable gpm mouse support on the current terminal."
+ (let ((activated nil))
+ (unwind-protect
+ (progn
+ (unless (fboundp 'gpm-mouse-start)
+ (error "Emacs must be built with Gpm to use this mode"))
+ (when gpm-mouse-mode
+ (gpm-mouse-start)
+ (set-terminal-parameter nil 'gpm-mouse-active t)
+ (setq activated t)))
+ ;; If something failed to turn it on, try to turn it off as well,
+ ;; just in case.
+ (unless activated (gpm-mouse-disable)))))
+
+(defun gpm-mouse-disable ()
+ "Try to disable gpm mouse support on the current terminal."
+ (when (fboundp 'gpm-mouse-stop)
+ (gpm-mouse-stop))
+ (set-terminal-parameter nil 'gpm-mouse-active nil))
+