[clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-84-g46bb64f

Philippe Brochard pbrochard at common-lisp.net
Wed Aug 15 10:30:13 UTC 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager".

The branch, master has been updated
       via  46bb64f71eca468fa55fc08e195e1924f4d559bb (commit)
       via  a4dfa9630702d15e84dfa7333ada43e6c87ac0cf (commit)
       via  ec5045f0dd335d16b9d2a0e634c38567c8107264 (commit)
       via  690b247a2d9c337c17f03ba37ef7adc73f3612aa (commit)
       via  a9fd335a851dfe92e19c6bdb97807509bf1107be (commit)
      from  d71c361ef29714e3d8e4ad486ccb94f2f5a3b9dd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 46bb64f71eca468fa55fc08e195e1924f4d559bb
Author: Philippe Brochard <pbrochard at common-lisp.net>
Date:   Wed Aug 15 00:28:54 2012 +0200

    contrib/toolbar.lisp: Add a clickable label module for toolbar. Add a clickable entry to open the CLFSWM main menu. * src/clfswm-menu.lisp (open-menu): Prevent to reopen an opened menu. Fixe a but with negative selected-item.

diff --git a/ChangeLog b/ChangeLog
index 710c0d5..cc1b9ab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-08-15  Philippe Brochard  <pbrochard at common-lisp.net>
+
+	* contrib/toolbar.lisp: Add a clickable label module for toolbar.
+	Add a clickable entry to open the CLFSWM main menu.
+
+	* src/clfswm-menu.lisp (open-menu): Prevent to reopen an opened
+	menu. Fixe a but with negative selected-item.
+
 2012-08-14  Philippe Brochard  <pbrochard at common-lisp.net>
 
 	* src/clfswm-util.lisp (eval-from-query-string): Show a notify
diff --git a/contrib/toolbar.lisp b/contrib/toolbar.lisp
index d257049..3ddaa46 100644
--- a/contrib/toolbar.lisp
+++ b/contrib/toolbar.lisp
@@ -264,7 +264,8 @@
       (dolist (module (toolbar-modules toolbar))
         (when (and (in-rectangle root-x root-y (toolbar-module-rect module))
                    (fboundp (toolbar-module-click-fun module)))
-          (funcall (toolbar-module-click-fun module) toolbar module code state)
+          (apply (toolbar-module-click-fun module) toolbar module code state
+                 (toolbar-module-args module))
           (stop-button-event)
           (exit-handle-event))))))
 
@@ -419,18 +420,18 @@
 
 
 
-(defmacro define-toolbar-module ((name &optional args) &body body)
+(defmacro define-toolbar-module ((name &rest args) &body body)
   (let ((symbol-fun (toolbar-symbol-fun name)))
     `(progn
        (pushnew ',name *toolbar-module-list*)
-       (defun ,symbol-fun (toolbar module ,@(when args `(&optional ,args)))
+       (defun ,symbol-fun (toolbar module ,@(when args `(&optional , at args)))
          , at body))))
 
-(defmacro define-toolbar-module-click ((name) &body body)
+(defmacro define-toolbar-module-click ((name &rest args) &body body)
   (let ((symbol-fun (toolbar-symbol-fun name 'click)))
     `(progn
        (pushnew ',name *toolbar-module-list*)
-       (defun ,symbol-fun (toolbar module code state)
+       (defun ,symbol-fun (toolbar module code state ,@(when args `(&optional , at args)))
          , at body))))
 
 
@@ -476,6 +477,21 @@
   (toolbar-module-text toolbar module (or text "Empty")))
 
 ;;;
+;;; Clickable label module
+;;;
+(define-toolbar-module (clickable-label text action)
+  "(text action) - Display a clickable text in toolbar"
+  (declare (ignore action))
+  (with-set-toolbar-module-rectangle (module)
+    (toolbar-module-text toolbar module (or text "Empty"))))
+
+(define-toolbar-module-click (clickable-label text action)
+  "Call the function 'action'"
+  (declare (ignore text))
+  (when action
+    (funcall action toolbar module code state )))
+
+;;;
 ;;;  Clickable clock module
 ;;;
 (define-toolbar-module (clickable-clock)
@@ -498,3 +514,21 @@
 
 
 (format t "done~%")
+
+
+;;;
+;;; CLFSWM menu module
+;;;
+(define-toolbar-module (clfswm-menu text placement)
+  "(text placement) - Display an entry for the CLFSWM menu"
+  (declare (ignore placement))
+  (with-set-toolbar-module-rectangle (module)
+    (toolbar-module-text toolbar module (or text "CLFSWM"))))
+
+(define-toolbar-module-click (clfswm-menu text placement)
+  "Open the CLFSWM main menu"
+  (declare (ignore text code state toolbar module))
+  (dbg placement)
+  (let ((*info-mode-placement* (or placement *info-mode-placement*)))
+    (open-menu)))
+
diff --git a/src/clfswm-menu.lisp b/src/clfswm-menu.lisp
index ca667fa..29b438e 100644
--- a/src/clfswm-menu.lisp
+++ b/src/clfswm-menu.lisp
@@ -137,34 +137,41 @@
 	 (funcall action)))))
 
 
-(defun open-menu (&optional (menu *menu*) (parent nil))
-  "Open the main menu"
-  (when menu
-    (let ((action nil)
-          (old-info-keys (copy-hash-table *info-keys*)))
-      (labels ((populate-menu ()
-                 (let ((info-list nil))
-                   (dolist (item (menu-item menu))
-                     (let ((value (menu-item-value item)))
-                       (push (typecase value
-                               (menu (list (list (format nil "~A" (menu-item-key item)) *menu-color-menu-key*)
-                                           (list (format nil ": < ~A >" (menu-doc value)) *menu-color-submenu*)))
-                               (string (list (list (format nil "~A" (menu-item-value item)) *menu-color-comment*)))
-                               (t (list (list (format nil "~A" (menu-item-key item)) *menu-color-key*)
-                                        (format nil ": ~A" (documentation value 'function)))))
-                             info-list)
-                       (when (menu-item-key item)
-                         (define-info-key-fun (list (menu-item-key item))
-                             (lambda (&optional args)
-                               (declare (ignore args))
-                               (setf action value)
-                               (leave-info-mode nil))))))
-                   (nreverse info-list))))
-        (let ((selected-item (info-mode (populate-menu))))
-          (setf *info-keys* old-info-keys)
-          (when selected-item
-            (awhen (nth selected-item (menu-item menu))
-              (setf action (menu-item-value it)))))
-        (open-menu-do-action action menu parent)))))
+(let ((menu-oppened nil))
+  (defun reset-open-menu ()
+    (setf menu-oppened nil))
+
+  (defun open-menu (&optional (menu *menu*) (parent nil))
+    "Open the main menu"
+    (unless menu-oppened
+      (setf menu-oppened t)
+      (when menu
+        (let ((action nil)
+              (old-info-keys (copy-hash-table *info-keys*)))
+          (labels ((populate-menu ()
+                     (let ((info-list nil))
+                       (dolist (item (menu-item menu))
+                         (let ((value (menu-item-value item)))
+                           (push (typecase value
+                                   (menu (list (list (format nil "~A" (menu-item-key item)) *menu-color-menu-key*)
+                                               (list (format nil ": < ~A >" (menu-doc value)) *menu-color-submenu*)))
+                                   (string (list (list (format nil "~A" (menu-item-value item)) *menu-color-comment*)))
+                                   (t (list (list (format nil "~A" (menu-item-key item)) *menu-color-key*)
+                                            (format nil ": ~A" (documentation value 'function)))))
+                                 info-list)
+                           (when (menu-item-key item)
+                             (define-info-key-fun (list (menu-item-key item))
+                                 (lambda (&optional args)
+                                   (declare (ignore args))
+                                   (setf action value)
+                                   (leave-info-mode nil))))))
+                       (nreverse info-list))))
+            (let ((selected-item (info-mode (populate-menu))))
+              (setf *info-keys* old-info-keys)
+              (when (and selected-item (>= selected-item 0))
+                (awhen (nth selected-item (menu-item menu))
+                  (setf action (menu-item-value it)))))
+            (setf menu-oppened nil)
+            (open-menu-do-action action menu parent)))))))
 
 
diff --git a/src/clfswm.lisp b/src/clfswm.lisp
index d88a92d..f8429ce 100644
--- a/src/clfswm.lisp
+++ b/src/clfswm.lisp
@@ -185,6 +185,7 @@
 (defun init-display ()
   (reset-root-list)
   (reset-bind-or-jump-slots)
+  (reset-open-menu)
   (fill-handle-event-fun-symbols)
   (assoc-keyword-handle-event 'main-mode)
   (setf *screen* (first (xlib:display-roots *display*))

commit a4dfa9630702d15e84dfa7333ada43e6c87ac0cf
Author: Philippe Brochard <pbrochard at common-lisp.net>
Date:   Tue Aug 14 23:30:15 2012 +0200

    src/clfswm-util.lisp (show-current-root): New function and configuration menu to display a message on the current root.

diff --git a/ChangeLog b/ChangeLog
index 42652c5..710c0d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,8 @@
 
 	* src/clfswm-util.lisp (eval-from-query-string): Show a notify
 	window when updating symobls list for REPL completion.
+	(show-current-root): New function and configuration menu to
+	display a message on the current root.
 
 	* contrib/toolbar.lisp: Add arguments in toolbar modules.
 
diff --git a/src/clfswm-second-mode.lisp b/src/clfswm-second-mode.lisp
index ba6055b..49b528a 100644
--- a/src/clfswm-second-mode.lisp
+++ b/src/clfswm-second-mode.lisp
@@ -135,6 +135,7 @@
   (grab-main-keys)
   (show-all-children)
   (display-all-frame-info)
+  (raise-notify-window)
   (wait-no-key-or-button-press)
   (setf *in-second-mode* nil))
 
diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp
index 79aa767..6ac0742 100644
--- a/src/clfswm-util.lisp
+++ b/src/clfswm-util.lisp
@@ -81,6 +81,11 @@
 
 
 ;;; Root functions utility
+(defun show-current-root ()
+  (when *have-to-show-current-root*
+    (let ((*notify-window-placement* *show-current-root-placement*))
+      (notify-message *show-current-root-delay* *show-current-root-message*))))
+
 (defun select-generic-root (fun restart-menu)
   (no-focus)
   (let* ((current-root (find-root (current-child)))
@@ -92,6 +97,7 @@
                                    it
                                    (frame-selected-child parent))))))
   (show-all-children t)
+  (show-current-root)
   (if restart-menu
       (open-menu (find-menu 'root-menu))
       (leave-second-mode)))
@@ -118,6 +124,7 @@
   (no-focus)
   (funcall fun)
   (show-all-children t)
+  (show-current-root)
   (if restart-menu
       (open-menu (find-menu 'root-menu))
       (leave-second-mode)))
@@ -156,6 +163,7 @@
       (exchange-root-geometry (find-root-by-coordinates x1 y1)
                               (find-root-by-coordinates x2 y2))))
   (show-all-children)
+  (show-current-root)
   (leave-second-mode))
 
 (defun change-current-root-geometry ()
@@ -168,6 +176,7 @@
     (setf (root-x root) x  (root-y root) y
           (root-w root) w  (root-h root) h)
     (show-all-children)
+    (show-current-root)
     (leave-second-mode)))
 
 
@@ -1696,17 +1705,21 @@ For window: set current child to window or its parent according to window-parent
       (when (and (xlib:window-p win) (xlib:window-p window))
 	(xlib:window-equal win window)))
 
+    (defun raise-notify-window ()
+      (raise-window window))
+
     (defun refresh-notify-window ()
       (add-timer 0.1 #'refresh-notify-window :refresh-notify-window)
-      (raise-window window)
-      (let ((text-height (- (xlib:font-ascent font) (xlib:font-descent font))))
-	(loop for tx in text
-	   for i from 1 do
-	     (setf (xlib:gcontext-foreground gc) (text-color tx))
-	     (xlib:draw-glyphs window gc
-			       (truncate (/ (- width (* (xlib:max-char-width font) (length (text-string tx)))) 2))
-			       (* text-height i 2)
-			       (text-string tx)))))
+      (when (and window gc font)
+        (raise-window window)
+        (let ((text-height (- (xlib:font-ascent font) (xlib:font-descent font))))
+          (loop for tx in text
+             for i from 1 do
+               (setf (xlib:gcontext-foreground gc) (text-color tx))
+               (xlib:draw-glyphs window gc
+                                 (truncate (/ (- width (* (xlib:max-char-width font) (length (text-string tx)))) 2))
+                                 (* text-height i 2)
+                                 (text-string tx))))))
 
     (defun close-notify-window ()
       (erase-timer :refresh-notify-window)
diff --git a/src/config.lisp b/src/config.lisp
index 227aa76..7fdd999 100644
--- a/src/config.lisp
+++ b/src/config.lisp
@@ -175,11 +175,19 @@ This command must set the window title to *clfswm-terminal-name*")
 (defconfig *query-button-press-hook* nil
   'Hook "Query hook. Hook called on each button press event in query loop")
 
-;;; CONFIG
+;;; CONFIG: Root
 (defconfig *create-frame-on-root* nil
-  nil "Create frame on root.
+  'Root "Create frame on root.
 Set this variable to true if you want to allow to create a new frame
 on the root window in the main mode with the mouse")
+(defconfig *have-to-show-current-root* t
+  'Root "Show the current root if true")
+(defconfig *show-current-root-delay* 1
+  'Root "Delay to show the current root")
+(defconfig *show-current-root-placement* 'middle-middle-root-placement
+  'Root "Current root notify window placement")
+(defconfig *show-current-root-message* "Current root"
+  'Root "Current root notify window message")
 
 
 ;;; CONFIG: Main mode colors

commit ec5045f0dd335d16b9d2a0e634c38567c8107264
Author: Philippe Brochard <pbrochard at common-lisp.net>
Date:   Tue Aug 14 16:45:30 2012 +0200

    src/clfswm-util.lisp (eval-from-query-string): Show a notify window when updating symobls list for REPL completion.

diff --git a/ChangeLog b/ChangeLog
index 3fdcaef..42652c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,11 @@
 2012-08-14  Philippe Brochard  <pbrochard at common-lisp.net>
 
+	* src/clfswm-util.lisp (eval-from-query-string): Show a notify
+	window when updating symobls list for REPL completion.
+
 	* contrib/toolbar.lisp: Add arguments in toolbar modules.
 
-	* src/xlib-util.lisp (event-hook-name): Intern hook name symbole
+	* src/xlib-util.lisp (event-hook-name): Intern hook name symbol
 	in :clfswm package.
 
 2012-08-13  Philippe Brochard  <pbrochard at common-lisp.net>
diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp
index bd5036a..79aa767 100644
--- a/src/clfswm-util.lisp
+++ b/src/clfswm-util.lisp
@@ -577,7 +577,10 @@
                   (pushnew (string-downcase (if (string= (first elem) "(") (third elem) (second elem)))
                            all-symbols :test #'string=)))
               (when (search "in-package" form :test #'string-equal)
-                (setf all-symbols (collect-all-symbols)))
+                (let ((*notify-window-placement* 'middle-middle-root-placement))
+                  (open-notify-window '("Collecting all symbols for Lisp REPL completion."))
+                  (setf all-symbols (collect-all-symbols))
+                  (close-notify-window)))
               (when ret
                 (eval-from-query-string))))))))
 

commit 690b247a2d9c337c17f03ba37ef7adc73f3612aa
Author: Philippe Brochard <pbrochard at common-lisp.net>
Date:   Tue Aug 14 16:22:56 2012 +0200

    contrib/toolbar.lisp: Add arguments in toolbar modules.

diff --git a/ChangeLog b/ChangeLog
index a5387d2..3fdcaef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2012-08-14  Philippe Brochard  <pbrochard at common-lisp.net>
 
+	* contrib/toolbar.lisp: Add arguments in toolbar modules.
+
 	* src/xlib-util.lisp (event-hook-name): Intern hook name symbole
 	in :clfswm package.
 
diff --git a/contrib/toolbar.lisp b/contrib/toolbar.lisp
index 8642423..d257049 100644
--- a/contrib/toolbar.lisp
+++ b/contrib/toolbar.lisp
@@ -40,9 +40,9 @@
 ;;;       root-x, root-y: root coordinates or if root-y is nil, root-x is the nth root in root-list.
 ;;;       direction: one of :horiz or :vert
 ;;;       placement: same argument as with-placement macro
-;;;       modules: list of modules: a list of module name and position in percent.
+;;;       modules: list of modules: a list of module name, position in percent and arguments.
 ;;;                0%=left/up   <->   100%=right/down.
-;;;                Example: '((clock 1) (label 50) (clickable-clock 90))
+;;;                Example: '((clock 1) (label 50 \"My label\") (clickable-clock 90))
 ;;;       size: toolbar size in percent of root size
 ;;;       thickness: toolbar height for horizontal toolbar or width for vertical one
 ;;;       autohide: one of nil, :click, or :motion
@@ -55,20 +55,20 @@
 ;;;  ;; Add an horizontal toolbar on root at coordinates 0,0 pixels
 ;;;
 ;;;    (add-toolbar 0 0 :horiz 90 'top-middle-root-placement
-;;;                 '((clock 1) (label 50) (clock-second 25) (clickable-clock 99))
+;;;                 '((clock 1) (label 50 "Plop") (clock-second 25) (clickable-clock 99))
 ;;;                 :autohide :click
 ;;;                 :refresh-delay 1)
 ;;;
 ;;;
 ;;;  ;; Add an horizontal toolbar on root at coordinates 0,0 pixels
 ;;;
-;;;    (add-toolbar 0 0 :horiz 70 'bottom-middle-root-placement '((clock 1) (label 50) (clock 99))
+;;;    (add-toolbar 0 0 :horiz 70 'bottom-middle-root-placement '((clock 1) (label 50 "Paf) (clock 99))
 ;;;                 :autohide :motion)
 ;;;
 ;;;
 ;;;  ;; Add a vertical toolbar on root 0
 ;;;
-;;;    (add-toolbar 0 nil :vert 60 'middle-left-root-placement '((clock 1) (label 50) (clock 90)))
+;;;    (add-toolbar 0 nil :vert 60 'middle-left-root-placement '((clock 1) (label 50 "My label") (clock 90)))
 ;;;
 ;;;
 ;;;  ;; Add a vertical toolbar on root 1
@@ -83,7 +83,7 @@
 (defstruct toolbar root-x root-y root direction size thickness placement refresh-delay
            autohide modules clickable hide-state font window gc border-size)
 
-(defstruct toolbar-module name pos display-fun click-fun rect)
+(defstruct toolbar-module name pos display-fun click-fun args rect)
 
 (defparameter *toolbar-list* nil)
 (defparameter *toolbar-module-list* nil)
@@ -114,7 +114,7 @@
   'Placement "Toolbar window placement")
 
 (defun toolbar-symbol-fun (name &optional (type 'display))
-  (create-symbol 'toolbar- name '-module- type))
+  (create-symbol-in-package :clfswm 'toolbar- name '-module- type))
 
 (defun toolbar-adjust-root-size (toolbar)
   (unless (toolbar-autohide toolbar)
@@ -184,7 +184,7 @@
     (clear-pixmap-buffer (toolbar-window toolbar) (toolbar-gc toolbar))
     (dolist (module (toolbar-modules toolbar))
       (when (fboundp (toolbar-module-display-fun module))
-        (funcall (toolbar-module-display-fun module) toolbar module)))
+        (apply (toolbar-module-display-fun module) toolbar module (toolbar-module-args module))))
     (copy-pixmap-buffer (toolbar-window toolbar) (toolbar-gc toolbar))))
 
 (defun toolbar-in-sensibility-zone-p (toolbar root-x root-y)
@@ -366,6 +366,7 @@
                                   :pos (second mod)
                                   :display-fun (toolbar-symbol-fun (first mod))
                                   :click-fun (toolbar-symbol-fun (first mod) 'click)
+                                  :args (cddr mod)
                                   :rect nil)))
 
 
@@ -378,9 +379,9 @@
      root-x, root-y: root coordinates or if root-y is nil, root-x is the nth root in root-list.
      direction: one of :horiz or :vert
      placement: same argument as with-placement macro
-     modules: list of modules: a list of module name and position in percent.
+     modules: list of modules: a list of module name, position in percent and arguments.
               0%=left/up   <->   100%=right/down.
-              Example: '((clock 1) (label 50) (clickable-clock 90))
+              Example: '((clock 1) (label 50 \"My label\") (clickable-clock 90))
      size: toolbar size in percent of root size
      thickness: toolbar height for horizontal toolbar or width for vertical one
      autohide: one of nil, :click, or :motion
@@ -418,11 +419,11 @@
 
 
 
-(defmacro define-toolbar-module ((name) &body body)
+(defmacro define-toolbar-module ((name &optional args) &body body)
   (let ((symbol-fun (toolbar-symbol-fun name)))
     `(progn
        (pushnew ',name *toolbar-module-list*)
-       (defun ,symbol-fun (toolbar module)
+       (defun ,symbol-fun (toolbar module ,@(when args `(&optional ,args)))
          , at body))))
 
 (defmacro define-toolbar-module-click ((name) &body body)
@@ -446,6 +447,10 @@
 ;;;
 ;;; Modules definitions
 ;;;
+
+;;;
+;;; Clock module
+;;;
 (define-toolbar-module (clock)
   "A clock module"
   (multiple-value-bind (s m h)
@@ -453,6 +458,9 @@
     (declare (ignore s))
     (toolbar-module-text toolbar module "~2,'0D:~2,'0D" h m)))
 
+;;;
+;;; Clock module with seconds
+;;;
 (define-toolbar-module (clock-second)
   "A clock module with seconds"
   (multiple-value-bind (s m h)
@@ -460,25 +468,33 @@
     (toolbar-module-text toolbar module "~2,'0D:~2,'0D:~2,'0D" h m s)))
 
 
-(define-toolbar-module (label)
-  "A label module (for test)"
-  (toolbar-module-text toolbar module "Label"))
-
+;;;
+;;; Label module
+;;;
+(define-toolbar-module (label text)
+  "(text) - Display a text in toolbar"
+  (toolbar-module-text toolbar module (or text "Empty")))
 
+;;;
+;;;  Clickable clock module
+;;;
 (define-toolbar-module (clickable-clock)
   "A clickable clock module"
   (multiple-value-bind (s m h)
       (get-decoded-time)
     (declare (ignore s))
     (with-set-toolbar-module-rectangle (module)
-      (toolbar-module-text toolbar module "Click:~2,'0D:~2,'0D" h m))))
+      (toolbar-module-text toolbar module "|~2,'0D:~2,'0D|" h m))))
+
 
+(defconfig *toolbar-clock-action* "xclock -analog"
+  'toolbar "Toolbar clickable clock module action on click")
 
 (define-toolbar-module-click (clickable-clock)
-  "Start a digital clock"
+  "Start an external clock"
   (declare (ignore toolbar module state))
   (when (= code 1)
-    (do-shell "xclock")))
+    (do-shell *toolbar-clock-action*)))
 
 
 (format t "done~%")

commit a9fd335a851dfe92e19c6bdb97807509bf1107be
Author: Philippe Brochard <pbrochard at common-lisp.net>
Date:   Tue Aug 14 15:09:15 2012 +0200

    src/xlib-util.lisp (event-hook-name): Intern hook name symbole in :clfswm package.

diff --git a/ChangeLog b/ChangeLog
index 7095879..a5387d2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-08-14  Philippe Brochard  <pbrochard at common-lisp.net>
+
+	* src/xlib-util.lisp (event-hook-name): Intern hook name symbole
+	in :clfswm package.
+
 2012-08-13  Philippe Brochard  <pbrochard at common-lisp.net>
 
 	* contrib/toolbar.lisp (toolbar-module-text): Print a formatted
diff --git a/src/xlib-util.lisp b/src/xlib-util.lisp
index ca75d1c..308a988 100644
--- a/src/xlib-util.lisp
+++ b/src/xlib-util.lisp
@@ -173,9 +173,12 @@ Expand in handle-event-fun-main-mode-key-press"
 
 
 (defun event-hook-name (event-keyword)
-  (create-symbol '*event- event-keyword '-hook*))
+  (create-symbol-in-package :clfswm '*event- event-keyword '-hook*))
 
 (let ((event-hook-list nil))
+  (defun get-event-hook-list ()
+    event-hook-list)
+
   (defmacro use-event-hook (event-keyword)
     (let ((symb (event-hook-name event-keyword)))
       (pushnew symb event-hook-list)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                   |   20 +++++++++
 contrib/toolbar.lisp        |   92 +++++++++++++++++++++++++++++++++----------
 src/clfswm-menu.lisp        |   65 +++++++++++++++++-------------
 src/clfswm-second-mode.lisp |    1 +
 src/clfswm-util.lisp        |   36 ++++++++++++-----
 src/clfswm.lisp             |    1 +
 src/config.lisp             |   12 +++++-
 src/xlib-util.lisp          |    5 ++-
 8 files changed, 169 insertions(+), 63 deletions(-)


hooks/post-receive
-- 
CLFSWM - A(nother) Common Lisp FullScreen Window Manager




More information about the clfswm-cvs mailing list