From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Julien Danjou Newsgroups: gmane.emacs.devel Subject: [PATCH 1/2] Add frame-pointer-visible-p Date: Thu, 14 Oct 2010 16:52:28 +0200 Message-ID: <1287067949-23750-2-git-send-email-julien@danjou.info> References: <1287067949-23750-1-git-send-email-julien@danjou.info> NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1287068077 13234 80.91.229.12 (14 Oct 2010 14:54:37 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 14 Oct 2010 14:54:37 +0000 (UTC) Cc: Julien Danjou To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Oct 14 16:54:35 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1P6PCU-0002GI-JI for ged-emacs-devel@m.gmane.org; Thu, 14 Oct 2010 16:54:34 +0200 Original-Received: from localhost ([127.0.0.1]:35856 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P6PCU-00051q-3U for ged-emacs-devel@m.gmane.org; Thu, 14 Oct 2010 10:54:34 -0400 Original-Received: from [140.186.70.92] (port=54816 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P6PCD-0004Iv-1O for emacs-devel@gnu.org; Thu, 14 Oct 2010 10:54:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P6PC7-0002Vi-11 for emacs-devel@gnu.org; Thu, 14 Oct 2010 10:54:16 -0400 Original-Received: from coquelicot-s.easter-eggs.com ([213.215.37.94]:54907) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P6PC6-0002UI-RZ for emacs-devel@gnu.org; Thu, 14 Oct 2010 10:54:10 -0400 Original-Received: from cigue.easter-eggs.fr (cigue.easter-eggs.fr [10.0.0.33]) by rose.easter-eggs.fr (Postfix) with ESMTPS id CCD8F14297; Thu, 14 Oct 2010 16:54:04 +0200 (CEST) Original-Received: from jdanjou by cigue.easter-eggs.fr with local (Exim 4.72) (envelope-from ) id 1P6PC4-0006FB-6S; Thu, 14 Oct 2010 16:54:08 +0200 X-Mailer: git-send-email 1.7.1 In-Reply-To: <1287067949-23750-1-git-send-email-julien@danjou.info> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:131704 Archived-At: Signed-off-by: Julien Danjou --- 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 +@defun frame-pointer-visible-p &opt frame +This function return the current visibility status of the mouse +pointer in @var{frame}. This is useful when +@code{make-pointer-invisible} is set to @code{t}: it allows to know if +the pointer has been hidden. +@end 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 + + * frame.c (Fframe_pointer_visible_p): Add + `frame-pointer-visible-p' to get the pointer visibility. + 2010-10-14 Juanma Barranquero * 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