unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Lennart Borgman" <lennart.borgman.073@student.lu.se>
Cc: emacs-devel@gnu.org
Subject: Re: Hourglass only for X-windows?
Date: Mon, 28 Feb 2005 01:20:35 +0100	[thread overview]
Message-ID: <003201c51d2b$5c57e2f0$0200a8c0@sedrcw11488> (raw)
In-Reply-To: 01c51d0b$Blat.v2.4$215fcf20@zahav.net.il

----- Original Message ----- 
From: "Eli Zaretskii" <eliz@gnu.org>
> > From: "Lennart Borgman" <lennart.borgman.073@student.lu.se>
> > I am trying to understand the implementation around hourglass cursors.
When
> > I look through eval.c, fns.c, keyboard.c, lread.c and minibuf.c I see in
> > many places something like:
> >
> >     #ifdef HAVE_X_WINDOWS
> >       if (display_hourglass_p)
> >         cancel_hourglass ();
> >     #endif
> >
> > Is this really correct?
>
> Yes, I think so.
>
> > It looks like displaying an hourglass cursor should only happen if x
> > windows is available.
>
> What other systems?  If you refer to Windows, then please see
> w32fns.c, where the timer-related hourglass code is ifdef'ed away
> (probably because Windows doesn't emulate well Posix timers that raise
> asynchronous signals).  The Windows implementation of hourglass
> cursor, if I understand it correctly, is synchronous, i.e. the
> redisplay code and the idle loop set and reset it.
>
> Of other non-X ports, the MSDOS port doesn't support this feature at
> all (you cannot change the Windows mouse pointer shape from a DOS
> program running on Windows, and doing so on plain DOS involves
> undesirable complications).
>
> As for MacOS X, I don't know.
>
> > Maybe it would be better to remove these ifdefs and require every Emacs
> > implementation to compile the lines? Does not most systems actually have
the
> > possibility to display hourglass cursors? If they do not could the
> > implementation not just supply some dummies for the required functions?
>
> That'd not be a good idea, I think: firing SIGALRM signals by the
> timers complicates things (e.g., you get to handle the problem of
> interrupted system calls), so it shouldn't be done without a good
> reason.

There is clearly something I do not understand here. I do not mean the
implementation details (though I do not understand them ;-). However I can
not see how hourglass support can be implemented at all if those places
where you hide or show the hourglass is ifdef:ed away. Both start_hourglass
and cancel_hourglass are ifdef:ed away (unless HAVE_X_WINDOW is defined). Am
I perhaps misunderstanding when HAVE_X_WINDOW is defined? Can you (or
someone else) please explain this a bit more?

I was trying to see if hourglass support could be implemented for w32. It is
really needed for a first class application like Emacs!

  reply	other threads:[~2005-02-28  0:20 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-27 17:57 Hourglass only for X-windows? Lennart Borgman
2005-02-27 20:29 ` Eli Zaretskii
2005-02-28  0:20   ` Lennart Borgman [this message]
2005-02-28  4:38     ` Eli Zaretskii
2005-02-28 15:57       ` Lennart Borgman
2005-02-28 23:05         ` Eli Zaretskii
2005-03-01  0:17           ` Lennart Borgman
2005-03-10 23:33             ` Lennart Borgman
2005-03-11 13:28               ` Eli Zaretskii
2005-03-11 13:44                 ` Jason Rumney
2005-03-11 15:51                   ` Eli Zaretskii
2005-03-11 16:03                   ` Lennart Borgman
2005-03-11 16:15                     ` Eli Zaretskii
2005-03-11 16:43                       ` Lennart Borgman
2005-03-11 17:25                         ` Jan D.
2005-03-11 18:42                           ` Lennart Borgman
2005-03-11 20:51                             ` Eli Zaretskii
2005-03-12  1:03                               ` Lennart Borgman
2005-03-12  2:11                                 ` Jason Rumney
2005-03-12  9:37                                   ` Lennart Borgman
2005-03-12 11:43                                     ` Jan D.
2005-03-12 13:41                                   ` Stefan Monnier
2005-03-12 15:41                                     ` Jason Rumney
2005-03-13  3:50                                       ` David Hunter
2005-03-14 11:28                                         ` YAMAMOTO Mitsuharu
2005-03-13 15:29                                     ` Richard Stallman
2005-03-12 10:01                                 ` Eli Zaretskii
2005-03-12 21:40                                   ` Lennart Borgman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='003201c51d2b$5c57e2f0$0200a8c0@sedrcw11488' \
    --to=lennart.borgman.073@student.lu.se \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).