Skip to content

Causal: keyboard-driven Transient menus for Emacs with causal interaction tracking. Fork of kickingvegas/casual.

License

Notifications You must be signed in to change notification settings

plurigrid/causal

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

429 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

https://melpa.org/packages/causal-badge.svg https://stable.melpa.org/packages/causal-badge.svg

Causal

Causal 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 Transient in Emacs core allows for building menus that are keyboard-driven instead. This appeals to users that prefer keyboard-driven workflows.

Causal organizes itself primarily around the different built-in modes Emacs provides. For each mode Causal supports, there is a bespoke designed library of Transient menus for that mode’s command set.

Causal 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 Causal as well as seeing it at work, please watch the presentation “Re-imagining the Emacs User Experience with Causal Suite” from EmacsConf 2024.

Please refer to the Causal User Guide for detailed information about it. This user guide is available both in Emacs Info and HTML formats.

Asks

As Causal is new, we are looking for early adopters! Your feedback is welcome as it will likely impact Causal’s evolution, particularly with regards to UI.

Development

For users who wish to help contribute to Causal or personally customize it for their own usage, please read the developer documentation.

Sponsorship

It costs money to make, enhance, and maintain Causal as ideologically free software. If you enjoy using Causal, please buy me a coffee to help support its development and maintenance.

docs/images/default-yellow.png

See Also

While the package causal focuses on user interfaces for built-in Emacs modes, there are other third party packages which receive the “Causal” treatment. Two such packages are:

  • Causal Avy (Elisp package: causal-avy)
    • An interface for the highly capable Avy navigation package.
  • Causal Symbol Overlay (Elisp package: causal-symbol-overlay)
    • An interface for the Symbol Overlay package.

Users interested in getting all current and future Causal interfaces for both built-in and third party packages should install Causal Suite, which includes all of the above packages including causal.

Acknowledgments

A heartfelt thanks to all the contributors to Transient, Magit, Org Mode, and Emacs. This package would not be possible without your efforts.

© 2024-2026 Charles Y. Choi

About

Causal: keyboard-driven Transient menus for Emacs with causal interaction tracking. Fork of kickingvegas/casual.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Emacs Lisp 96.1%
  • Makefile 3.5%
  • Other 0.4%