If Casual is installed using package-install, then you can use casual-init to setup support for Info.
By default, casual-init will setup support for Info via the hook function casual-info-init which is included in the customizable variable casual-init-hook.
Use the command customize-variable on casual-init-hook to control inclusion of casual-info-init via a checkbox interface.
Refer to the Simplified Install (Install) section for more detail on customizing casual-init.
Casual makes opinionated decisions on the keybindings used in its menus. Such opinions are extended from said menus to the keymap(s) of a particular mode. For Info, this can be controlled via the customizable variable casual-info-add-extra-keybindings (default t).
Users who want a more granular install of Casual modules can invoke the hook function of interest in their Emacs initialization file.
(casual-info-init)
For users who have manually installed Casual outside of package-install, the following guidance is offered.
The primary interface for Casual Info is the Transient menu casual-info-tmenu. It is autoloaded ((elisp)Autoload) so if Casual is installed via package-install ((emacs)Package Installation) then casual-info-tmenu can be invoked via execute-extended-command (M-x) without need for modifying your Emacs initialization file.
That said, Casual is designed with the intent of using a common (key)binding across multiple modes to lower cognitive load. This document uses the binding C-o for this purpose, but can be changed to user preference.
There are many ways to configure this binding. Shown below is a straightforward implementation:
(require 'casual-info) ; load all dependencies including `info' (keymap-set Info-mode-map "C-o" #'casual-info-tmenu)
If lazy loading of the info package is desired then try using eval-after-load:
(eval-after-load 'info (keymap-set Info-mode-map "C-o" #'casual-info-tmenu))
While not required, adding this configuration to your Emacs initialization file will synchronize keybindings between Casual Info and the Info reader. A nice visual improvement is to use hl-line-mode to highlight the line where the cursor is at. Enabling scroll-lock-mode will enable scrolling the buffer for content that is larger than its window size with the navigation keys.
;; # Info ;; Use web-browser history navigation bindings (keymap-set Info-mode-map "M-[" #'Info-history-back) (keymap-set Info-mode-map "M-]" #'Info-history-forward) ;; Bind p and n to paragraph navigation (keymap-set Info-mode-map "p" #'casual-info-browse-backward-paragraph) (keymap-set Info-mode-map "n" #'casual-info-browse-forward-paragraph) ;; Bind h and l to navigate to previous and next nodes ;; Bind j and k to navigate to next and previous references (keymap-set Info-mode-map "h" #'Info-prev) (keymap-set Info-mode-map "j" #'Info-next-reference) (keymap-set Info-mode-map "k" #'Info-prev-reference) (keymap-set Info-mode-map "l" #'Info-next) ;; Bind / to search (keymap-set Info-mode-map "/" #'Info-search) ;; Set Bookmark (keymap-set Info-mode-map "B" #'bookmark-set) (add-hook 'Info-mode-hook #'hl-line-mode) (add-hook 'Info-mode-hook #'scroll-lock-mode)