main-loop, generic-mode: Use an xlib:event-listen before processing event with xlib...
[clfswm.git] / load.lisp
blob08cf12fb69c78088ab8545c672f663319d58190c
1 ;;; --------------------------------------------------------------------------
2 ;;; CLFSWM - FullScreen Window Manager
3 ;;;
4 ;;; --------------------------------------------------------------------------
5 ;;; Documentation: System loading functions
6 ;;; --------------------------------------------------------------------------
7 ;;;
8 ;;; (C) 2005 Philippe Brochard <hocwp@free.fr>
9 ;;;
10 ;;; This program is free software; you can redistribute it and/or modify
11 ;;; it under the terms of the GNU General Public License as published by
12 ;;; the Free Software Foundation; either version 3 of the License, or
13 ;;; (at your option) any later version.
14 ;;;
15 ;;; This program is distributed in the hope that it will be useful,
16 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;;; GNU General Public License for more details.
19 ;;;
20 ;;; You should have received a copy of the GNU General Public License
21 ;;; along with this program; if not, write to the Free Software
22 ;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23 ;;;
24 ;;; --------------------------------------------------------------------------
26 (defparameter *base-dir* (directory-namestring *load-truename*))
27 (export '*base-dir*)
29 #+CMU
30 (setf ext:*gc-verbose* nil)
32 #+SBCL
33 (require :asdf)
35 #+SBCL
36 (require :sb-posix)
38 #+(or CMU SBCL ECL)
39 (require :clx)
41 #-ASDF
42 (load (make-pathname :host (pathname-host *base-dir*)
43 :device (pathname-device *base-dir*)
44 :directory (append (pathname-directory *base-dir*) (list "contrib"))
45 :name "asdf" :type "lisp"))
47 (push *base-dir* asdf:*central-registry*)
49 ;;;; Uncomment the line above if you want to follow the
50 ;;;; handle event mecanism.
51 ;;(pushnew :event-debug *features*)
53 (asdf:oos 'asdf:load-op :clfswm)
55 (in-package :clfswm)
57 #-BUILD
58 (ignore-errors
59 (main :read-conf-file-p t))
61 ;;(produce-all-docs)
64 ;;; For debuging: start another sever (for example: 'startx -- :1'), Xnest
65 ;;; or Zephyr and add the lines above in a dot-clfswmrc-debug file
66 ;;; mod-2 is the numlock key on some keyboards.
67 ;;(setf *default-modifiers* '(:mod-2))
69 ;;(defun my-add-escape ()
70 ;; (define-main-key ("Escape" :mod-2) 'exit-clfswm))
72 ;;(add-hook *binding-hook* 'my-add-escape)
74 ;;(clfswm:main :display ":1" :alternate-conf #P"/where/is/dot-clfswmrc-debug")