5.6.2 Dired Install

The main menu for Dired is casual-dired-tmenu. Bind this menu in the keymap dired-mode-map as follows in your initialization file.

(keymap-set dired-mode-map "C-o" #'casual-dired-tmenu)

In addition, it is convenient to have both the sort-by (casual-dired-sort-by-tmenu) and search & replace (casual-dired-search-replace-tmenu) menus bound. Listed below is an example of binding the sort-by and search & replace menus to s and / respectively.

(keymap-set dired-mode-map "s" #'casual-dired-sort-by-tmenu)
(keymap-set dired-mode-map "/" #'casual-dired-search-replace-tmenu)

Included is a standard keymap for Dired sorting commands (casual-dired-sort-menu) which can be included in a context menu for a mouse-driven workflow. An example of this is shown below:

(require 'casual-dired)

(defun casual-dired-context-menu-addons (menu click)
  "Customize context MENU with CLICK event."
  (easy-menu-add-item menu nil casual-dired-sort-menu)
  menu)

(add-hook 'context-menu-functions #'casual-dired-context-menu-addons)
(add-hook 'dired-mode-hook 'context-menu-mode)

Configuration

As Dired has been around for a long time, the different ways of configuring it are myriad. Described below is a configuration used by the author that is consistent with the bindings used in Casual Dired.

(require 'dired)
(require 'dired-x)
(require 'wdired)
(require 'hl-line)
(require 'mouse)
(require 'image-dired)
(require 'image-dired-dired)
(require 'casual-dired)

(keymap-set dired-mode-map "C-o" #'casual-dired-tmenu)
(keymap-set dired-mode-map "s" #'casual-dired-sort-by-tmenu)
(keymap-set dired-mode-map "/" #'casual-dired-search-replace-tmenu)

(add-hook 'dired-mode-hook 'hl-line-mode)
(add-hook 'dired-mode-hook 'context-menu-mode)
(add-hook 'dired-mode-hook 'dired-async-mode)
(add-hook
 'dired-mode-hook
 (lambda ()
   (setq-local mouse-1-click-follows-link 'double)))

(keymap-set dired-mode-map "M-o" #'dired-omit-mode)
(keymap-set dired-mode-map "E" #'wdired-change-to-wdired-mode)
(keymap-set dired-mode-map "M-n" #'dired-next-dirline)
(keymap-set dired-mode-map "M-p" #'dired-prev-dirline)
(keymap-set dired-mode-map "]" #'dired-next-subdir)
(keymap-set dired-mode-map "[" #'dired-prev-subdir)
(keymap-set dired-mode-map "A-M-<mouse-1>" #'browse-url-of-dired-file)
(keymap-set dired-mode-map "<backtab>" #'dired-prev-subdir)
(keymap-set dired-mode-map "TAB" #'dired-next-subdir)
(keymap-set dired-mode-map "M-j" #'dired-goto-subdir)
(keymap-set dired-mode-map ";" #'image-dired-dired-toggle-marked-thumbs)

(keymap-set image-dired-thumbnail-mode-map "n" #'image-dired-display-next)
(keymap-set image-dired-thumbnail-mode-map "p" #'image-dired-display-previous)

Dired Variables

The Casual Dired main menu offers “, Settings›” to customize a set of commonly used Dired variables.

images/casual-dired-settings-screenshot

If you have GNU ls installed and configured, use the l key to set the variable dired-use-ls-dired to t (“l Use GNU ‘ls’ with –dired”). Otherwise this should be disabled.