You can specify [[frame]] size and position at any time, including at Emacs startup and interactively, incrementally.



== At Emacs Startup ==

Possibilities:

* Use command line options

** '''##-mm##''':  Maximize the first frame.  E.g, use this as the ##Target## of an MS Windows shortcut: ##runemacs -mm##. 

** '''##-geometry##''': Set the first frame's dimensions. E.g., ##emacs -geometry 80x24## for a frame 80 chars wide and 24 chars high.

* Use file '''##~/.Xresources##''' or '''##~/.Xdefaults##''' (X Window on GNU/Linux or UNIX). E.g., ##Emacs*geometry: 80x24## for a frame 80 chars wide and 24 chars high.

* For window manager KDE on GNU/Linux, see KdeMaximized.

* Customize [[option]] '''`initial-frame-alist'''' or '''`default-frame-alist'''' (the latter affects more frames than just the first frame).






== Programmatically (e.g., in your init file) ==

* Maximize:

    (add-hook 'after-init-hook '(lambda () (w32-send-sys-command #xf030)))

* Arbitrary frame size and position: Use functions ##set-frame-height##, ##set-frame-width##, ##set-frame-size##, and ##set-frame-position##.  For example:

    (when window-system (set-frame-size (selected-frame) 80 24))

* Set size parameters of `initial-frame-alist' or `default-frame-alist'. E.g.,

    (add-to-list 'default-frame-alist '(height . 24))
    (add-to-list 'default-frame-alist '(width . 80))









[:ChangeInteractively]
== Both Interactively and Programmatically ==

These libraries let you resize frames either interactively or by program:

[:fit-frame.el]
[:autofit-frame.el]
* <tt>[[fit-frame.el]]</tt> and <tt>[[autofit-frame.el]]</tt> let you shrink-wrap frames to fit their selected [[window]] ([[buffer]]) or all of their windows (buffers). See [[Shrink-Wrapping Frames]].

* <tt>[[frame-cmds.el]]</tt> lets you ''tile'', ''maximize'', or ''restore'' (toggle maximize) frames horizontally or vertically or both. These commands leave room for the Windows task bar and a standalone minibuffer frame, if present.

* <tt>[[frame-cmds.el]]</tt> -- incrementally resize a frame using the arrow keys or mouse wheel.

* <tt>[[doremi-frm.el]]</tt>  -- incrementally resize a frame using the arrow keys or mouse wheel.

* <tt>[[thumb-frm.el]]</tt> -- Commands to "iconify" frames to thumbnail size and restore them.  See FisheyeWithThumbs.

* [[http://marmalade-repo.org/packages/framesize|FrameSize]] -- Functions to changing font-size on a frame.

* [[Multicolumn]] -- Resize frame to fit a number of size-by-side windows, especially useful in conjunction with [[FollowMode]].

----
CategoryFrames CategoryDisplay FrameModes CategoryGlossary
