[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bongo-patches] Make `bongo-switch-buffers' prompt for a Bongo buffer wh
From: |
Daniel Brockman |
Subject: |
[bongo-patches] Make `bongo-switch-buffers' prompt for a Bongo buffer when given a prefix argument |
Date: |
Thu, 24 May 2007 13:28:29 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.92 (gnu/linux) |
Make `bongo-switch-buffers' prompt for a Bongo buffer when
given a prefix argument.
diff -rN -u old-bongo/bongo.el new-bongo/bongo.el
--- old-bongo/bongo.el 2007-05-24 13:28:26.000000000 +0200
+++ new-bongo/bongo.el 2007-05-24 13:28:26.000000000 +0200
@@ -4732,6 +4732,13 @@
'bongo-best-backend-for-file
'bongo-backend-for-file)
+(defun bongo-completing-read (&rest args)
+ (if (and (boundp 'ido-mode) ido-mode)
+ ;; XXX: This shouldn't be necessary.
+ (let ((ido-merged-indicator nil))
+ (apply 'ido-completing-read args))
+ (apply 'completing-read args)))
+
(defun bongo-set-backend-for-track (backend &optional point)
"Specify that BACKEND is to be used for playing the track at POINT."
(interactive
@@ -10387,19 +10394,40 @@
(progn (bury-buffer)
(not (eq first-buffer (current-buffer))))))))
-(defun bongo-switch-buffers (&optional other-window)
- "Switch from a Bongo playlist to a Bongo library, or vice versa.
-If prefix argument OTHER-WINDOW is non-nil, display the other buffer
-in another window."
+(defun bongo-buffers ()
+ (let (result)
+ (dolist (buffer (buffer-list) result)
+ (when (bongo-buffer-p buffer)
+ (push buffer result)))))
+
+(defun bongo-switch-to-buffer ()
+ (interactive)
+ (let* ((buffer-name
+ (bongo-completing-read "Switch to Bongo buffer: "
+ (mapcar 'buffer-name (bongo-buffers))))
+ (buffer (get-buffer buffer-name)))
+ (cond (buffer
+ (switch-to-buffer buffer))
+ ((y-or-n-p (format "No buffer matching `%s', create one? "
+ buffer-name))
+ (if (prog1 (y-or-n-p (format "Make `%s' a library buffer? "
+ buffer-name))
+ (switch-to-buffer buffer-name))
+ (bongo-library-mode)
+ (bongo-playlist-mode))))))
+
+(defun bongo-switch-buffers (&optional prompt)
+ "In Bongo, switch from a playlist to a library, or vice versa.
+With prefix argument PROMPT, prompt for the buffer to switch to."
(interactive "P")
- (let* ((buffer (if (bongo-playlist-buffer-p)
- (bongo-library-buffer)
- (bongo-playlist-buffer)))
- (window (get-buffer-window buffer)))
- (if window
- (select-window window)
- (if other-window
- (pop-to-buffer buffer)
+ (if prompt
+ (bongo-switch-to-buffer)
+ (let* ((buffer (if (bongo-playlist-buffer-p)
+ (bongo-library-buffer)
+ (bongo-playlist-buffer)))
+ (window (get-buffer-window buffer)))
+ (if window
+ (select-window window)
(switch-to-buffer buffer)))))
(defun bongo-list-buffers ()
--
Daniel Brockman <address@hidden>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [bongo-patches] Make `bongo-switch-buffers' prompt for a Bongo buffer when given a prefix argument,
Daniel Brockman <=