The content of the mode-line
are stored in the variable mode-line-format
. Emacs
also supports a header line whose content is steered by the variable header-line-format
.
In principle you can use
(setq header-line-format mode-line-format)
(setq-default mode-line-format nil)
to make the format of the header-line
be equal to that of your current mode line and remove the mode-line
.
Edit: If you want to use this setting permanently put
(setq-default header-line-format mode-line-format)
in your init file (thanks to nispio for that suggestion).
Since you also want the minibuffer
to appear at the top, I will re-link @Malabarba's answer to the questionHow to display the content of minibuffer in the middle of the emacs frame? which can be adapted to show the minibuffer at the top. Also, consider @phils answer to the question Is it possible to move the emacs minibuffer to the top of the screen? on the "old" emacs
tag on stackoverflow.
As far as I know, there is no way to directly put the minibuffer at the top. The only approach (which is also used by the above answers) is to use a second frame.