13

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.

Excellll
  • 12,847
Adobe
  • 3,000

9 Answers9

9

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 ()
       (interactive)
       (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

(fullscreen)

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)
  (interactive)
  (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

4

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.

itsjeyd
  • 178
3

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

(works on Windows only)

gronostaj
  • 58,482
2

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 ()
 (interactive)
 (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:

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

I currently use Emacs version 28.2 on Windows, and a minimal solution is adding the line below to the Emacs configuration at ~/.emacs.d/init.el (different under unix)

(set-frame-parameter nil 'fullscreen 'fullboth)
0

On Debian 13 Trixie and emacs GNU Emacs 30.1

Adding this function make all emacs client instance full screen at startup.

'(default-frame-alist '((fullscreen . maximized)))

Here is my custom-set-varibles section inside ~/.emacs initialize file

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(ansi-color-faces-vector
   [default default default italic underline success warning error])
 '(default-frame-alist '((fullscreen . maximized)))
 '(global-display-line-numbers-mode t)
 '(menu-bar-mode nil)
 '(package-selected-packages '(evil gnu-elpa-keyring-update markdown-mode))
 '(tool-bar-mode nil))

Emacs wiki on full screen

EsmaeelE
  • 123
0

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.

jaybee
  • 166
0

I use the following on Linux:

(defun my-frame-toggle ()
    "Maximize/Restore Emacs frame using 'wmctrl'."
    (interactive)
    (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.

0

I found a funny solution:

emacs -nw

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

Adobe
  • 3,000