display-buffer-alist在水平和垂直方向的side window的排布问题

   (setq display-buffer-alist nil)

   (add-to-list 'display-buffer-alist
                 ;; put help/info buffer in a side window;
                 ;; it must be on the right-hand side and in slot 0;
                 ;; the window-width must be 82;
                 ;; the window is not deleted when you call C-x 1.
                 '("^\\*\\(Help\\|helpful .*\\|Apropos\\)\\*"
                   (display-buffer-in-side-window)
                   (side . right)
                   (window-width . 82) ; width of 80 plus 2 for window edges.
                   (window-parameters . (no-delete-other-windows . t))))

    (add-to-list 'display-buffer-alist
                 '("^\\*\\(e?shell\\|compilation\\)\\*"
                   display-buffer-in-side-window
                   (side . bottom)
                   (window-height . 0.25)
                   (window-parameters . (no-delete-other-windows . t))))

设置display-buffer-alist可以获得以下窗口排布,

;; -------------------------------------
;; |                             |  *  |
;; |                             |  h  |
;; |                             |  e  |
;; |         Main Window Area    |  l  |
;; |                             |  p  |
;; |                             |  *  |
;; |                             |     |
;; |_____________________________|_____|
;; |        *shell*                    |
;; |                                   |
;; |___________________________________|

能不能如何设置成下面这种排布?

;; -------------------------------------
;; |                             |  *  |
;; |                             |  h  |
;; |                             |  e  |
;; |         Main Window Area    |  l  |
;; |                             |  p  |
;; |                             |  *  |
;; |                             |     |
;; |_____________________________|     |
;; |        *shell*              |     |
;; |                             |     |
;; |_____________________________|_____|