From: Psionic K <psionik@positron.solutions>
To: Eduardo Ochs <eduardoochs@gmail.com>
Cc: Psionic K <psionik@positron.solutions>, emacs-devel@gnu.org
Subject: Re: Add moc to Non-GNU ELPA
Date: Tue, 17 Dec 2024 23:09:37 +0900 [thread overview]
Message-ID: <CADQMGAQT8EgWwaPLotz3=qzvo8zLFbBEC4OmmDCNPw_WAiJeOg@mail.gmail.com> (raw)
In-Reply-To: <CADs++6hs3HDTCb1QisaK-yEDh=6NU9VB3MOQqbKexboexPoCdw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3635 bytes --]
Hi Eduard,
You can preview the keyboard macro playback on the unstable branch. There
is a simple example at the very end of the demo.org in the /test
directory. `dslide-deck-start' and it will show you the rest of the way.
You can also start at point right on that example or skip to it with the
contents view.
I also used `unread-key-events', just with a Laplace distribution based
jittery timer for relatively human-appearing key entry speed. It's for
"live" tech demos. You may file an issue for instant playback. In my rush
to do human speed I forgot some people will just want a normal keyboard
macro.
Do play around with `dslide-kmacro-transcribe-set-mark'. Every macro you
record will encode a step. It's extremely satisfying.
https://github.com/positron-solutions/dslide/commit/c2ea982a809c1114b63638ac4c47e1292e11189e
I just fixed some bugs and overhauled the start functions. I'm reluctant
to push master even if I fix the tiny outstanding bug I found. I need to
revert a small change somewhere that caused a regression in reverse image
reveal when entering the slide in reverse.
On Tue, Dec 17, 2024 at 9:00 PM Eduardo Ochs <eduardoochs@gmail.com> wrote:
> On Tue, 17 Dec 2024 at 02:03, Psionic K <psionik@positron.solutions>
> wrote:
> >
> > > Can you please explain what Delide does?
> >
> > Present anything Emacs can do with programmable, extensible,
> configurable slides & presentation steps made from org mode headings
> >
> > Longer introductions are available in the documentation:
> >
> https://raw.githubusercontent.com/positron-solutions/dslide/refs/heads/unstable/doc/README.org
> >
> https://raw.githubusercontent.com/positron-solutions/dslide/refs/heads/unstable/doc/manual.org
> >
> > The latest (upcoming) changes are available via the news file:
> >
> https://raw.githubusercontent.com/positron-solutions/dslide/refs/heads/unstable/NEWS.org
> >
> > You can install it from Non-GNU ELPA. The package symbol is dslide.
>
>
> Hi Psionic,
>
> I was trying to find your code for playing back macros with pauses
> between certain keys and I found this,
>
> https://github.com/positron-solutions/dslide/issues/18
>
> that gave me the impression that this is a planned feature, not
> implemented yet...
>
> I am trying to do something similar, but I am looking for a minimal
> solution that fits in a few lines of code. What I currently have is
> this:
>
> http://anggtwu.net/eev-current/eev-blinks.el.html#eek2
>
> Here is its code:
>
> (defun eek2 (str &optional norecord)
> "Execute STR as a keyboard macro. See `edmacro-mode' for the exact
> format.\n
> This is a variant of `eek' that pushes events into
> `unread-command-events'.
> An example: (eek2 \"C-x 4 C-h\")"
> (interactive "sKeys: ")
> (setq unread-command-events
> (nconc unread-command-events (ee-eek2 str))))
>
> (defun ee-eek2 (str &optional norecord)
> "An internal function used by `eek2'."
> (cl-loop for ev in (listify-key-sequence (read-kbd-macro str))
> collect (cons (or norecord t) ev)))
>
> If we run
>
> (eek2 "RET Hello")
>
> it plays back RET, `H', `e', `l', `l', `o', and if we run this
>
> (ee-eek2 "RET Hello")
>
> is shows the events that eek2 would push into `unread-command-events',
> that are:
>
> '((t . 13) (t . ?H) (t . ?e) (t . ?l) (t . ?l) (t . ?o))
>
> How would you implement pauses? Any pointers would help me very much!
> Thanks in advance,
>
> Eduardo Ochs
> http://anggtwu.net/emacsconf2024.html
>
--
Only the Future is Certain
[-- Attachment #2: Type: text/html, Size: 5450 bytes --]
next prev parent reply other threads:[~2024-12-17 14:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-16 16:52 Add moc to Non-GNU ELPA Psionic K
2024-12-17 4:40 ` Richard Stallman
2024-12-17 5:02 ` Psionic K
2024-12-17 12:00 ` Eduardo Ochs
2024-12-17 14:09 ` Psionic K [this message]
2024-12-17 15:28 ` Dslide kmacro transcription & playback [was:Add moc to Non-GNU ELPA] Psionic K
2024-12-17 17:47 ` Add moc to Non-GNU ELPA Eduardo Ochs
2024-12-18 1:01 ` Psionic K
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='CADQMGAQT8EgWwaPLotz3=qzvo8zLFbBEC4OmmDCNPw_WAiJeOg@mail.gmail.com' \
--to=psionik@positron.solutions \
--cc=eduardoochs@gmail.com \
--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).