xwem-devel
[Top] [All Lists]

Summary for xlib--main--2.1--patch-6

From: Zajcev Evgeny <lg@xxxxxxxx>
Subject: Summary for xlib--main--2.1--patch-6
Date: Fri, 4 Feb 2005 02:52:31 +0300 (MSK)
Location: lg@xxxxxxxxxxxxxx http://arch.xwem.org/2005/

Revision: xlib--main--2.1--patch-6
Archive: lg@xxxxxxxxxxxxxx
Creator: Zajcev Evgeny <lg@xxxxxxxx>
Date: Fri Feb  4 02:52:26 MSK 2005
Standard-date: 2005-02-03 23:52:26 GMT
Modified-files: lisp/xlib-xc.el lisp/xlib-xr.el
New-patches: dev@xxxxxxxxxxxxxxxx/xlib--dev--2.1--patch-2
    lg@xxxxxxxxxxxxxx/xlib--main--2.1--patch-6
Summary: merge from ckent, X Event define/declare addons
Keywords: merge, ckent

* lisp/xlib-xr.el (X-Event-define): [addon] DESCR splited to EV-NAME,
  EV-MSG and WIN-IDX.  New parameter EVENT-WIN-IDX added.

* lisp/xlib-xr.el (X-Event-declare): [addon] Ditto.

* added files

    {arch}/xlib/xlib--dev/xlib--dev--2.1/dev@xxxxxxxxxxxxxxxx/patch-log/patch-2
    {arch}/xlib/xlib--main/xlib--main--2.1/lg@xxxxxxxxxxxxxx/patch-log/patch-6

* modified files

--- orig/lisp/xlib-xc.el
+++ mod/lisp/xlib-xc.el
@@ -351,23 +351,6 @@
   ;; increase request sequence number
   (incf (X-Dpy-rseq-id xdpy)))
 
-;;; Event dispatcher
-(defun X-Dpy-default-events-dispatcher (xdpy win xev)
-  "Default events  dispatcher."
-  (X-Dpy-log xdpy 'x-event "Get event: %S, for win: %S" '(X-Event-name xev)
-            '(if (X-Win-p win) (X-Win-id win) win))
-
-  (when (X-Win-p win)
-    ;; First run display handlers
-    (when (X-Dpy-event-handlers xdpy)
-      (X-Dpy-EventHandler-runall xdpy xev))
-
-    ;; Then run WIN specific handlers
-    (when (X-Win-event-handlers win)
-      ;; WIN has its own event handlers
-      (X-Win-EventHandler-runall win xev))
-    ))
-
 ;;; Sending section
 (defmacro X-Force-char-num (maybechar)
   "Force MAYBECHAR to be a number for XEmacs platform."


--- orig/lisp/xlib-xr.el
+++ mod/lisp/xlib-xr.el
@@ -115,11 +115,17 @@
   (nth 1 (X-Event-evinfo xev)))
 
 (defsubst X-Event-win (xev)
-  "Return window for which EV generated.
-Return nil if there no window for which event XEV is generated."
+  "Return window which is the subject of the XEV.
+Return nil if there no such window."
   (let ((evd (aref (aref X-EventsList (X-Event-type xev)) 2)))
     (and (numberp evd) (nth evd (X-Event-evinfo xev)))))
 
+(defsubst X-Event-win-event (xev)
+  "Return window for which XEV is generated.
+Return nil if there is no such window."
+  (let ((evd (aref (aref X-EventsList (X-Event-type xev)) 3)))
+    (and (numberp evd) (nth evd (X-Event-evinfo xev)))))
+
 (defsubst X-Event-name (xev)
   "Return symbolic XEV name."
   (aref (aref X-EventsList (X-Event-type xev)) 0))
@@ -131,15 +137,18 @@
     ;; TODO: write me ..
     ))
 
-(defmacro X-Event-declare (type descr)
+(defmacro X-Event-declare (type ev-name ev-msg &optional win-idx event-win-idx)
   "Only declare event of TYPE with DESCR in `X-EventsList'."
-  `(aset X-EventsList ,type ,descr))
+  `(aset X-EventsList ,type
+        (vector ,ev-name (quote ,ev-msg) ,win-idx (or ,event-win-idx 
,win-idx))))
 
-(defmacro X-Event-define (type name dnames descr)
+(defmacro X-Event-define (type name dnames ev-name ev-msg &optional win-idx 
event-win-idx)
   "Define new event of TYPE, NAME and description of event DESCR."
   (let ((offs 0)
         fsym forms)
-    (push `(aset X-EventsList ,type ,descr) forms)
+    (push `(aset X-EventsList ,type
+                 (vector ,ev-name (quote ,ev-msg) ,win-idx (or ,event-win-idx 
,win-idx)))
+          forms)
     (while dnames
       (when (car dnames)
         (setq fsym (intern (concat "X-Event-" name "-" (symbol-name (car 
dnames)))))
@@ -288,392 +297,391 @@
 ;; TODO:
 ;;   - Should be X-Dpy depended to support extensions derived events
 (X-Event-define X-KeyPress "xkey" (keycode nil time root event child root-x 
root-y event-x event-y state same-screen)
-                [ "KeyPress"
-                  ( [1 integerp]        ; keycode
-                    [2 integerp]        ; sequence
-                    [4 integerp]        ; time
-                    [4 :X-Win]          ; root
-                    [4 :X-Win]          ; event
-                    [4 :X-Win]          ; child
-                    [2 integerp]        ; root_x
-                    [2 integerp]        ; root_y
-                    [2 integerp]        ; event_x
-                    [2 integerp]        ; event_y
-                    [2 integerp]        ; state
-                    [1 booleanp]        ; same_screen
-                    [1 nil] )
-                  4 ])
+                "KeyPress"
+               ([1 integerp]           ; keycode
+                [2 integerp]           ; sequence
+                [4 integerp]           ; time
+                [4 :X-Win]             ; root
+                [4 :X-Win]             ; event  (WIN-EVENT)
+                [4 :X-Win]             ; child
+                [2 integerp]           ; root_x
+                [2 integerp]           ; root_y
+                [2 integerp]           ; event_x
+                [2 integerp]           ; event_y
+                [2 integerp]           ; state
+                [1 booleanp]           ; same_screen
+                [1 nil])
+               4)
 (X-Event-declare X-KeyRelease
-                 [ "KeyRelease"
-                   ( [1 integerp]       ; keycode
-                     [2 integerp]       ; sequence
-                     [4 integerp]       ; time
-                     [4 :X-Win]         ; root
-                     [4 :X-Win]         ; event
-                     [4 :X-Win]         ; child
-                     [2 integerp]       ; root_x
-                     [2 integerp]       ; root_y
-                     [2 integerp]       ; event_x
-                     [2 integerp]       ; event_y
-                     [2 integerp]       ; state
-                     [1 booleanp]       ; same_screen
-                     [1 nil] )
-                   4 ])
+                 "KeyRelease"
+                ([1 integerp]          ; keycode
+                 [2 integerp]          ; sequence
+                 [4 integerp]          ; time
+                 [4 :X-Win]            ; root
+                 [4 :X-Win]            ; event
+                 [4 :X-Win]            ; child
+                 [2 integerp]          ; root_x
+                 [2 integerp]          ; root_y
+                 [2 integerp]          ; event_x
+                 [2 integerp]          ; event_y
+                 [2 integerp]          ; state
+                 [1 booleanp]          ; same_screen
+                 [1 nil])
+                4)
 (X-Event-define X-ButtonPress "xbutton" (button nil time root event child 
root-x root-y event-x event-y state same-screen)
-                [ "ButtonPress"
-                  ( [1 integerp]        ; button
-                    [2 integerp]        ; sequence
-                    [4 integerp]        ; time
-                    [4 :X-Win]          ; root
-                    [4 :X-Win]          ; event
-                    [4 :X-Win]          ; child
-                    [2 integerp]        ; root_x
-                    [2 integerp]        ; root_y
-                    [2 integerp]        ; event_x
-                    [2 integerp]        ; event_y
-                    [2 integerp]        ; state
-                    [1 booleanp]        ; same_screen
-                    [1 nil] )
-                  4 ])
+                "ButtonPress"
+               ( [1 integerp]          ; button
+                 [2 integerp]          ; sequence
+                 [4 integerp]          ; time
+                 [4 :X-Win]            ; root
+                 [4 :X-Win]            ; event
+                 [4 :X-Win]            ; child
+                 [2 integerp]          ; root_x
+                 [2 integerp]          ; root_y
+                 [2 integerp]          ; event_x
+                 [2 integerp]          ; event_y
+                 [2 integerp]          ; state
+                 [1 booleanp]          ; same_screen
+                 [1 nil] )
+               4)
 (X-Event-declare X-ButtonRelease
-                 [ "ButtonRelease"
-                   ( [1 integerp]       ; button
-                     [2 integerp]       ; sequence
-                     [4 integerp]       ; time
-                     [4 :X-Win]         ; root
-                     [4 :X-Win]         ; event
-                     [4 :X-Win]         ; child
-                     [2 integerp]       ; root_x
-                     [2 integerp]       ; root_y
-                     [2 integerp]       ; event_x
-                     [2 integerp]       ; event_y
-                     [2 integerp]       ; state
-                     [1 booleanp]       ; same_screen
-                     [1 nil] )
-                   4 ])
+                 "ButtonRelease"
+                ( [1 integerp]         ; button
+                  [2 integerp]         ; sequence
+                  [4 integerp]         ; time
+                  [4 :X-Win]           ; root
+                  [4 :X-Win]           ; event
+                  [4 :X-Win]           ; child
+                  [2 integerp]         ; root_x
+                  [2 integerp]         ; root_y
+                  [2 integerp]         ; event_x
+                  [2 integerp]         ; event_y
+                  [2 integerp]         ; state
+                  [1 booleanp]         ; same_screen
+                  [1 nil] )
+                4)
 (X-Event-define X-MotionNotify "xmotion" (nil nil time root event child root-x 
root-y event-x event-y state same-screen)
-                [ "MotionNotify"
-                  ( [1 integerp]        ; detail
-                    [2 integerp]        ; sequence
-                    [4 integerp]        ; time
-                    [4 :X-Win]          ; root
-                    [4 :X-Win]          ; event
-                    [4 :X-Win]          ; child
-                    [2 integerp]        ; root_x
-                    [2 integerp]        ; root_y
-                    [2 integerp]        ; event_x
-                    [2 integerp]        ; event_y
-                    [2 integerp]        ; state
-                    [1 booleanp]        ; same_screen
-                    [1 nil] )
-                  4 ])
+                "MotionNotify"
+               ( [1 integerp]          ; detail
+                 [2 integerp]          ; sequence
+                 [4 integerp]          ; time
+                 [4 :X-Win]            ; root
+                 [4 :X-Win]            ; event
+                 [4 :X-Win]            ; child
+                 [2 integerp]          ; root_x
+                 [2 integerp]          ; root_y
+                 [2 integerp]          ; event_x
+                 [2 integerp]          ; event_y
+                 [2 integerp]          ; state
+                 [1 booleanp]          ; same_screen
+                 [1 nil] )
+               4)
 (X-Event-define X-EnterNotify "xcrossing" (nil nil time root event child 
root-x root-y event-x event-y state mode same-screen-focus)
-                [ "EnterNotify"
-                  ( [1 integerp]        ; detail
-                    [2 integerp]        ; sequence
-                    [4 integerp]        ; time
-                    [4 :X-Win]          ; root
-                    [4 :X-Win]          ; event
-                    [4 :X-Win]          ; child
-                    [2 integerp]        ; root_x
-                    [2 integerp]        ; root_y
-                    [2 integerp]        ; event_x
-                    [2 integerp]        ; event_y
-                    [2 integerp]        ; state
-                    [1 integerp]        ; mode
-                    [1 integerp])       ; same-screen, focus
-                  4 ])
+                "EnterNotify"
+               ( [1 integerp]          ; detail
+                 [2 integerp]          ; sequence
+                 [4 integerp]          ; time
+                 [4 :X-Win]            ; root
+                 [4 :X-Win]            ; event
+                 [4 :X-Win]            ; child
+                 [2 integerp]          ; root_x
+                 [2 integerp]          ; root_y
+                 [2 integerp]          ; event_x
+                 [2 integerp]          ; event_y
+                 [2 integerp]          ; state
+                 [1 integerp]          ; mode
+                 [1 integerp])         ; same-screen, focus
+               4)
 (X-Event-declare X-LeaveNotify
-                 [ "LeaveNotify"
-                   ( [1 integerp]       ; detail
-                     [2 integerp]       ; sequence
-                     [4 integerp]       ; time
-                     [4 :X-Win]         ; root
-                     [4 :X-Win]         ; event
-                     [4 :X-Win]         ; child
-                     [2 integerp]       ; root_x
-                     [2 integerp]       ; root_y
-                     [2 integerp]       ; event_x
-                     [2 integerp]       ; event_y
-                     [2 integerp]       ; state
-                     [1 integerp]       ; mode
-                     [1 integerp] )     ; same-screen, focus
-                   4 ])
+                 "LeaveNotify"
+                ( [1 integerp]         ; detail
+                  [2 integerp]         ; sequence
+                  [4 integerp]         ; time
+                  [4 :X-Win]           ; root
+                  [4 :X-Win]           ; event
+                  [4 :X-Win]           ; child
+                  [2 integerp]         ; root_x
+                  [2 integerp]         ; root_y
+                  [2 integerp]         ; event_x
+                  [2 integerp]         ; event_y
+                  [2 integerp]         ; state
+                  [1 integerp]         ; mode
+                  [1 integerp] )       ; same-screen, focus
+                4)
 (X-Event-define X-FocusIn "xfocus" (nil nil event mode)
-                [ "FocusIn"
-                  ( [1 integerp]        ; detail
-                    [2 integerp]        ; sequence
-                    [4 :X-Win]          ; event
-                    [1 integerp]        ; mode
-                    [23 nil] )
-                  2 ])
+                "FocusIn"
+               ( [1 integerp]          ; detail
+                 [2 integerp]          ; sequence
+                 [4 :X-Win]            ; event
+                 [1 integerp]          ; mode
+                 [23 nil] )
+               2)
 (X-Event-declare X-FocusOut
-                 [ "FocusOut"
-                   ( [1 integerp]       ; detail
-                     [2 integerp]       ; sequence
-                     [4 :X-Win]         ; event
-                     [1 integerp]       ; mode
-                     [23 nil] )
-                   2 ])
+                 "FocusOut"
+                ( [1 integerp]         ; detail
+                  [2 integerp]         ; sequence
+                  [4 :X-Win]           ; event
+                  [1 integerp]         ; mode
+                  [23 nil] )
+                2)
 
 ;; TODO: X-KeymapNotify
 
 (X-Event-define X-Expose "xexpose" (nil nil window x y width height count)
-                [ "Expose"
-                  ( [1 integerp]        ; detail
-                    [2 integerp]        ; sequence
-                    [4 :X-Win]          ; window
-                    [2 integerp]        ; x
-                    [2 integerp]        ; y
-                    [2 integerp]        ; width
-                    [2 integerp]        ; height
-                    [2 integerp]        ; count
-                    [14 nil] )
-                  2 ])
+                "Expose"
+               ( [1 integerp]          ; detail
+                 [2 integerp]          ; sequence
+                 [4 :X-Win]            ; window
+                 [2 integerp]          ; x
+                 [2 integerp]          ; y
+                 [2 integerp]          ; width
+                 [2 integerp]          ; height
+                 [2 integerp]          ; count
+                 [14 nil] )
+               2)
 (X-Event-define X-GraphicsExpose "xgraphicsexpose" (nil nil drawable x y width 
height minor-event count major-event)
-                [ "GraphicsExpose"
-                  ([1 integerp]
-                   [2 integerp]
-                   [4 integerp]         ; drawable
-                   [2 integerp]         ; x
-                   [2 integerp]         ; y
-                   [2 integerp]         ; width
-                   [2 integerp]         ; height
-                   [2 integerp]         ; minorEvent
-                   [2 integerp]         ; count
-                   [1 integerp]         ; majorEvent
-                   [11 nil])
-                  2 ])
+                "GraphicsExpose"
+               ([1 integerp]
+                [2 integerp]
+                [4 integerp]           ; drawable
+                [2 integerp]           ; x
+                [2 integerp]           ; y
+                [2 integerp]           ; width
+                [2 integerp]           ; height
+                [2 integerp]           ; minorEvent
+                [2 integerp]           ; count
+                [1 integerp]           ; majorEvent
+                [11 nil])
+               2)
 (X-Event-define X-NoExpose "xnoexpose" (nil nil drawable minor-event 
major-event)
-                [ "NoExpose"
-                  ([1 integerp]
-                   [2 integerp]
-                   [4 integerp]         ; drawable
-                   [2 integerp]         ; minorEvent
-                   [1 integerp]         ; majorEvent
-                   [21 nil])
-                  2 ])
+                "NoExpose"
+               ([1 integerp]
+                [2 integerp]
+                [4 integerp]           ; drawable
+                [2 integerp]           ; minorEvent
+                [1 integerp]           ; majorEvent
+                [21 nil])
+               2)
 (X-Event-define X-VisibilityNotify "xvisibility" (nil nil window state)
-                [ "VisibilityNotify"
-                  ([1 integerp]
-                   [2 integerp]
-                   [4 :X-Win]           ; window
-                   [1 integerp]         ; state
-                   [23 nil])
-                  2 ])
+                "VisibilityNotify"
+               ([1 integerp]
+                [2 integerp]
+                [4 :X-Win]             ; window
+                [1 integerp]           ; state
+                [23 nil])
+               2)
 (X-Event-define X-CreateNotify "xcreatewindow" (nil nil parent window x y 
width height border-width override)
-                [ "CreateNotify"     
-                  ([1 integerp]         ; detail
-                   [2 integerp]         ; sequence
-                   [4 :X-Win]           ; parent window
-                   [4 :X-Win]           ; window
-                   [2 integerp]         ; x
-                   [2 integerp]         ; y
-                   [2 integerp]         ; width
-                   [2 integerp]         ; height
-                   [2 integerp]         ; border width
-                   [1 booleanp]         ; override-redirect
-                   [9 nil])
-                  2 ])
+                "CreateNotify"     
+               ([1 integerp]           ; detail
+                [2 integerp]           ; sequence
+                [4 :X-Win]             ; parent window
+                [4 :X-Win]             ; window
+                [2 integerp]           ; x
+                [2 integerp]           ; y
+                [2 integerp]           ; width
+                [2 integerp]           ; height
+                [2 integerp]           ; border width
+                [1 booleanp]           ; override-redirect
+                [9 nil])
+               2)
 (X-Event-define X-DestroyNotify "xdestroywindow" (nil nil event window)
-                [ "DestroyNotify"    
-                  ( [1 integerp]        ; detail
-                    [2 integerp]        ; sequence
-                    [4 :X-Win]          ; event window
-                    [4 :X-Win]          ; window
-                    [20 nil])
-                  2 ])
+                "DestroyNotify"    
+               ( [1 integerp]          ; detail
+                 [2 integerp]          ; sequence
+                 [4 :X-Win]            ; event window
+                 [4 :X-Win]            ; window
+                 [20 nil])
+               3 2)
 (X-Event-define X-UnmapNotify "xunmap" (nil nil event window from-configure)
-                [ "UnmapNotify"      
-                  ( [1 integerp]        ; detail
-                    [2 integerp]        ; sequence
-                    [4 :X-Win]          ; event
-                    [4 :X-Win]          ; window
-                    [1 booleanp]        ; fromconfigure
-                    [19 nil])
-                  2 ])
+                "UnmapNotify"      
+               ( [1 integerp]          ; detail
+                 [2 integerp]          ; sequence
+                 [4 :X-Win]            ; event
+                 [4 :X-Win]            ; window
+                 [1 booleanp]          ; fromconfigure
+                 [19 nil])
+               3  2)
 (X-Event-define X-MapNotify "xmap" (nil nil event window override)
-                [ "MapNotify"
-                  ( [1 integerp]        ; detail
-                    [2 integerp]        ; sequence
-                    [4 :X-Win]          ; event window
-                    [4 :X-Win]          ; window
-                    [1 booleanp]        ; override-redirect
-                    [19 nil])
-                  2 ])
+                "MapNotify"
+               ( [1 integerp]          ; detail
+                 [2 integerp]          ; sequence
+                 [4 :X-Win]            ; event window
+                 [4 :X-Win]            ; window
+                 [1 booleanp]          ; override-redirect
+                 [19 nil])
+               3 2)
 (X-Event-define X-MapRequest "xmaprequest" (nil nil parent window)
-                [ "MapRequest"
-                  ( [1 integerp]        ; detail
-                    [2 integerp]        ; sequence
-                    [4 :X-Win]          ; parent window
-                    [4 :X-Win]          ; window
-                    [20 nil])
-                  2 ])
+                "MapRequest"
+               ( [1 integerp]          ; detail
+                 [2 integerp]          ; sequence
+                 [4 :X-Win]            ; parent window
+                 [4 :X-Win]            ; window
+                 [20 nil])
+               3 2)
 (X-Event-define X-ReparentNotify "xreparent" (nil nil event window parent x y 
override)
-                [ "ReparentNotify"
-                  ( [1 integerp]        ; detail
-                    [2 integerp]        ; sequence
-                    [4 :X-Win]          ; event
-                    [4 :X-Win]          ; window
-                    [4 :X-Win]          ; parent
-                    [2 integerp]        ; x
-                    [2 integerp]        ; y
-                    [1 integerp]        ; override
-                    [11 nil])
-                  2 ])
+                "ReparentNotify"
+               ( [1 integerp]          ; detail
+                 [2 integerp]          ; sequence
+                 [4 :X-Win]            ; event
+                 [4 :X-Win]            ; window
+                 [4 :X-Win]            ; parent
+                 [2 integerp]          ; x
+                 [2 integerp]          ; y
+                 [1 integerp]          ; override
+                 [11 nil])
+               3 2)
 (X-Event-define X-ConfigureNotify "xconfigure" (nil nil event window 
above-sibling x y width height border-width override-redirect)
-                [ "ConfigureNotify"
-                  ( [1 integerp]        ; detail
-                    [2 integerp]        ; sequence
-                    [4 :X-Win]          ; event
-                    [4 :X-Win]          ; window
-                    [4 :X-Win]          ; above-sibling
-                    [2 integerp]        ; x
-                    [2 integerp]        ; y
-                    [2 integerp]        ; width
-                    [2 integerp]        ; height
-                    [2 integerp]        ; border-width
-                    [1 booleanp]        ; override-redirect
-                    [5 nil] )
-                  2 ])
+                "ConfigureNotify"
+               ( [1 integerp]          ; detail
+                 [2 integerp]          ; sequence
+                 [4 :X-Win]            ; event
+                 [4 :X-Win]            ; window
+                 [4 :X-Win]            ; above-sibling
+                 [2 integerp]          ; x
+                 [2 integerp]          ; y
+                 [2 integerp]          ; width
+                 [2 integerp]          ; height
+                 [2 integerp]          ; border-width
+                 [1 booleanp]          ; override-redirect
+                 [5 nil] )
+               3 2)
 (X-Event-define X-ConfigureRequest "xconfigurerequest" (stackmode nil parent 
window sibling x y width height border-width value-mask)
-                [ "ConfigureRequest"
-                  ( [1 integerp]        ; detail
-                    [2 integerp]        ; sequence
-                    [4 :X-Win]          ; parent window
-                    [4 :X-Win]          ; window
-                    [4 :X-Win]          ; sibling
-                    [2 integerp]        ; x
-                    [2 integerp]        ; y
-                    [2 integerp]        ; width
-                    [2 integerp]        ; height
-                    [2 integerp]        ; border width
-                    [2 integerp]        ; value mask
-                    [4 nil])
-                  2 ])
+                "ConfigureRequest"
+               ( [1 integerp]          ; detail
+                 [2 integerp]          ; sequence
+                 [4 :X-Win]            ; parent window
+                 [4 :X-Win]            ; window
+                 [4 :X-Win]            ; sibling
+                 [2 integerp]          ; x
+                 [2 integerp]          ; y
+                 [2 integerp]          ; width
+                 [2 integerp]          ; height
+                 [2 integerp]          ; border width
+                 [2 integerp]          ; value mask
+                 [4 nil])
+               3 2)
 (X-Event-define X-GravityNotify "xgravity" (nil nil event window x y)
-                [ "GravityNotify" 
-                  ([1 integerp]
-                   [2 integerp]
-                   [4 :X-Win]           ; event window
-                   [4 :X-Win]           ; window
-                   [2 integerp]         ; x
-                   [2 integerp]         ; y
-                   [16 nil])
-                  2 ])
+                "GravityNotify" 
+               ([1 integerp]
+                [2 integerp]
+                [4 :X-Win]             ; event window
+                [4 :X-Win]             ; window
+                [2 integerp]           ; x
+                [2 integerp]           ; y
+                [16 nil])
+               3 2)
 (X-Event-define X-ResizeRequest "xresizerequest" (nil nil window width height)
-                [ "ResizeRequest"
-                  ( [1 integerp]        ; detail
-                    [2 integerp]        ; sequence
-                    [4 :X-Win]          ; window
-                    [2 integerp]        ; width
-                    [2 integerp]        ; height
-                    [20 nil] )
-                  2 ])
+                "ResizeRequest"
+               ( [1 integerp]          ; detail
+                 [2 integerp]          ; sequence
+                 [4 :X-Win]            ; window
+                 [2 integerp]          ; width
+                 [2 integerp]          ; height
+                 [20 nil] )
+               2)
 (X-Event-define X-CirculateNotify "xcirculate" (nil nil event window parent 
place)
-                [ "CirculateNotify" 
-                  ([1 integerp]
-                   [2 integerp]
-                   [4 :X-Win]           ; event window
-                   [4 :X-Win]           ; window
-                   [4 :X-Win]           ; parent
-                   [1 integerp]         ; place
-                   [15 nil])
-                  2 ])
+                "CirculateNotify" 
+               ([1 integerp]
+                [2 integerp]
+                [4 :X-Win]             ; event window
+                [4 :X-Win]             ; window
+                [4 :X-Win]             ; parent
+                [1 integerp]           ; place
+                [15 nil])
+               3 2)
 ;; The event field in the xcirculate record is really the parent when this
 ;; is used as a CirculateRequest instead of a CircluateNotify
 (X-Event-declare X-CirculateRequest
-                 [ "CirculateRequest"
-                   ([1 integerp]
-                    [2 integerp]
-                    [4 :X-Win]          ; event window
-                    [4 :X-Win]          ; window
-                    [4 :X-Win]          ; parent
-                    [1 integerp]        ; place
-                    [15 nil])
-                   2 ])
+                 "CirculateRequest"
+                ([1 integerp]
+                 [2 integerp]
+                 [4 :X-Win]            ; event window
+                 [4 :X-Win]            ; window
+                 [4 :X-Win]            ; parent
+                 [1 integerp]          ; place
+                 [15 nil])
+                3 2)
 
 (X-Event-define X-PropertyNotify "xproperty" (nil nil window atom time state)
-                [ "PropertyNotify"
-                  ( [1 integerp]
-                    [2 integerp]
-                    [4 :X-Win]          ; window
-                    [4 :X-Atom]         ; atom
-                    [4 integerp]        ; time
-                    [1 integerp]        ; state
-                    [15 nil]
-                    ) 2 ])
+                "PropertyNotify"
+               ( [1 integerp]
+                 [2 integerp]
+                 [4 :X-Win]            ; window
+                 [4 :X-Atom]           ; atom
+                 [4 integerp]          ; time
+                 [1 integerp]          ; state
+                 [15 nil])
+               2)
 (X-Event-define X-SelectionClear "xselectionclear" (nil nil time window atom)
-                [ "SelectionClear"
-                  ([1 integerp]
-                   [2 integerp]
-                   [4 integerp]         ; time
-                   [4 :X-Win]           ; window
-                   [4 :X-Atom]          ; atom
-                   [16 nil])
-                  3 ])
+                "SelectionClear"
+               ([1 integerp]
+                [2 integerp]
+                [4 integerp]           ; time
+                [4 :X-Win]             ; window
+                [4 :X-Atom]            ; atom
+                [16 nil])
+               3)
 (X-Event-define X-SelectionRequest "xselectionrequest" (nil nil time owner 
requestor selection target property)
-                [ "SelectionRequest"
-                  ([1 integerp]
-                   [2 integerp]
-                   [4 integerp]         ; time
-                   [4 :X-Win]           ; owner
-                   [4 :X-Win]           ; requestor
-                   [4 :X-Atom]          ; selection atom
-                   [4 :X-Atom]          ; target atom
-                   [4 :X-Atom]          ; property atom
-                   [4 nil])
-                  4 ])
+                "SelectionRequest"
+               ([1 integerp]
+                [2 integerp]
+                [4 integerp]           ; time
+                [4 :X-Win]             ; owner
+                [4 :X-Win]             ; requestor
+                [4 :X-Atom]            ; selection atom
+                [4 :X-Atom]            ; target atom
+                [4 :X-Atom]            ; property atom
+                [4 nil])
+               4)
 (X-Event-define X-SelectionNotify "xselection" (nil nil time requestor 
selection target property)
-                [ "SelectionNotify"
-                  ([1 integerp]
-                   [2 integerp]
-                   [4 integerp]         ; time
-                   [4 :X-Win]           ; requestor
-                   [4 :X-Atom]          ; selection atom
-                   [4 :X-Atom]          ; target atom
-                   [4 :X-Atom]          ; property atom
-                   [8 nil])
-                  3 ])
+                "SelectionNotify"
+               ([1 integerp]
+                [2 integerp]
+                [4 integerp]           ; time
+                [4 :X-Win]             ; requestor
+                [4 :X-Atom]            ; selection atom
+                [4 :X-Atom]            ; target atom
+                [4 :X-Atom]            ; property atom
+                [8 nil])
+               3)
 (X-Event-define X-ColormapNotify "xcolormap" (nil nil window colormap new 
state)
-                [ "ColormapNotify"
-                  ([1 integerp]         ; detail
-                   [2 integerp]         ; sequence
-                   [4 :X-Win]           ; window
-                   [4 integerp]         ; colormap
-                   [1 booleanp]         ; new
-                   [1 booleanp]         ; state
-                   [18 nil])
-                  2 ])
+                "ColormapNotify"
+               ([1 integerp]           ; detail
+                [2 integerp]           ; sequence
+                [4 :X-Win]             ; window
+                [4 integerp]           ; colormap
+                [1 booleanp]           ; new
+                [1 booleanp]           ; state
+                [18 nil])
+               2)
 (X-Event-define X-ClientMessage "xclient" (nil window atom msg)
-                [ "ClientMessage"
-                  ([1 length-1]         ; format
-                   [2 integerp]         ; sequence number
-                   [4 :X-Win]           ; window
-                   [4 :X-Atom]          ; atom
-                   ;; This reads in the correct number of integers of a type
-                   ;; specified by the format which is 8, 16, or 32.
-                   [(/ 20 (/ length-1 8)) ( [ (/ length-1 8) integerp ] ) ] )
-                  1 ])
+                "ClientMessage"
+               ([1 length-1]           ; format
+                [2 integerp]           ; sequence number
+                [4 :X-Win]             ; window
+                [4 :X-Atom]           ; atom
+                ;; This reads in the correct number of integers of a type
+                ;; specified by the format which is 8, 16, or 32.
+                [(/ 20 (/ length-1 8)) ( [ (/ length-1 8) integerp ] ) ] )
+               1)
 (X-Event-define X-MappingNotify "xmapping" (nil nil request first-keycode 
count)
-                [ "MappingNotify"
-                  ([1 integerp]
-                   [2 integerp]
-                   [1 integerp]         ; request
-                   [1 integerp]         ; firstKeyCode
-                   [1 integerp]         ; count
-                   [25 nil])
-                  nil ])
+                "MappingNotify"
+               ([1 integerp]
+                [2 integerp]
+                [1 integerp]           ; request
+                [1 integerp]           ; firstKeyCode
+                [1 integerp]           ; count
+                [25 nil]))
 
 ;; error event
 (X-Event-define 0 "xerror" (code nil resourceid min-op maj-op)
-                ["XError"
-                 ([1 integerp]          ; err code
-                  [2 integerp]          ; sequence
-                  [4 integerp]          ; id
-                  [2 integerp]          ; minor opcode
-                  [1 integerp]          ; major opcode
-                  [21 nil])])
+                "XError"
+               ([1 integerp]           ; err code
+                [2 integerp]           ; sequence
+                [4 integerp]           ; id
+                [2 integerp]           ; minor opcode
+                [1 integerp]           ; major opcode
+                [21 nil]))
                  
 ;;; All receive message types will exclude the first byte which IDs it.
 ;;
@@ -1181,19 +1189,33 @@
      obj))
 
 ;;; Events queue support
+(defun X-Dpy-default-events-dispatcher (xdpy xev)
+  "Default events  dispatcher."
+  (let ((win-ev (X-Event-win-event xev)))
+    (when (X-Win-p win-ev)
+      ;; First run display handlers
+      (when (X-Dpy-event-handlers xdpy)
+       (X-Dpy-EventHandler-runall xdpy xev))
+
+      ;; Then run WIN specific handlers
+      (when (X-Win-event-handlers win-ev)
+       ;; WIN has its own event handlers
+       (X-Win-EventHandler-runall win-ev xev)))))
+
 (defun X-Dpy-event-dispatch (xev)
   "Dispatch event XEV."
-  (let ((win (X-Event-win xev))
-        (xdpy (X-Event-dpy xev)))
-
-    (X-Dpy-log xdpy 'x-event "Ready to dispatch event: %S for win %S"
-               '(X-Event-name xev) '(if (X-Win-p (X-Event-win xev))
-                                        (X-Win-id (X-Event-win xev))
-                                      (X-Event-win xev)))
+  (let ((xdpy (X-Event-dpy xev)))
+    (X-Dpy-log xdpy 'x-event "Got X event: %S for win %S / %S"
+               '(X-Event-name xev)
+              '(if (X-Win-p (X-Event-win-event xev))
+                   (X-Win-id (X-Event-win-event xev))
+                 (X-Event-win-event xev))
+              '(if (X-Win-p (X-Event-win xev))
+                   (X-Win-id (X-Event-win xev))
+                 (X-Event-win xev)))
 
     (when (X-Dpy-events-dispatcher xdpy)
-      (funcall (X-Dpy-events-dispatcher xdpy) xdpy win xev))
-    ))
+      (funcall (X-Dpy-events-dispatcher xdpy) xdpy xev))))
 
 (defsubst X-Dpy-event-enqueue (event)
   "Enqueue EVENT in XDPY's events queue."




<Prev in Thread] Current Thread [Next in Thread>
  • Summary for xlib--main--2.1--patch-6, Zajcev Evgeny <=