branch: elpa/casual
commit daf91ca6177f19a19a3efe299799bddd2070d488
Author: Charles Choi <[email protected]>
Commit: Charles Choi <[email protected]>

    Update README.
---
 README.org | 82 +++++++++++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 62 insertions(+), 20 deletions(-)

diff --git a/README.org b/README.org
index 878750527f..f68d66fa58 100644
--- a/README.org
+++ b/README.org
@@ -1,10 +1,61 @@
 
[[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]]
 
 * Casual
-A collection of opinionated 
[[https://github.com/magit/transient][Transient]]-based keyboard-driven user 
interfaces for various built-in Emacs modes.
 
-Casual is organized into different user interface (UI) libraries tuned for 
different modes. Different user interfaces for the following modes are 
supported:
+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.
+
+** Goals
+- To provide a keyboard-driven menu UI toolkit for common Emacs commands.
+- To allow for casual discovery and use of infrequently used Emacs commands.
+- To be a frequently used interface to the modes Casual does support.
+
+** Non-Goals
+- Full coverage of all Emacs commands. Casual is not intended to be a power 
user tool nor is it intended to be a replacement for mouse-driven menus. Casual 
has no intent to exhaustively cover all modes available in Emacs with 
keyboard-driven menus.
+- Strict adherence to Emacs command naming. While Casual is *mostly* in 
alignment with Emacs command naming, there are cases where it will make an 
opinionated change if the name is deemed too vague or idiomatic.
+- No intention is made by Casual to help on-board users to the existing 
default bindings of a mode, nor to cater to users who already know them. That 
said, many existing default Emacs bindings are replicated in Casual. Such 
correspondence should be considered incidental.
+- UX Stability (for now). Given that Casual is early in its life-cycle, expect 
changes to its user experience in terms of menu hierarchy and keybinding 
choices in future releases.
+  
+Editorially, all design decisions for Casual are ultimately the opinion of 
Charles Y. Choi.
+
+
+* Table of Contents                                                   :TOC_3:
+- [[#casual][Casual]]
+  - [[#goals][Goals]]
+  - [[#non-goals][Non-Goals]]
+- [[#supported-modes][Supported Modes]]
+  - [[#agenda-elisp-library-casual-agenda][Agenda (Elisp library: 
~casual-agenda~)]]
+  - [[#bookmarks-elisp-library-casual-bookmarks][Bookmarks (Elisp library: 
~casual-bookmarks~)]]
+  - [[#calc-elisp-library-casual-calc][Calc (Elisp library: ~casual-calc~)]]
+  - [[#calendar-elisp-library-casual-calendar][Calendar (Elisp library: 
~casual-calendar~)]]
+  - [[#dired-elisp-library-casual-dired][Dired (Elisp library: 
~casual-dired~)]]
+  - [[#editkit-elisp-library-casual-editkit][EditKit (Elisp library: 
~casual-editkit~)]]
+  - [[#ibuffer-elisp-library-casual-ibuffer][IBuffer (Elisp library: 
~casual-ibuffer~)]]
+  - [[#info-elisp-library-casual-info][Info (Elisp library: ~casual-info~)]]
+  - [[#i-search-elisp-library-casual-isearch][I-Search (Elisp library: 
~casual-isearch~)]]
+  - [[#re-builder-elisp-library-casual-re-builder][Re-Builder (Elisp library: 
~casual-re-builder~)]]
+- [[#requirements][Requirements]]
+- [[#install][Install]]
+  - [[#upgrading-to-casual-2x][Upgrading to Casual 2.x]]
+    - [[#if-you-do-not-use-use-package-to-configure-casual][If you do not use 
~use-package~ to configure Casual]]
+    - [[#if-you-have-used-use-package-to-configure-casual][If you have used 
~use-package~ to configure Casual]]
+  - [[#a-note-on-package-dependencies][A Note on Package Dependencies]]
+- [[#customization][Customization]]
+- [[#asks][Asks]]
+- [[#common-menu-actions][Common Menu Actions]]
+- [[#development][Development]]
+- [[#sponsorship][Sponsorship]]
+- [[#see-also][See Also]]
+- [[#acknowledgments][Acknowledgments]]
+
+* Supported Modes
 ** [[file:docs/agenda.org][Agenda]] (Elisp library: ~casual-agenda~)
   An interface for Org Agenda to help you plan your day.
   
@@ -60,24 +111,6 @@ An interface for 
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Cal
 Users can choose any or all of the user interfaces made available by Casual at 
their pleasure.
 
 
-* Motivation
-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 a keyboard-driven menu 
UI. Transient menus are appealing to users who prefer keyboard-driven workflows.
-
-That said, 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.
-
-** Goals
-- To provide a keyboard-driven menu UI toolkit for common Emacs commands.
-- To allow for casual discovery and use of infrequently used Emacs commands.
-- To be a frequently used interface to the modes Casual does support.
-
-** Non-Goals
-- Full coverage of all Emacs commands. Casual is not intended to be a power 
user tool nor is it intended to be a replacement for mouse-driven menus. Casual 
has no intent to exhaustively cover all modes available in Emacs with 
keyboard-driven menus.
-- Strict adherence to Emacs command naming. While Casual is *mostly* in 
alignment with Emacs command naming, there are cases where it will make an 
opinionated change if the name is deemed too vague or idiomatic.
-- No intention is made by Casual to help on-board users to the existing 
default bindings of a mode, nor to cater to users who already know them. That 
said, many existing default Emacs bindings are replicated in Casual. Such 
correspondence should be considered incidental.
-- UX Stability (for now). Given that Casual is early in its life-cycle, expect 
changes to its user experience in terms of menu hierarchy and keybinding 
choices in future releases.
-  
-Editorially, all design decisions for Casual are ultimately the opinion of 
Charles Y. Choi. People comfortable with this are invited to use Casual at 
their discretion.
-
 * Requirements
 Casual requires usage of
 - Emacs ≥ 29.1
@@ -128,6 +161,14 @@ Casual requires a recent installation of Transient 0.6.0+ 
from either [[https://
 
 If you already have the latest version of Magit installed (via 
[[https://elpa.nongnu.org/nongnu/magit.html][non-GNU ELPA]] or 
[[https://melpa.org/#/magit][MELPA]]), you can bypass the above instruction as 
Magit already includes the Transient package as a dependency.
 
+
+* Customization
+
+Users who wish to extend or alter existing Casual menus can do so via the 
mechanisms offered by the Transient package (see 
[[https://www.gnu.org/software/emacs/manual/html_mono/transient.html#Modifying-Existing-Transients][Modifying
 Existing Transients]]).
+
+Casual menus can also be configured to use Unicode symbols for labels. This is 
controlled by the variable ~casual-lib-use-unicode~ which can be customized via 
a mode's settings menu. If ~casual-lib-use-unicode~ is set to ~t~, it is also 
recommended that the variable ~transient-align-variable-pitch~ also be set to 
~t~. 
+
+
 * 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.
 
@@ -167,3 +208,4 @@ Users interested in getting all current and future Casual 
interfaces for both bu
 * 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-2025 Charles Y. Choi</p>

Reply via email to