unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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 --]

  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).