Location: lg@xxxxxxxxxxxxxx http://arch.xwem.org/2005/
Revision: xwem--main--2.2--patch-14
Archive: lg@xxxxxxxxxxxxxx
Creator: Zajcev Evgeny <lg@xxxxxxxx>
Date: Sat May 14 21:58:38 MSD 2005
Standard-date: 2005-05-14 17:58:38 GMT
Modified-files: lisp/xwem-minibuffer.el
New-patches: lg@xxxxxxxxxxxxxx/xwem--main--2.2--patch-14
Summary: Revert from using XGetGeometry to xwem-minib-cl-xgeom
Keywords: performance, speed, minibuffer
* lisp/xwem-minibuffer.el (xwem-minib-rsz-resize): [fix] Revert back to
use of `xwem-minib-cl-xgeom' instead of XGetGeometry. The thing is
that `xwem-minib-rsz-resize' is executed in post-command-hook,
i.e. after any command including self-insert-command, and XGetGeometry
requires full interaction with server, thus `xwem-minib-rsz-resize'
slows things down.
* added files
{arch}/xwem/xwem--main/xwem--main--2.2/lg@xxxxxxxxxxxxxx/patch-log/patch-14
* modified files
--- orig/lisp/xwem-minibuffer.el
+++ mod/lisp/xwem-minibuffer.el
@@ -668,7 +668,7 @@
(frame-selected-window (xwem-minib-frame xwem-minibuffer))))
(lines (or new-height (+ (face-height 'default (xwem-minib-frame
xwem-minibuffer))
(xwem-minib-rsz-count-window-lines))))
- (mg (XGetGeometry (xwem-dpy) (xwem-cl-xwin (xwem-minib-cl
xwem-minibuffer))))
+ (mg (xwem-minib-cl-xgeom xwem-minibuffer))
(rh (or new-height (+ (X-Geom-height mg) (- lines height)))))
(when (< rh xwem-minib-rsz-saved-height)
(setq rh xwem-minib-rsz-saved-height))
@@ -771,8 +771,10 @@
(when (xwem-cl-selected-p cl)
(xwem-modeline-redraw))
+ ;; XXX this assumes 'modeline face has fixed width font
(let* ((str (xwem-modeline-regenerate))
- (mw (frame-width (xwem-minib-frame xwem-minibuffer))))
+ (mw (/ (gutter-pixel-width 'top (xwem-minib-frame xwem-minibuffer))
+ (face-width 'modeline (xwem-minib-frame xwem-minibuffer)))))
(set-specifier top-gutter (substring str 0 (and (> (length str) mw) mw))
(xwem-minib-frame xwem-minibuffer)))))
|