[clfswm-cvs] r150 - in clfswm: . src
pbrochard at common-lisp.net
pbrochard at common-lisp.net
Sat Jun 28 20:08:29 UTC 2008
Author: pbrochard
Date: Sat Jun 28 16:08:28 2008
New Revision: 150
Modified:
clfswm/ChangeLog
clfswm/TODO
clfswm/src/clfswm-info.lisp
clfswm/src/config.lisp
clfswm/src/xlib-util.lisp
Log:
Compress motion events in event loop
Modified: clfswm/ChangeLog
==============================================================================
--- clfswm/ChangeLog (original)
+++ clfswm/ChangeLog Sat Jun 28 16:08:28 2008
@@ -1,3 +1,15 @@
+2008-06-28 Philippe Brochard <pbrochard at common-lisp.net>
+
+ * src/xlib-util.lisp (move-window, resize-window): Compress motion
+ events.
+
+ * src/clfswm.lisp (handle-motion-notify): Compress motion events.
+
+ * src/clfswm-second-mode.lisp (sm-handle-motion-notify): Compress
+ motion events.
+
+ * src/clfswm-info.lisp (info-mode): Compress motion events.
+
2008-06-21 Philippe Brochard <pbrochard at common-lisp.net>
* src/clfswm-internal.lisp (show-all-children): Compute geometry
Modified: clfswm/TODO
==============================================================================
--- clfswm/TODO (original)
+++ clfswm/TODO Sat Jun 28 16:08:28 2008
@@ -7,10 +7,6 @@
===============
Should handle these soon.
-- Raise Order when tile space layout
-
-- Use conpressed motion events for clisp. [Philippe]
-
- Show config -> list and display documentation for all tweakable global variables. [Philippe]
- A Gimp layout example (a main window and all others on the left) [Philippe]
Modified: clfswm/src/clfswm-info.lisp
==============================================================================
--- clfswm/src/clfswm-info.lisp (original)
+++ clfswm/src/clfswm-info.lisp Sat Jun 28 16:08:28 2008
@@ -212,8 +212,7 @@
(funcall-key-from-code *info-keys* code state info))
(handle-motion-notify (&rest event-slots &key root-x root-y &allow-other-keys)
(declare (ignore event-slots))
- (unless (xlib:event-case (*display* :discard-p nil :peek-p t :timeout 0)
- (:motion-notify () t))
+ (unless (compress-motion-notify)
(funcall-button-from-code *info-mouse* 'motion 0 window root-x root-y *fun-press* (list info))))
(handle-button-press (&rest event-slots &key window root-x root-y code state &allow-other-keys)
(declare (ignore event-slots))
Modified: clfswm/src/config.lisp
==============================================================================
--- clfswm/src/config.lisp (original)
+++ clfswm/src/config.lisp Sat Jun 28 16:08:28 2008
@@ -32,7 +32,7 @@
;;; CONFIG - Compress motion notify ?
-(defparameter *have-to-compress-notify* nil
+(defparameter *have-to-compress-notify* t
"This variable may be useful to speed up some slow version of CLX.
It is particulary useful with CLISP/MIT-CLX.")
Modified: clfswm/src/xlib-util.lisp
==============================================================================
--- clfswm/src/xlib-util.lisp (original)
+++ clfswm/src/xlib-util.lisp Sat Jun 28 16:08:28 2008
@@ -490,10 +490,11 @@
(pointer-grabbed-p (xgrab-pointer-p)))
(labels ((motion-notify (&rest event-slots &key root-x root-y &allow-other-keys)
(declare (ignore event-slots))
- (setf (xlib:drawable-x window) (+ root-x dx)
- (xlib:drawable-y window) (+ root-y dy))
- (when additional-fn
- (apply additional-fn additional-arg)))
+ (unless (compress-motion-notify)
+ (setf (xlib:drawable-x window) (+ root-x dx)
+ (xlib:drawable-y window) (+ root-y dy))
+ (when additional-fn
+ (apply additional-fn additional-arg))))
(handle-event (&rest event-slots &key event-key &allow-other-keys)
(case event-key
(:motion-notify (apply #'motion-notify event-slots))
@@ -532,10 +533,11 @@
(max-height (or (and hints (xlib:wm-size-hints-max-height hints)) most-positive-fixnum)))
(labels ((motion-notify (&rest event-slots &key root-x root-y &allow-other-keys)
(declare (ignore event-slots))
- (setf (xlib:drawable-width window) (min (max (+ orig-width (- root-x orig-x)) 10 min-width) max-width)
- (xlib:drawable-height window) (min (max (+ orig-height (- root-y orig-y)) 10 min-height) max-height))
- (when additional-fn
- (apply additional-fn additional-arg)))
+ (unless (compress-motion-notify)
+ (setf (xlib:drawable-width window) (min (max (+ orig-width (- root-x orig-x)) 10 min-width) max-width)
+ (xlib:drawable-height window) (min (max (+ orig-height (- root-y orig-y)) 10 min-height) max-height))
+ (when additional-fn
+ (apply additional-fn additional-arg))))
(handle-event (&rest event-slots &key event-key &allow-other-keys)
(case event-key
(:motion-notify (apply #'motion-notify event-slots))
More information about the clfswm-cvs
mailing list