Casual
A collection of opinionated keyboard-driven user interfaces for various built-in Emacs modes.
Install / Use
/learn @kickingvegas/CasualREADME
[[https://melpa.org/#/casual][file:https://melpa.org/packages/casual-badge.svg]] [[https://stable.melpa.org/#/casual][file:https://stable.melpa.org/packages/casual-badge.svg]] [[https://elpa.nongnu.org/nongnu/casual.html][file:https://elpa.nongnu.org/nongnu/casual.svg]]
- Casual
Casual is a project to re-imagine the primary user interface for Emacs using keyboard-driven menus.
Emacs has many commands that are easy to forget if not used frequently. Menus are a user interface (UI) affordance that offers discoverability and recognition. While menus are commonly associated with mouse-driven UI, the inclusion of [[https://github.com/magit/transient][Transient]] in Emacs core allows for building menus that are keyboard-driven instead. This appeals to users that prefer keyboard-driven workflows.
Casual organizes itself primarily around the different built-in modes Emacs provides. For each mode Casual supports, there is a bespoke designed library of Transient menus for that mode's command set.
Casual has no aims to be a mutually exclusive user interface. All existing user interfaces to commands (keybinding, mini-buffer prompt, mouse menus) are still available to the user.
To learn more about the motivations and design considerations for Casual as well as seeing it at work, please watch the presentation [[https://emacsconf.org/2024/talks/casual/][“Re-imagining the Emacs User Experience with Casual Suite”]] from EmacsConf 2024.
Please refer to the [[https://kickingvegas.github.io/casual][Casual User Guide]] for detailed information about it. This user guide is available both in Emacs Info and HTML formats.
- Requirements Casual requires Emacs 30.1+, Transient 0.9.0+, csv-mode 1.27+.
Certain menus require more installed software:
- Casual Dired: GNU Coreutils
- Casual Image: ImageMagick 6+
- Install In Emacs, a “mode” is analogous to an “app” in that it is a grouping of related features. Installation of Casual is done on a per-mode basis.
[[https://kickingvegas.github.io/casual/Install.html][Installation instructions for the different modes supported by Casual can be found in the Casual User Guide]].
-
Asks As Casual is new, we are looking for early adopters! Your [[https://github.com/kickingvegas/casual/discussions][feedback]] is welcome as it will likely impact Casual's evolution, particularly with regards to UI.
-
Development For users who wish to help contribute to Casual or personally customize it for their own usage, please read the [[docs/developer.org][developer documentation]].
-
Sponsorship It costs money to make, enhance, and maintain Casual as ideologically free software. If you enjoy using Casual, please buy me a coffee to help support its development and maintenance.
[[https://www.buymeacoffee.com/kickingvegas][file:docs/images/default-yellow.png]]
- See Also While the package ~casual~ focuses on user interfaces for built-in Emacs modes, there are other third party packages which receive the “Casual” treatment. Two such packages are:
- [[https://github.com/kickingvegas/casual-avy][Casual Avy]] (Elisp package: ~casual-avy~)
- An interface for the highly capable Avy navigation package.
- [[https://github.com/kickingvegas/casual-symbol-overlay][Casual Symbol Overlay]] (Elisp package: ~casual-symbol-overlay~)
- An interface for the Symbol Overlay package.
Users interested in getting all current and future Casual interfaces for both built-in and third party packages should install [[https://github.com/kickingvegas/casual-suite][Casual Suite]], which includes all of the above packages including ~casual~.
- Acknowledgments A heartfelt thanks to all the contributors to [[https://github.com/magit/transient][Transient]], [[https://magit.vc][Magit]], [[https://orgmode.org][Org Mode]], and [[https://www.gnu.org/software/emacs/][Emacs]]. This package would not be possible without your efforts.
#+HTML: <p align='center'>© 2024-2026 Charles Y. Choi</p>
Related Skills
node-connect
352.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
