I am trying to remove all window manager decorations from emacs. This works well using:

(set-frame-parameter nil 'undecorated t)

But now what I want to have is a one line (global) header line (which spans across the entire frame) which acts like a title bar. Where I can drag the frame and resize it and so on.

(set-frame-parameter nil 'drag-with-header-line t)

Works to make the header line draggable. But I so far was only able to get a separate header line for each window. But I want one global one. Also I did not find out a way to resize the frame.

Any way to do this?

2 Answers 2


As far as I know, a header-line, like a mode-line, is specific to a particular buffer, which means a window showing that buffer.

So I believe the answer is that you can't do what you want, without having just one window in the frame.


I don't know how to make a titlebar that works as you want, but you can drag the window around by clicking anywhere on it and holding down the Super key (this works on Linux). As for resizing the frame, you need to set the frame parameters drag-internal-border and internal-border-width, for instance

(setq default-frame-alist
      (append ;                        Note: if there are any conflicting settings in ‘default-frame-alist’, it is the one that comes first that gets applied.
       '((undecorated . t)
         (drag-internal-border . t)
         (internal-border-width . 4))

Or, interactively, you can use the commands set-frame-height and set-frame-width (assuming you're on Emacs 27).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.