]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/frame.c (Fframe_pointer_visible_p):
authorJulien Danjou <julien@danjou.info>
Mon, 18 Oct 2010 21:07:31 +0000 (17:07 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 18 Oct 2010 21:07:31 +0000 (17:07 -0400)
Add `frame-pointer-visible-p' to get the pointer visibility.

doc/lispref/frames.texi
src/ChangeLog
src/frame.c

index d27010d209680ef3c1379f798ad74a34f29629c9..4c44d0a6439a2e41d88d1dfc4b1707ceaf9168af 100644 (file)
@@ -1748,6 +1748,15 @@ If @var{frame} is not visible, this function does nothing.  The return
 value is not significant.
 @end defun
 
+@defun frame-pointer-visible-p &optional frame
+This predicate function returns non-@code{nil} if the mouse pointer
+displayed on @var{frame} is visible; otherwise it returns @code{nil}.
+@var{frame} omitted or @code{nil} means the selected frame.  This is
+useful when @code{make-pointer-invisible} is set to @code{t}: it
+allows to know if the pointer has been hidden.
+@xref{Mouse Avoidance,,,emacs}.
+@end defun
+
 @need 3000
 
 @node Pop-Up Menus
index 7755ed8c82b1505d67662a585f7b2c5ca18a221d..7046d13262fb0ed4b06591e79aaaf41f69177e05 100644 (file)
@@ -1,3 +1,8 @@
+2010-10-18  Julien Danjou  <julien@danjou.info>
+
+       * frame.c (Fframe_pointer_visible_p):
+       Add `frame-pointer-visible-p' to get the pointer visibility.
+
 2010-10-18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnutls.c (emacs_gnutls_read): Return 0 if we get a
index 04cc1ca07daedd0d424e0a5154e6ddeda5c70993..ed54d24197fc48eeb8e8945cb22447419b8233e8 100644 (file)
@@ -4314,6 +4314,20 @@ frame_make_pointer_visible (void)
     }
 }
 
+DEFUN ("frame-pointer-visible-p", Fframe_pointer_visible_p,
+       Sframe_pointer_visible_p, 0, 1, 0,
+       doc: /* Return t if the mouse pointer displayed on FRAME is visible.
+Otherwise it returns nil.  FRAME omitted or nil means the
+selected frame.  This is useful when `make-pointer-invisible' is set.  */)
+  (Lisp_Object frame)
+{
+  if (NILP (frame))
+    frame = selected_frame;
+
+  CHECK_FRAME (frame);
+
+  return (XFRAME (frame)->pointer_invisible ? Qnil : Qt);
+}
 
 \f
 /***********************************************************************
@@ -4623,6 +4637,7 @@ automatically.  See also `mouse-autoselect-window'.  */);
   defsubr (&Sset_frame_width);
   defsubr (&Sset_frame_size);
   defsubr (&Sset_frame_position);
+  defsubr (&Sframe_pointer_visible_p);
 
 #ifdef HAVE_WINDOW_SYSTEM
   defsubr (&Sx_get_resource);