emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/2] Add frame-pointer-visible-p


From: Julien Danjou
Subject: [PATCH 1/2] Add frame-pointer-visible-p
Date: Thu, 14 Oct 2010 16:52:28 +0200

Signed-off-by: Julien Danjou <address@hidden>
---
 doc/lispref/frames.texi |    7 +++++++
 src/ChangeLog           |    5 +++++
 src/frame.c             |   15 +++++++++++++++
 src/lisp.h              |    1 +
 4 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index d27010d..854e7b0 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1748,6 +1748,13 @@ If @var{frame} is not visible, this function does 
nothing.  The return
 value is not significant.
 @end defun
 
address@hidden frame-pointer-visible-p &opt frame
+This function return the current visibility status of the mouse
+pointer in @var{frame}. This is useful when
address@hidden is set to @code{t}: it allows to know if
+the pointer has been hidden.
address@hidden defun
+
 @need 3000
 
 @node Pop-Up Menus
diff --git a/src/ChangeLog b/src/ChangeLog
index 5a5bcd2..48b8c9b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-14  Julien Danjou  <address@hidden>
+
+       * frame.c (Fframe_pointer_visible_p): Add
+       `frame-pointer-visible-p' to get the pointer visibility.
+
 2010-10-14  Juanma Barranquero  <address@hidden>
 
        * w32fns.c (w32_wnd_proc, file_dialog_callback):
diff --git a/src/frame.c b/src/frame.c
index 04cc1ca..5e32203 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -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 FRAME pointer visibility status.
+This is useful when `make-pointer-invisible' is set.  */)
+  (Lisp_Object frame)
+{
+  if (NILP (frame))
+    frame = selected_frame;
+
+  if (frame && FRAMP (frame) && !XFRAME(frame)->pointer_invisible)
+    return Qt;
+
+  return Qnil;
+}
 
 
 /***********************************************************************
@@ -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);
diff --git a/src/lisp.h b/src/lisp.h
index c9104f8..a1f74cb 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -3278,6 +3278,7 @@ EXFUN (Fmodify_frame_parameters, 2);
 EXFUN (Fset_frame_height, 3);
 EXFUN (Fset_frame_width, 3);
 EXFUN (Fset_frame_size, 3);
+EXFUN (Fframe_pointer_visible_p, 1);
 EXFUN (Fset_frame_position, 3);
 EXFUN (Fraise_frame, 1);
 EXFUN (Fredirect_frame_focus, 2);
-- 
1.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]