Changeset - 43a487b5b163
[Not reviewed]
0 2 0
Sergey Pashinin - 11 years ago 2014-07-26 15:23:41
sergey@pashinin.com
Removed rest echo commands
2 files changed with 0 insertions and 25 deletions:
0 comments (0 inline, 0 general)
src/workgroups-commands.el
Show inline comments
 
@@ -715,128 +715,110 @@ the session regardless of whether it's been modified."
 
        (wg-save-session))))
 

	
 
(defun wg-save-session-on-exit (behavior)
 
  "Perform session-saving operations based on BEHAVIOR."
 
  (cl-case behavior
 
    (ask (wg-query-and-save-if-modified))
 
    (save
 
     (if (wg-determine-session-save-file-name)
 
         (wg-save-session)
 
       (wg-query-and-save-if-modified)))))
 

	
 
(defun wg-save-frames ()
 
  "Save opened frames as a session parameter.
 
Exclude `selected-frame' and daemon one (if any).
 
http://stackoverflow.com/questions/21151992/why-emacs-as-daemon-gives-1-more-frame-than-is-opened"
 
  (interactive)
 
  (let ((fl (frame-list)))
 
    (mapc (lambda (frame)
 
            (if (string-equal "initial_terminal" (terminal-name frame))
 
                (delete frame fl))) fl)
 
    (setq fl (delete (selected-frame) fl))
 
    (if (wg-current-session t)
 
          (wg-set-session-parameter (wg-current-session t)
 
                                    'frame-list
 
                                    (mapcar 'wg-frame-to-wconfig fl)))))
 

	
 
(defun wg-find-session-file (filename)
 
  "Load a session visiting FILENAME, creating one if none already exists."
 
  (interactive "FFind session file: ")
 
  (cond ((file-exists-p filename)
 
         (let ((session (wg-read-sexp-from-file filename)))
 
           (unless (wg-session-p session)
 
             (error "%S is not a Workgroups session file." filename))
 
           (setf (wg-session-file-name session) filename)
 
           (wg-reset-internal (wg-unpickel-session-parameters session)))
 
         (wg-awhen (and wg-switch-to-first-workgroup-on-find-session-file
 
                        (wg-workgroup-list))
 
           (if (and wg-open-this-wg
 
                    (member wg-open-this-wg (wg-workgroup-names)))
 
               (wg-switch-to-workgroup wg-open-this-wg)
 
             (if (and wg-load-last-workgroup
 
                      (member (wg-session-parameter (wg-current-session t) 'last-workgroup)
 
                              (wg-workgroup-names)))
 
                 (wg-switch-to-workgroup
 
                  (wg-session-parameter (wg-current-session t) 'last-workgroup))
 
               (wg-switch-to-workgroup (car it)))
 
             ))
 
         (if wg-control-frames
 
             (wg-restore-frames))
 
         (wg-fontified-message (:cmd "Loaded: ") (:file filename)))
 
        (t
 
         (wg-query-and-save-if-modified)
 
         (wg-reset-internal (wg-make-session :file-name filename))
 
         (wg-fontified-message
 
           (:cmd "(New Workgroups session file)")))))
 

	
 
(defun wg-find-file-in-new-workgroup (filename)
 
  "Create a new blank workgroup and find file FILENAME in it."
 
  (interactive "FFind file in new workgroup: ")
 
  (wg-create-workgroup (file-name-nondirectory filename) t)
 
  (find-file filename))
 

	
 
(defun wg-find-file-read-only-in-new-workgroup (filename)
 
  "Create a new workgroup and find file FILENAME read-only in it."
 
  (interactive "FFind file read only in new workgroup: ")
 
  (wg-create-workgroup (file-name-nondirectory filename) t)
 
  (find-file-read-only filename))
 

	
 
(defun wg-dired-in-new-workgroup (dirname &optional switches)
 
  "Create a workgroup and open DIRNAME in dired with SWITCHES."
 
  (interactive (list (read-directory-name "Dired (directory): ")
 
                     current-prefix-arg))
 
  (wg-create-workgroup dirname)
 
  (dired dirname switches))
 

	
 

	
 

	
 
;;; toggle commands
 

	
 
(defun wg-toggle-and-message (symbol)
 
  "Toggle SYMBOL's truthiness and message the new value."
 
  (wg-fontified-message
 
    (:cmd (format "%s: " symbol))
 
    (:msg (format "%s" (wg-toggle symbol)))))
 

	
 
(defun wg-toggle-buffer-list-filtration ()
 
  "Toggle `wg-buffer-list-filtration-on'."
 
  (interactive)
 
  (wg-toggle-and-message 'wg-buffer-list-filtration-on))
 

	
 
(defun wg-toggle-mode-line-display ()
 
  "Toggle `wg-mode-line-display-on'."
 
  (interactive)
 
  (wg-toggle-and-message 'wg-mode-line-display-on))
 

	
 

	
 

	
 
;;; echo commands
 

	
 
(defun wg-echo-current-workgroup ()
 
  "Display the name of the current workgroup in the echo area."
 
  (interactive)
 
  (wg-fontified-message
 
    (:cmd "Current: ")
 
    (:cur (wg-workgroup-name (wg-current-workgroup)))))
 

	
 
(defun wg-echo-all-workgroups ()
 
  "Display the names of all workgroups in the echo area."
 
  (interactive)
 
  (wg-fontified-message
 
    (:cmd "Workgroups: ")
 
    (wg-workgroup-list-display)))
 

	
 

	
 
;;; help commands
 

	
 
(defun wg-help ()
 
  "Just call `apropos-command' on \"^wg-\".
 
There used to be a bunch of help-buffer construction stuff here,
 
including a `wg-help' variable that basically duplicated every
 
command's docstring;  But why, when there's `apropos-command'?"
 
  (interactive)
 
  (apropos-command "^wg-"))
 

	
 

	
 
(require 'workgroups-commands-minibuffer)
 

	
 
(provide 'workgroups-commands)
src/workgroups-keys.el
Show inline comments
 
@@ -37,171 +37,164 @@
 

	
 

	
 
   ;; workgroup switching
 

	
 
   (kbd "C-'")        'wg-switch-to-workgroup
 
   (kbd "'")          'wg-switch-to-workgroup
 
   (kbd "C-v")        'wg-switch-to-workgroup
 
   (kbd "v")          'wg-switch-to-workgroup
 
   (kbd "M-v")        'wg-switch-to-workgroup-other-frame
 
   (kbd "C-j")        'wg-switch-to-workgroup-at-index
 
   (kbd "j")          'wg-switch-to-workgroup-at-index
 
   (kbd "0")          'wg-switch-to-workgroup-at-index-0
 
   (kbd "1")          'wg-switch-to-workgroup-at-index-1
 
   (kbd "2")          'wg-switch-to-workgroup-at-index-2
 
   (kbd "3")          'wg-switch-to-workgroup-at-index-3
 
   (kbd "4")          'wg-switch-to-workgroup-at-index-4
 
   (kbd "5")          'wg-switch-to-workgroup-at-index-5
 
   (kbd "6")          'wg-switch-to-workgroup-at-index-6
 
   (kbd "7")          'wg-switch-to-workgroup-at-index-7
 
   (kbd "8")          'wg-switch-to-workgroup-at-index-8
 
   (kbd "9")          'wg-switch-to-workgroup-at-index-9
 
   (kbd "C-p")        'wg-switch-to-workgroup-left
 
   (kbd "p")          'wg-switch-to-workgroup-left
 
   (kbd "C-n")        'wg-switch-to-workgroup-right
 
   (kbd "n")          'wg-switch-to-workgroup-right
 
   (kbd "M-p")        'wg-switch-to-workgroup-left-other-frame
 
   (kbd "M-n")        'wg-switch-to-workgroup-right-other-frame
 
   (kbd "C-a")        'wg-switch-to-previous-workgroup
 
   (kbd "a")          'wg-switch-to-previous-workgroup
 

	
 

	
 
   ;; wconfig undo/redo
 

	
 
   (kbd "<left>")     'wg-undo-wconfig-change
 
   (kbd "<right>")    'wg-redo-wconfig-change
 
   (kbd "[")          'wg-undo-wconfig-change
 
   (kbd "]")          'wg-redo-wconfig-change
 
   (kbd "{")          'wg-undo-once-all-workgroups
 
   (kbd "}")          'wg-redo-once-all-workgroups
 

	
 

	
 
   ;; wconfig save/restore
 

	
 
   ;; FIXME: come up with better keys for these:
 
   (kbd "C-d C-s")    'wg-save-wconfig
 
   (kbd "C-d C-'")    'wg-restore-saved-wconfig
 
   (kbd "C-d C-k")    'wg-kill-saved-wconfig
 

	
 

	
 
   ;; buffer-list
 

	
 
   (kbd "+")          'wg-associate-buffer-with-workgroup
 
   (kbd "~")          'wg-associate-visible-buffers-with-workgroup
 
   (kbd "-")          'wg-dissociate-buffer-from-workgroup
 
   (kbd "=")          'wg-cycle-buffer-association-type
 
   (kbd "*")          'wg-restore-workgroup-associated-buffers
 
   (kbd "_")          'wg-dissociate-weakly-associated-buffers
 
   (kbd "(")          'wg-next-buffer
 
   (kbd ")")          'wg-previous-buffer
 

	
 

	
 
   ;; workgroup movement
 

	
 
   (kbd "C-x")        'wg-swap-workgroups
 
   (kbd "C-,")        'wg-offset-workgroup-left
 
   (kbd "C-.")        'wg-offset-workgroup-right
 

	
 

	
 
   ;; file and buffer
 

	
 
   (kbd "C-s")        'wg-save-session
 
   (kbd "C-w")        'wg-write-session-file
 
   (kbd "C-f")        'wg-find-session-file
 
   (kbd "F")          'wg-find-file-in-new-workgroup
 
   (kbd "M-F")        'wg-find-file-read-only-in-new-workgroup
 
   (kbd "d")          'wg-dired-in-new-workgroup
 
   (kbd "C-b")        'wg-switch-to-buffer
 
   (kbd "b")          'wg-switch-to-buffer
 

	
 

	
 
   ;; window moving and frame reversal
 

	
 
   (kbd "<")          'wg-backward-transpose-window
 
   (kbd ">")          'wg-transpose-window
 
   (kbd "|")          'wg-reverse-frame-horizontally
 
   (kbd "\\")         'wg-reverse-frame-vertically
 
   (kbd "/")          'wg-reverse-frame-horizontally-and-vertically
 

	
 

	
 
   ;; toggling
 

	
 
   (kbd "C-t C-m")    'wg-toggle-mode-line-display
 
   (kbd "C-t C-b")    'wg-toggle-buffer-list-filtration
 
   (kbd "C-t C-d")    'wg-toggle-window-dedicated-p
 

	
 

	
 
   ;; echoing
 

	
 
   (kbd "S-C-e")      'wg-echo-current-workgroup
 
   (kbd "E")          'wg-echo-current-workgroup
 
   (kbd "C-e")        'wg-echo-all-workgroups
 
   (kbd "e")          'wg-echo-all-workgroups
 

	
 
   ;; misc
 

	
 
   (kbd "A")          'wg-rename-workgroup
 
   (kbd "!")          'wg-reset
 
   (kbd "?")          'wg-help
 

	
 
   )
 
  "The keymap that sits on `wg-prefix-key'.")
 

	
 
(defun wg-make-workgroups-mode-map ()
 
  "Return Workgroups' minor-mode-map.
 
This map includes `wg-prefixed-map' on `wg-prefix-key', as well
 
as Workgroups' command remappings."
 
  (let ((map (make-sparse-keymap)))
 
    (define-key map wg-prefix-key
 
      wg-prefixed-map)
 
    (when wg-remap-switch-to-buffer
 
      (define-key map [remap switch-to-buffer]
 
        'wg-switch-to-buffer))
 
    (when wg-remap-switch-to-buffer-other-window
 
      (define-key map [remap switch-to-buffer-other-window]
 
        'wg-switch-to-buffer-other-window))
 
    (when wg-remap-switch-to-buffer-other-frame
 
      (define-key map [remap switch-to-buffer-other-frame]
 
        'wg-switch-to-buffer-other-frame))
 
    (when wg-remap-next-buffer
 
      (define-key map [remap next-buffer]
 
        'wg-next-buffer))
 
    (when wg-remap-previous-buffer
 
      (define-key map [remap previous-buffer]
 
        'wg-previous-buffer))
 
    (when wg-remap-kill-buffer
 
      (define-key map [remap kill-buffer]
 
        'wg-kill-buffer))
 
    (when wg-remap-display-buffer
 
      (define-key map [remap display-buffer]
 
        'wg-display-buffer))
 
    (when wg-remap-insert-buffer
 
      (define-key map [remap insert-buffer]
 
        'wg-insert-buffer))
 
    (cond ((eq wg-remap-bury-buffer 'banish)
 
           (define-key map [remap bury-buffer]
 
             'wg-banish-buffer))
 
          (wg-remap-bury-buffer
 
           (define-key map [remap bury-buffer]
 
             'wg-bury-buffer)))
 
    (setq workgroups-mode-map map)))
 

	
 
(defvar wg-minibuffer-mode-map
 
  (wg-fill-keymap
 
   (make-sparse-keymap)
 
   (kbd "C-b")       'wg-backward-char-or-next-buffer-list-filter
 
   (kbd "C-c n")     'wg-next-buffer-list-filter
 
   (kbd "C-c C-n")   'wg-next-buffer-list-filter
 
   (kbd "C-S-b")     'wg-backward-char-or-previous-buffer-list-filter
 
   (kbd "C-c p")     'wg-previous-buffer-list-filter
 
   (kbd "C-c C-p")   'wg-previous-buffer-list-filter
 
   (kbd "C-c a")     'wg-associate-first-match
 
   (kbd "C-c C-a")   'wg-associate-first-match
 
   (kbd "C-c d")     'wg-dissociate-first-match
 
   (kbd "C-c C-d")   'wg-dissociate-first-match
 
   (kbd "C-c _")     'wg-minibuffer-mode-dissociate-weakly-associated-buffers
 
   )
 
  "`wg-minibuffer-mode's keymap.")
 

	
 

	
 
(provide 'workgroups-keys)
 
;;; workgroups-keys.el ends here
0 comments (0 inline, 0 general)