title: Emacs: Get new-frame and emacsclient -c to use set frame size?
body: <p>I am new to StackOverflow and I have a question about an issue that has been virtually the only thing to irk me in my quest to master Emacs.</p>
  
  <p>I configured my <code>.emacs</code> file to set the default frame size for Emacs to 70 rows and 80 columns like so:</p>
  
  <pre><code>(add-to-list 'default-frame-alist '(left . 0))
  (add-to-list 'default-frame-alist '(top . 0))
  (add-to-list 'default-frame-alist '(height . 70))
  (add-to-list 'default-frame-alist '(width . 80))
  </code></pre>
  
  <p>This works fine when starting Emacs, the problem is that when I launch a new frame using <code>new-frame</code> or <code>emacsclient -c</code> these settings are not respected. Is there a way to force <code>emacsclient</code> and <code>new-frame</code> to read the settings in the <code>.emacs</code> file when they are executed?</p>
  
  <p><strong>Edit:</strong></p>
  
  <p>Here is my <code>.emacs</code> file:</p>
  
  <pre><code>;;This setting is meant to force emacs to read size settings before make-frame.
  
  (add-hook 'before-make-frame-hook
        #'(lambda ()
            (add-to-list 'default-frame-alist '(left   . 0))
            (add-to-list 'default-frame-alist '(top    . 0))
            (add-to-list 'default-frame-alist '(height . 70))
            (add-to-list 'default-frame-alist '(width  . 80))))
  
  ;;disable annoying welcome screen.
  (setq inhibit-splash-screen t)
  (setq inferior-lisp-program "/usr/bin/abcl")
  (add-to-list 'load-path "/usr/share/emacs/site-lisp/slime/")
  (require 'slime)
  (slime-setup)
  
  (add-to-list 'auto-mode-alist '("\\.lisp$" . lisp-mode))
  (add-to-list 'auto-mode-alist '("\\.cl$" . lisp-mode))
  (add-to-list 'auto-mode-alist '("\\.asd$" . lisp-mode))
  (require 'slime)
  (slime-setup)
  (eval-after-load "slime"
   '(progn
     (setq slime-complete-symbol*-fancy t
        slime-complete-symbol-function 'slime-fuzzy-complete-symbol
        slime-when-complete-filename-expand t
        slime-truncate-lines nil
        slime-autodoc-use-multiline-p t)
  (slime-setup '(slime-fancy slime-asdf))
  (define-key slime-repl-mode-map (kbd "C-c ;")
    'slime-insert-balanced-comments)
  (define-key slime-repl-mode-map (kbd "C-c M-;")
    'slime-remove-balanced-comments)
  (define-key slime-mode-map (kbd "C-c ;")
    'slime-insert-balanced-comments)
  (define-key slime-mode-map (kbd "C-c M-;")
    'slime-remove-balanced-comments)
  (define-key slime-mode-map (kbd "RET") 'newline-and-indent)
  (define-key slime-mode-map (kbd "C-j") 'newline)))
  
  (add-to-list 'default-frame-alist '(left . 0))
  (add-to-list 'default-frame-alist '(top . 0))
  (add-to-list 'default-frame-alist '(height . 70))
  (add-to-list 'default-frame-alist '(width . 80))
  
  (normal-erase-is-backspace-mode 0)
  (tool-bar-mode -1) ;;method for disabling changed in 24. can not nil, most negative
  (scroll-bar-mode -1)
  
  ;;for loading cedet.
  (load-file "/usr/share/emacs/site-lisp/cedet/common/cedet.el")
  </code></pre>