Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider disabling the cursor while in presentation mode #2

Open
terlar opened this issue Jun 24, 2024 · 3 comments
Open

Consider disabling the cursor while in presentation mode #2

terlar opened this issue Jun 24, 2024 · 3 comments

Comments

@terlar
Copy link

terlar commented Jun 24, 2024

Now when running a presentation, I will always see my cursor at the top and it also tends to glitch out a bit, leaving a trail along the title overlay.

Setting this fixes it:

(setq cursor-type nil)

image

@psionic-k
Copy link
Member

Now that there is a dslide-develop command, I agree this makes sense as a default. I want to add a dslide-present command that can create a frame if there are multiple screens and will also disable the mode line. I almost added it already. I just need to think about multiple screens.

For now such things can easily be done with hooks or extra commands as needed.

@psionic-k
Copy link
Member

I had a brainstorm about one of the first things we need for dslide-present.

The problem is when presenting, lots of time you are using some external projector or sharing a specific desktop. You want to look at the notes while showing the audience the contents. You need to be able to put a frame on the correct display. This is not the kind of thing we can do with hooks because the situations change. So, for the user, at the worst time to be interrupted, suddenly we need to use some new commands or click around manually.

So to solve this, I will use a transient interface to create a presentation frame. It will have a UI for placing the frame. The presentation frame and base frame will be able to swap positions. The presentation frame will move between screens using the transient.

Finally, I will add some customization options to add arbitrary commands typically useful for this situation.

There will be separate hooks for dslide-present, dslide-start, and dslide-develop. I'm not sure about whether I will restart the presentation or not. The current interpolation only goes to root headings.

@terlar
Copy link
Author

terlar commented Jul 3, 2024

Makes sense, perhaps it is not that given, but as you say, it depends on what the purpose of the buffer is.

I think it is fine to leave this up to the user, I currently have added this to the dslide-start-hook and it works well.

(define-minor-mode hide-cursor-mode
    "Toggle hiding of the cursor."
    :lighter " Hide Cursor"
    (if hide-cursor-mode
        (setq cursor-type nil)
      (kill-local-variable 'cursor-type)))
(add-hook 'dslide-start-hook #'hide-cursor-mode)

Feel free to close, if you don't intend this or feel it is up to the user to control this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants