diff --git a/src/workgroups2.el b/src/workgroups2.el index a71f775255d9a93cbab7f0d190e1ef1cdca0403d..ab11b8b6350ca0075aaf6b1fb9e4b09dac7db65d 100644 --- a/src/workgroups2.el +++ b/src/workgroups2.el @@ -3760,6 +3760,15 @@ NOERROR means fail silently." (ecb-activate))) ;;(ecb-last-window-config-before-deactivation ;; (wg-workgroup-parameter (wg-current-workgroup t) 'ecb-win-config nil))) + + ;; `sr-speedbar' + ;; if *SPEEDBAR* buffer is visible - set some variables + (let* ((buffers (mapcar 'window-buffer (window-list))) + (buffer-names (mapcar 'buffer-name buffers))) + (when (member sr-speedbar-buffer-name buffer-names) + (setq sr-speedbar-window (get-buffer-window sr-speedbar-buffer-name)))) + + ;; Finally (if wg-mess-with-buffer-list (fset 'buffer-list wg-buffer-list-function)) (wg-fontified-message (:cmd "Switched: ") (wg-workgroup-name (wg-current-workgroup t))) @@ -4591,6 +4600,11 @@ ARG is anything else, turn on `workgroups-mode'." (wg-add-or-remove-workgroups-hooks nil) (wg-change-modeline) + ;; some sr-speedbar hooks can harm + (when (featurep 'sr-speedbar) + (ad-disable-advice 'delete-other-windows 'around 'sr-speedbar-delete-other-window-advice) + (ad-disable-advice 'delete-window 'before 'sr-speedbar-delete-window-advice)) + ;; Load session (when (and wg-session-load-on-start (file-exists-p wg-session-file))