[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

improve Dired menus

From: Drew Adams
Subject: improve Dired menus
Date: Sun, 11 Oct 2009 13:53:00 -0700

Dunno why I open this worm can again, but here goes.  I will
avoid getting involved in any discussion, myself.  All I have to
say about it is said here, and should be clear enough.  Discuss
or not, as you like.


The Dired menus are `Operate', `Mark', `Regexp', `Immediate', and

`Immediate' has become a catch-all - its items are a hodge-podge.
Actually, it has been a catch-all for a long time.  And the names
`Operate' and `Immediate' don't mean much - every command
operates and is immediate.

Perhaps it is because "Immediate" doesn't mean anything specific
that we have stuck items such as `Edit File Names', `Refresh',
and `Isearch in File Names' there - dunno.

I use a better breakdown in dired+.el. I propose that we use
something like it for vanilla Emacs:

 * Rename: `Subdir'    to `Dir'
           `Immediate' to `Single'
           `Operate'   to `Multiple'

 * `Dir' is for general actions on the Dired directory, all of
   its content, and the Dired buffer content.  Some of the
   `Immediate' items belong here, in a separate pane from the
   current `Subdir' items.

 * `Single' is for actions on the current line (single file or
   subdir).  Only some of the `Immediate' items belongs here.

 * `Multiple' is for actions on the marked (or next prefix arg)
   lines (files or subdirs), as now.  The current set of
   `Operate' items is OK as is for `Multiple'.

IOW, each menu would be defined by the objects on which acts: the
Dired directory/buffer, a single file/subdir, or a set of files
and subdirs.


  All items currently in `Subdir' would be in one pane of `Dir'.
  We would move the following items to `Dir' for its non-subdir

  Up Directory                               ^
  Create Directory                           +
  Compare Directories...
  Edit File Names (Wdired)...          C-x C-q
  Isearch in File Names...           M-s f C-s
  Isearch Regexp in File Names...  M-s f C-M-s
  Refresh                                    g

  FWIW, these are additional items that I add to `Dir':

  Dired (Filter via Wildcards)...        C-x d
  Dired Marked Files
  Dired Fileset...

  (I add them mainly to advertize/teach using Dired with a set of
  files.  Too few users are aware of it.)


  Menu `Single' would contain (only) the following items:

  Open                                     RET
  Display in Other Window                  C-o
  View (Read-Only)                           v
  Diff                                       =
  Diff with Backup                         M-=
  Display Image                          C-t i
  Display Image Externally               C-t x
  Insert Subdir                              i
  Encrypt                                   :e
  Decrypt                                   :d
  Sign                                      :s
  Verify                                    :v

  The other items currently in `Immediate' would not be in

  `Insert Subdir' is an addition, but it must be active only when
  point is on a subdir line (bug #4701 filed).  This action would
  thus be in both `Dir' and `Single' menus, because it can be an
  action on a subdir (insert it) or on the Dired directory (go to
  an existing subdir part or return from it).

  FWIW, these are additional items that I add to `Single':

  Open in Other Window                     C-o    (non-standard)
  Open in Windows Explorer               M-RET
  Open Associated Windows App            C-RET
  Compare using Ediff                        =    (non-standard)
  Copy to...
  Rename to...                               r
  Upcase                                   M-u
  Downcase                                 M-l
  Capitalize                               M-c
  Delete                                   C-k
  Symlink to...
  Hardlink to...
  Print...                                 M-p
  Compress/Uncompress                        z
  Shell Command...
  Byte Compile                               b
  Change Mode...                           M-m
  Change Group...
  Change Owner

  (Items such as `Copy to' are somewhat redundant wrt the similar
  items in `Multiple', but they are not the same.  Here, they
  always act on the current line's file, even if there are marked
  files.  IOW, they are shortcuts for using a prefix arg with the
  `Multiple' items.)


  No change is needed in the set of items from the current
  content of `Operate'.  But we might want to group items using

  Copy to...                                 C
  Rename to...                               R
  Delete Marked (not Flagged)...             D
  Print...                                   P
  Compress/Uncompress                        Z
  Shell Command...                           !
  Byte Compile                               B
  Load                                       L
  Symlink to (Absolute)...                   S
  Hardlink to...                             H
  Search Files...                            A
  Query Replace...                           Q
  Isearch Files...                   M-s a C-s
  Isearch Regexp Files...          M-s a C-M-s
  Change Timestamp...
  Change Mode...                             M
  Display Image Thumbnails               C-t d
  Add Image Content...                   C-t c
  Add Image Tags...                      C-t t
  Delete Image Tag...                    C-t r

  FWIW, these are additional items that I add to `Multiple':

  Open                                       F
  Open Associated Windows App
  Dired (Marked)
  Copy File Names (to Paste)                 w
  Upcase                                    %u
  Downcase                                  %l
  Delete Flagged                             x
  Symlink to (Relative)...                   Y
  Grep...                                  M-g
  Change Group...                            G
  Change Owner...                            O

  Dired on the marked files is thus in both `Dir' (to advertize
  it) and `Multiple'.  The former is not needed, but I think it

Enjoy.  Discuss or ignore.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]