(terminal-init-linux): Load t-mouse.
[bpt/emacs.git] / lisp / dframe.el
index 0d320c2..2086347 100644 (file)
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,9 +22,7 @@
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 ;;
@@ -419,22 +417,24 @@ LOCATION can be one of 'random, 'left, 'right, 'left-right, or 'top-bottom."
       (dframe-reposition-frame-xemacs new-frame parent-frame location)
     (dframe-reposition-frame-emacs new-frame parent-frame location)))
 
+;; Not defined in builds without X, but behind window-system test.
+(declare-function x-display-pixel-width "xfns.c" (&optional terminal))
+(declare-function x-display-pixel-height "xfns.c" (&optional terminal))
+
 (defun dframe-reposition-frame-emacs (new-frame parent-frame location)
   "Move NEW-FRAME to be relative to PARENT-FRAME.
 LOCATION can be one of 'random, 'left-right, 'top-bottom, or
 a cons cell indicationg a position of the form (LEFT . TOP)."
-  (let* ((pfx (dframe-frame-parameter parent-frame 'left))
-        (pfy (dframe-frame-parameter parent-frame 'top))
-        (pfw (frame-pixel-width parent-frame))
-        (pfh (frame-pixel-height parent-frame))
-        (nfw (frame-pixel-width new-frame))
-        (nfh (frame-pixel-height new-frame))
-        newleft newtop
-        )
-    ;; Position dframe.
-    (if (or (not window-system) (eq window-system 'pc))
-       ;; Do no positioning if not on a windowing system,
-       nil
+  ;; Position dframe.
+  ;; Do no positioning if not on a windowing system,
+  (unless (or (not window-system) (eq window-system 'pc))
+    (let* ((pfx (dframe-frame-parameter parent-frame 'left))
+          (pfy (dframe-frame-parameter parent-frame 'top))
+          (pfw (frame-pixel-width parent-frame))
+          (pfh (frame-pixel-height parent-frame))
+          (nfw (frame-pixel-width new-frame))
+          (nfh (frame-pixel-height new-frame))
+          newleft newtop)
       ;; Rebuild pfx,pfy to be absolute positions.
       (setq pfx (if (not (consp pfx))
                    pfx
@@ -457,8 +457,7 @@ a cons cell indicationg a position of the form (LEFT . TOP)."
                      ;; A - means distance from the right edge
                      ;; of the display, or DW - pfx - framewidth
                      (- (x-display-pixel-height) (car (cdr pfy)) pfh)
-                   (car (cdr pfy))))
-           )
+                   (car (cdr pfy)))))
       (cond ((eq location 'right)
             (setq newleft (+ pfx pfw 5)
                   newtop pfy))
@@ -481,8 +480,7 @@ a cons cell indicationg a position of the form (LEFT . TOP)."
                           ;; otherwise choose side we overlap less
                           ((> left-margin right-margin) 0)
                           (t (- (x-display-pixel-width) nfw 5))))
-                  newtop pfy
-                  ))
+                  newtop pfy))
            ((eq location 'top-bottom)
             (setq newleft pfx
                   newtop
@@ -496,15 +494,14 @@ a cons cell indicationg a position of the form (LEFT . TOP)."
                           ((>= bottom-margin 0) bottom-guess)
                           ;; Choose a side to overlap the least.
                           ((> top-margin bottom-margin) 0)
-                          (t (- (x-display-pixel-height) nfh 5)))))
-            )
+                          (t (- (x-display-pixel-height) nfh 5))))))
            ((consp location)
             (setq newleft (or (car location) 0)
                   newtop (or (cdr location) 0)))
            (t nil))
       (modify-frame-parameters new-frame
-       (list (cons 'left newleft)
-            (cons 'top newtop))))))
+                              (list (cons 'left newleft)
+                                    (cons 'top newtop))))))
 
 (defun dframe-reposition-frame-xemacs (new-frame parent-frame location)
   "Move NEW-FRAME to be relative to PARENT-FRAME.