
Geez, THAT was fast. Thank you again for not only this piece of work, but driving the entire effort forward. -jm On Fri, Oct 10, 2025 at 4:07 PM Daniel Kochmański <daniel@turtleware.eu> wrote:
Hello John,
you've remembered well, it worked, but the cursor was always queried from the sheet over which the pointer was located (in McCLIM); in other words setting the top-level sheet cursor did not work, because the cursor was over the interactor (and the interactor was the child of a top-level sheet). Most notably, this command would work in your example:
(define-presentation-type-abbreviation cursor-type () `(member :default :prompt :button :busy :not-allowed))
(define-test-cursor-command (com-busy3 :name t) ((type 'cursor-type)) (let* ((sheet (frame-standard-output *application-frame*))) (setf (sheet-pointer-cursor sheet) type)))
That said I agree that this behavior is sub-optimal, so I've implemented bits necessary to have the most intuitive behavior, namely:
- if the sheet has an associated cursor, use it - otherwise look among sheet ancestors until you find the first defined cursor - if there is no such cursor, use the cursor associated with port-pointer cursor
This way if you first associate the pointer cursor, it will take effect, but when you assign the top-level sheet cursor, that will take the precedence -- and similarily, when you assign the interactor cursor, it will take the precedence when the cursor is over it.
These changes were pushed to master a moment ago.
Best regards, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
On Thursday, October 9th, 2025 at 9:10 PM, John Morrison < jm@symbolic-simulation.com> wrote:
Hi;
Sorry if this is either a dumb question or Pilot Error, but I am having trouble showing the user a "busy" cursor when a long-running command is invoked.
- Current "master" codeberg McCLIM - Fedora Core 41 - xorg-x11-server-Xwayland-24.1.8-1.fc41.x86_64 - SBCL vintage 2.1.1 (homebuilt)
I *THINK* I used to be able to do this years ago running under X11 (vs Wayland).
Please find attached a hopefully short program which either shows the problem, or shows my ignorance.
Thanks in advance for any help.
-jm
--- John Morrison <jm@symbolic-simulation.com> Chief Technology Officer Symbolic Simulation, LLC <https://www.symbolic-simulation.com> m: (617) 388-3071 <+1-617-388-3071> <https://www.symbolic-simulation.com> *CONFIDENTIALITY NOTICE: The information transmitted by this email is intended only for the person or entity to which it is addressed. This email may contain proprietary, business-confidential, and/or privileged material. If you are not the intended recipient of this message, be aware that any use, review, retransmission, distribution, reproduction or any action taken in reliance upon this message is strictly prohibited. If you received this in error, please contact the sender and delete the material from all computers.*