I want emacs to be truly maximized on start up.

There are solutions to the problem that just make the emacs window width of the screen. That's not enough for me. I want the emacs window to be docked to the right upper corner of the screen, so that when I press there with a mouse, I will close emacs, not Firefox or Krusader or whatever is maximized in the background.

I tried to do it with Kwin - but no luck.

P.S. I'm using Kubuntu, and emacs is quite fresh one 23.2 or something like that.

  • @user maximized or full screen - which do you want? Your second paragraph is a bit vague. Jun 8 '11 at 20:08
  • There are some window manager dependent solutions. Which WM are you using? In Fluxbox, I use the ~/.fluxbox/apps file to set maximized preference for specific applications. Mar 29 '12 at 15:31
  • I'm using KWM (it's KDE's default one). It has option "maximised" - but emacs window is not truely maximized: if You'll press "x" at the top right corner with a mouse - You'll close something else - not emacs.
    – Adobe
    Mar 29 '12 at 15:45

I've taken this from somewhere on emacswiki, some time ago. Note that I no longer use it, as I've switched to dwm to have everything fullscreen, but it used to work.

(defun fullscreen ()
       (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
                 '(2 "_NET_WM_STATE_FULLSCREEN" 0)))

If you want it to run on startup, you should be able to add


to your .emacs

EDIT: Rereading your question, I think this is not what you want. This will go really fullscreen, not maximized: you will not have any close button.

This one should do:

(defun fullscreen (&optional f)
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
             '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
             '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0)))

Now it's directly from http://www.emacswiki.org/emacs/FullScreen


Here are two non-Lisp ways to achieve the same:

  1. Alias your emacs command to emacs -fs. Add this line of code to your .bashrc file in your home directory:

    alias emacs='emacs -fs'

    Personally, I don't like this approach because I wouldn't want Emacs to start up in full screen all the time and would like some control.

  2. My solution: In Ubuntu, you can assign a keyboard shortcut to 'full-screen' any window. This seems to be the most convenient and simple option. Besides, it has the advantage that the same shortcut also applies to all your applications.

  • +1 There's also -mm (short for --maximized) which will "maximize the first frame". The effects of using this option are a little less "drastic" than the -fs option (Emacs title bar and OS panels stay visible).
    – itsjeyd
    Aug 13 '14 at 8:52

Put (w32-send-sys-command ?\xf030) on your .emacs file. I think it solves your problem.

(works on Windows only)

  • That's cool, only though I'm working in linux. But still -- sometimes I have to work in windows too. Thanks.
    – Adobe
    May 27 '13 at 3:53
  • I forgot to mention. This solution is only for Windows. May 27 '13 at 7:45
  • Yep, I see the w32 thing.
    – Adobe
    May 27 '13 at 8:54

If you would like to toggle fullscreen in emacs with the F11 key, add the following to .emacs:

;; the following should give fullscreen mode when F11 is depressed
(defun fullscreen ()
 (set-frame-parameter nil 'fullscreen
              (if (frame-parameter nil 'fullscreen) nil 'fullboth))

If you want the fullscreen emacs to be very minimal (no tool bar, scroll bar, or menu bar, also add:

  (if (fboundp 'tool-bar-mode) (tool-bar-mode -1))  ;; no toolbar
  (menu-bar-mode -1) ;;no menubar
  (scroll-bar-mode -1) ;; no scroll bar

I think emacs will respect gconf settings, so you could set /apps/emacs/maximize, but don't know if that will help on Kubuntu -- worth a try.


I use the following on Linux:

(defun my-frame-toggle ()
    "Maximize/Restore Emacs frame using 'wmctrl'."
    (shell-command "wmctrl -r :ACTIVE: -btoggle,maximized_vert,maximized_horz"))

and then bind it to a key:

(global-set-key [(control f4)] 'my-frame-toggle)

If you want to start out maximized, you can just add a call to my-frame-toggle to the end of your .emacs file.

  • When I write your code, onto my .emacs file. It shows parser error. Aug 22 '14 at 13:40

I found a funny solution:

emacs -nw

starts emacs in a console - and you can maximize console itself!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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