From: Stefan Kangas <stefankangas@gmail.com>
To: Charles Choi <kickingvegas@gmail.com>, emacs-devel@gnu.org
Subject: Re: Request to distribute Casual packages on NonGNU ELPA
Date: Wed, 25 Sep 2024 16:44:38 -0700 [thread overview]
Message-ID: <CADwFkmkqyZtppTwaCQDL3yWSKy5KycPcnN20_7=Yi=MjoAjtGw@mail.gmail.com> (raw)
In-Reply-To: <8B0830CA-6995-454C-BC5A-E4247E259CE9@gmail.com>
Charles Choi <kickingvegas@gmail.com> writes:
> Greetings Emacs Devel -
>
> Over the course of this past year, I have published a number of Emacs
> packages that offer Transient-based user interfaces for different
> modes with the moniker of "Casual" on MELPA. I wish to pursue
> publishing them on NonGNU ELPA and seek guidance on how to move
> forward with this. I have read the README at
> https://git.savannah.gnu.org/cgit/emacs/nongnu.git/plain/README.org
> and believe that these packages all comply with the guidance for
> package acceptance into NonGNU ELPA.
>
> A current listing of the packages that I wish to distribute on NonGNU
> ELPA can be found at the link
> https://melpa.org/#/?q=kickingvegas%20casual
I have given the `casual-bookmarks` command a spin, and I have looked at
a few others. The screenshots really helped here. Please find below my
review of Casual, and some ideas for potential improvements. I hope you
find it useful.
AFAICT, Casual essentially provides something similar to
`which-key-show-full-mode` but with a hand-crafted display based on
transient instead of the auto-generated display which-key has. Another
comparison is `help-quick-toggle`, though connected to the current major
mode. It could also be compared to the many various `hydra` recipes
floating around out there.
I quite like it to the extent that it does the above, FWIW. But there
are also some things that I think could be improved.
- Why so many packages? They could easily be bundled into just one
package. This is also strongly suggested by the fact that there is a
need for a `consult-bundle` package. There is little to no benefit to
split it up, it just makes dealing with it more fiddly.
- The Casual suite would benefit from having an Info manual. This is
related to the above point; there is a lot of duplicated information
in the various README files.
- `casual-dired` changes some of the default Dired keybindings. I think
this is confusing, and reduces the value of `casual-dired` as a
learning and/or help tool. It should be possible to use the transient
menu for Dired without being forced to use the new keybindings.
This suggests to me that there should be a completely separate mode,
perhaps not even part of Casual, to enable the "new and improved"
keybindings everywhere: in Dired, in the Casual transient menu, etc.
This would broaden its applicability to more use cases; for example, I
might want to use the transient menu, but I have little to no interest
in non-default Dired keybindings.
- I would put Casual on GNU ELPA, if possible.
I also have some comments based on the README.md for `casual-bookmarks`:
> Casual Bookmarks is an opinionated Transient-based user interface for
> Emacs Bookmarks.
>
> INSTALLATION (require 'casual-bookmarks) ;; optional
Using `require` is redundant, and not best practice: it slows down
starting Emacs and requires more memory, even if the commands are never
used. All useful entry-points should simply be autoloaded (this is done
automatically by package.el on install).
> (keymap-set bookmark-bmenu-mode-map "C-o" #'casual-bookmarks-tmenu)
>
> Alternately with `use-package': (use-package bookmark
> :ensure nil :defer t)
AFAICT, this form does nothing and can be removed.
> (use-package casual-bookmarks
> :ensure t :bind (:map bookmark-bmenu-mode-map
> ("C-o" . casual-bookmarks-tmenu) ("S"
> . casual-bookmarks-sortby-tmenu) ("J" . bookmark-jump))
> :after (bookmark))
The `bookmark-jump` key binding is generally useful, and should
preferably be sent as a patch to Emacs itself.
Perhaps this also applies to the new key bindings for info, ibuffer, and
org-agenda, etc. I don't know, and I didn't look into it.
> Casual Bookmarks requires Casual Lib which in turn requires a recent
> installation of Transient 0.6.0+ from either ELPA or MELPA. As an
> older version of Transient is built-in to the Emacs release,
This should say which version of Emacs needs to have transient upgraded.
If it is Emacs 29.4, then say that.
next prev parent reply other threads:[~2024-09-25 23:44 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-24 21:35 Request to distribute Casual packages on NonGNU ELPA Charles Choi
2024-09-25 17:30 ` Stefan Kangas
2024-09-25 18:30 ` Philip Kaludercic
2024-09-25 20:05 ` Charles Choi
2024-09-25 20:15 ` Philip Kaludercic
2024-09-26 18:06 ` Charles Choi
2024-09-28 3:08 ` Richard Stallman
2024-09-28 3:08 ` Richard Stallman
2024-09-28 8:52 ` Charles Choi
2024-09-27 15:52 ` Philip Kaludercic
2024-09-27 16:04 ` Philip Kaludercic
2024-09-27 18:12 ` Charles Choi
2024-09-27 18:58 ` Stefan Monnier
2024-09-27 20:05 ` Philip Kaludercic
2024-09-28 14:02 ` Philip Kaludercic
2024-09-26 19:08 ` Charles Choi
2024-09-27 4:40 ` Stefan Kangas
2024-09-27 15:34 ` Philip Kaludercic
2024-09-27 16:13 ` Charles Choi
2024-09-27 16:03 ` Stefan Monnier
2024-09-27 19:20 ` Charles Choi
2024-09-30 3:26 ` Richard Stallman
2024-09-30 3:57 ` Emanuel Berg
2024-10-03 3:33 ` Richard Stallman
2024-09-25 23:44 ` Stefan Kangas [this message]
2024-09-26 17:01 ` Charles Choi
2024-09-26 18:05 ` Adam Porter
2024-09-27 15:18 ` Philip Kaludercic
2024-09-27 5:43 ` Stefan Kangas
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='CADwFkmkqyZtppTwaCQDL3yWSKy5KycPcnN20_7=Yi=MjoAjtGw@mail.gmail.com' \
--to=stefankangas@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=kickingvegas@gmail.com \
/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).