emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r101456: Expose tool-bar pixel width


From: Jan D
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r101456: Expose tool-bar pixel width to lisp and use it for speedbar (Bug#7048)
Date: Fri, 17 Sep 2010 11:04:35 +0200
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 101456
committer: Jan D <address@hidden>
branch nick: trunk
timestamp: Fri 2010-09-17 11:04:35 +0200
message:
  Expose tool-bar pixel width to lisp and use it for speedbar (Bug#7048)
  
  * dframe.el (dframe-reposition-frame-emacs): Use tool-bar-pixel-width
  in calculating new frame position.  Add more space between new and
  parent on the left.
  
  * frame.c (Ftool_bar_pixel_width): New function to expose tool
  bar's pixel width to Lisp.
modified:
  lisp/ChangeLog
  lisp/dframe.el
  src/ChangeLog
  src/frame.c
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-09-17 07:58:07 +0000
+++ b/lisp/ChangeLog    2010-09-17 09:04:35 +0000
@@ -1,3 +1,9 @@
+2010-09-17  Stephen Berman  <address@hidden>
+
+       * dframe.el (dframe-reposition-frame-emacs): Use tool-bar-pixel-width
+       in calculating new frame position.  Add more space between new and
+       parent on the left (Bug#7048).
+
 2010-09-17  Michael Albinus  <address@hidden>
 
        * net/tramp-compat.el (tramp-compat-with-temp-message): Make it a

=== modified file 'lisp/dframe.el'
--- a/lisp/dframe.el    2010-01-13 08:35:10 +0000
+++ b/lisp/dframe.el    2010-09-17 09:04:35 +0000
@@ -430,7 +430,8 @@
   (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))
+          (pfw (+ (tool-bar-pixel-width parent-frame)
+                  (frame-pixel-width parent-frame)))
           (pfh (frame-pixel-height parent-frame))
           (nfw (frame-pixel-width new-frame))
           (nfh (frame-pixel-height new-frame))
@@ -459,7 +460,7 @@
                      (- (x-display-pixel-height) (car (cdr pfy)) pfh)
                    (car (cdr pfy)))))
       (cond ((eq location 'right)
-            (setq newleft (+ pfx pfw 5)
+            (setq newleft (+ pfx pfw 10)
                   newtop pfy))
            ((eq location 'left)
             (setq newleft (- pfx 10 nfw)
@@ -471,7 +472,7 @@
                   ;; extra 10 is just dressings for window
                   ;; decorations.
                   (let* ((left-guess (- pfx 10 nfw))
-                         (right-guess (+ pfx pfw 5))
+                         (right-guess (+ pfx pfw 10))
                          (left-margin left-guess)
                          (right-margin (- (x-display-pixel-width)
                                           right-guess 5 nfw)))

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-09-17 07:00:12 +0000
+++ b/src/ChangeLog     2010-09-17 09:04:35 +0000
@@ -1,3 +1,11 @@
+2010-09-17  Stephen Berman  <address@hidden>
+
+       * frame.c (Ftool_bar_pixel_width): New function to expose tool
+       bar's pixel width to Lisp (Bug#7048).
+
+ 2010-09-14  Juanma Barranquero  <address@hidden>
+
+       * cmds.c (syms_of_cmds) <post-self-insert-hook>: Fix typos in docstring.
 2010-09-17  Jan Djärv  <address@hidden>
 
        * gtkutil.c (xg_pack_tool_bar): Call gtk_handle_box_set_handle_position

=== modified file 'src/frame.c'
--- a/src/frame.c       2010-08-08 21:03:45 +0000
+++ b/src/frame.c       2010-09-17 09:04:35 +0000
@@ -2649,6 +2649,28 @@
 #endif
     return make_number (FRAME_COLS (f));
 }
+
+DEFUN ("tool-bar-pixel-width", Ftool_bar_pixel_width,
+       Stool_bar_pixel_width, 0, 1, 0,
+       doc: /* Return width in pixels of FRAME's tool bar.
+The result is greater than zero only when the tool bar is on the left
+or right side of FRAME.  If FRAME is omitted, the selected frame is
+used.  */)
+  (Lisp_Object frame)
+{
+  struct frame *f;
+
+  if (NILP (frame))
+    frame = selected_frame;
+  CHECK_FRAME (frame);
+  f = XFRAME (frame);
+
+#ifdef FRAME_TOOLBAR_WIDTH
+  if (FRAME_WINDOW_P (f))
+    return make_number (FRAME_TOOLBAR_WIDTH (f));
+#endif
+  return 0;
+}
 
 DEFUN ("set-frame-height", Fset_frame_height, Sset_frame_height, 2, 3, 0,
        doc: /* Specify that the frame FRAME has LINES lines.
@@ -4596,6 +4618,7 @@
   defsubr (&Sframe_char_width);
   defsubr (&Sframe_pixel_height);
   defsubr (&Sframe_pixel_width);
+  defsubr (&Stool_bar_pixel_width);
   defsubr (&Sset_frame_height);
   defsubr (&Sset_frame_width);
   defsubr (&Sset_frame_size);


reply via email to

[Prev in Thread] Current Thread [Next in Thread]