doremi-cmd

Homepage: https://www.emacswiki.org/emacs/download/doremi-cmd.el

Author: Drew Adams

Updated:

Summary

Miscellaneous Do Re Mi commands

Commentary

Miscellaneous Do Re Mi commands.

 During Do Re Mi commands, you can press and hold an up/down arrow
 key, or rotate the mouse wheel, to change face attributes or frame
 parameters.  For more info, see file `doremi.el' and the
 doc-string for function `doremi' in particular.

 NOTE: Functions and variables in this library have the prefix
       `doremi-'.  In order to more easily distinguish commands
       that iterate in Do Re Mi fashion from other functions in the
       library, the iterative commands are suffixed with `+'.

 If you also use library `crosshairs.el' (which requires libraries
 `hl-line.el', `hl-line+.el', `vline.el', and `col-highlight.el'),
 then commands `doremi-marks+' and `doremi-global-marks+' use
 crosshairs to highlight the mark positions when you visit them.

 Note on saving changes made with the commands defined here:

   Some of the commands defined here change face and frame
   properties. You can save any changes you have made, by using
   Customize. To visit a Customize buffer of all unsaved changes
   you have made, use command `customize-customized'.

   Frame parameter changes, such as background color, can be saved
   for future use by all frames or all frames of a certain
   kind. For that, you must change the frame parameters of the
   correponding frame-alist variable.

   There is no single variable for saving changes to parameters of
   the current frame. Instead, there are several different
   frame-alist variables, which you can use to define different
   kinds of frames. These include: `default-frame-alist',
   `initial-frame-alist', and `special-display-frame-alist'. The
   complete list of such frame alist variables is available using
   function `frame-alist-var-names', defined in library
   `frame-cmds.el'.

   Example: Suppose you change the background color of a frame and
   want to make that the default background color for new frames in
   the future. You will need to update the value of variable
   `default-frame-alist' to use the `background-color' parameter
   setting of the changed frame.

   You can easily copy one or all parameter values from any given
   frame to any frame alist (such as `default-frame-alist'), by
   using the commands `set-frame-alist-parameter-from-frame' and
   `set-all-frame-alist-parameters-from-frame'. Those commands are
   defined in library `frame-cmds.el'.


 User options defined here:

   `doremi-color-themes', `doremi-custom-themes' (Emacs 24+),
   `doremi-custom-themes-accumulate-flag' (Emacs 24+),
   `doremi-themes-update-flag'.

 Commands defined here:

   `doremi-bookmarks+', `doremi-buffers+', `doremi-color-themes+',
   `doremi-custom-themes+' (Emacs 24+), `doremi-global-marks+',
   `doremi-marks+', `doremi-window-height+', `doremi-windows+'
   (Emacs 22+), `doremi-window-width+'.

 Non-interactive functions defined here:

   `doremi--pop-to-buffer-same-window', `doremi-buffers-1',
   `doremi-color-themes-1', `doremi-custom-themes-1' (Emacs 24+),
   `doremi-global-marks-1', `doremi-marks-1', `doremi-windows-1'.


 Add this to your initialization file (~/.emacs or ~/_emacs):

   (require 'doremi-cmd)


 See also these related Do Re Mi libraries:

   `doremi-frm.el' - Do Re Mi commands to adjust frame properties.

   `doremi-mac.el' - Macro to define Do Re Mi commands and
                     automatically add them to a Do Re Mi menu.


 Suggested bindings:

  (defalias 'doremi-prefix (make-sparse-keymap))
  (defvar doremi-map (symbol-function 'doremi-prefix)
    "Keymap for Do Re Mi commands.")
  (define-key global-map "\C-xt" 'doremi-prefix)
  (define-key doremi-map "b" 'doremi-buffers+)
  (define-key doremi-map "g" 'doremi-global-marks+)
  (define-key doremi-map "m" 'doremi-marks+)
  (define-key doremi-map "r" 'doremi-bookmarks+) ; reading books?
  (define-key doremi-map "s" 'doremi-custom-themes+) ; custom schemes
  (define-key doremi-map "w" 'doremi-window-height+)

 Customize the menu. Uncomment this to try it out.

  (defvar menu-bar-doremi-menu (make-sparse-keymap "Do Re Mi"))
  (define-key global-map [menu-bar doremi]
    (cons "Do Re Mi" menu-bar-doremi-menu))
  (define-key menu-bar-doremi-menu [doremi-custom-themes]
    '(menu-item "Custom Themes" . doremi-custom-themes+
      :help "Successively cycle among custom themes: `up'/`down'"))
  (define-key menu-bar-doremi-menu [doremi-global-marks]
    '(menu-item "Global Marks" . doremi-global-marks+
      :help "Successively cycle among global marks: `up'/`down'"))
  (define-key menu-bar-doremi-menu [doremi-marks]
    '(menu-item "Marks in Buffer" . doremi-marks+
      :help "Successively cycle among marks in this buffer: `up'/`down'"))
  (define-key menu-bar-doremi-menu [doremi-bookmarks]
    '(menu-item "Bookmarks" . doremi-bookmarks+
      :help "Successively cycle among bookmarks: `up'/`down'"))
  (define-key menu-bar-doremi-menu [doremi-buffers]
    '(menu-item "Buffers" . doremi-buffers+
      :help "Successively cycle among buffers: `up'/`down'"))
  (define-key menu-bar-doremi-menu [doremi-windows]
    '(menu-item "Windows" doremi-windows+
      :help "Successively cycle among windows: `up'/`down'"
      :enable (not (one-window-p))))
  (define-key menu-bar-doremi-menu [doremi-window-height]
    '(menu-item "Window Size" doremi-window-height+
      :help "Resize window incrementally: `up'/`down'/`left'/`right'"
      :enable (not (one-window-p))))

Dependencies