1. 16 Mar, 2003 5 commits
    • hatchond's avatar
      - *wrap-pointer-when-cycle* new option. · 6bbb05d8
      hatchond authored
      - *focus-new-mapped-window* new option.
      - *focus-when-window-cycle* new option.
      
      aVS: ----------------------------------------------------------------------
      6bbb05d8
    • hatchond's avatar
      fix some desktop-number inconsistency when it was equal to +any-desktop+ · 78a41366
      hatchond authored
      fix some focus inconsistency under on-click policy.
      
      - *focus-new-map-window* is a new option:
          to do that a new application slot had been add: wants-focus-p
          who is sets to *focus-new-map-window* at map-request time, and at iconify
          time. (Maybe we don't want it at iconify time, just tell me)
          Then when we process a visibility-notify event we just give it or
          not the focus according the wants-focus-p value.
      - *focus-when-window-cycle* is a new option.
      - *wrap-pointer-when-cycle* is a new option:
          move or not pointer during window cycling.
      
        - lookup-widget (window) [function]
          returns the widget cache for the window or null
          (It is done to avoid proliferation of (gethash window *widget-table*))
          had been declared inline.
      78a41366
    • hatchond's avatar
      The inner screen lists have been fired for vetor with fill-pointer. · dfc323d2
      hatchond authored
      One function add (exported):
       - restack-window (window screen &key (position 0)) [function]
         Changes the actual window position for the given one in the given screen.
         Does nothing if window insn't in the given screen.
         Does nothing if new position is out of the screen bounds.
      dfc323d2
    • hatchond's avatar
      Major modification to handle mapping-notify event. · c7d161d7
      hatchond authored
      Added mouse-stroke.
      
      please feel free to comment the next.
      
      
      (some minor changes in the action-key->lambda function where two
      entries had been added as predifined strokes: :move-window
      :resize-window they are mouse stroke).
      
         - stroke [protocol class]
      
         - stroke-name stroke [generic function]
           return the the name of the stroke as keyword.
      
         - default-modifiers-p stroke [generic function]
           return true if the default-modifiers should be applied. The
      default modifiers are :NUM-LOCK and :CAPS-LOCK
      
         - stroke-modifiers stroke [generic function]
           return a keyword list that represent the set of all possible
      modifiers used for creating this stroke. If the car of the returned
      list is :AND, then the modifiers cdr list should be considered as a
      composition.
      
         - stroke-action stroke [generic function]
           return the action (lambda (event) ..) to perform when this stroke
      is invoked.
      
         - stroke-keys stroke [generic function]
           return the keycodes list of the differents possible keys to
      invoke that stroke. (In the case of a mouse stroke, this list should
      contain one and only one integer ; which is a mouse button)
      
         - lookup-keystroke (code state) [function]
           return the keystroke that is registered for this particular
      combination (keycode . state), or nil.
      
         - lookup-mouse-stroke (button state) [function]
           return the mouse stroke hat is registered for this particular
      combination (button . state), or nil.
      
         - keycode-registered-p (keycode &optional (count 1)) [function]:
           return true if a keycode is used in the indicated range for
      registering a keystroke.
      
         - unregister-all-keystrokes () [function]:
           unregister all defined keystrokes.
      
         - register-all-keystrokes () [function]:
           register all defined keystrokes.
      
         - unregister-all-mouse-strokes () [function]:
           unregister all defined mouse-strokes.
      
         - register-all-mouse-strokes () [function]:
           register all defined mouse-strokes.
      
         - action ((&rest f1) (&rest f2)) [macro]:
           used to define a stroke action
           It simply checks for keywords :press or  :release
                       to  be the car of the forms and produces function
                       as follows:
      
                           (action (:press form1 form2) ())
                           (action () (:press form1 form2))
                              ==> (lambda (event)
                                    (typepcase event
                                      (key-press form1 form2)
                                      (key-release nil)))
      
                           (action
                             (:release form1 form2)
                             (:press another-form))
                              ==> (lambda (event)
                                    (typepcase event
                                      (key-press another-form)
                                      (key-release form1 form2)))
      
         - keystroke [class] represent a keystroke.
      
         - make-keystroke (name key-name-set modifiers default-modifiers-p
      action) [function]
           return a newly created keystroke.
      
         - keystroke-p (object) [function]
           return true if object is a keystroke.
      
         - mouse-stroke [class] represent a mouse-stroke.
      
         - make-mouse-stroke (name button modifiers default-modifiers-p
      action) [function]:
           return a newly created mouse-stroke.
      
         - mouse-stroke-p (stroke) [function]:
           return true if object is a mouse-stroke.
      
         - define-key-combo (name &key keys
      			        (default-modifiers-p t)
      				(modifiers :any)
      				fun)
           [function]: user interface to define keystroke.
           modifiers can be passed as:
             - composition of modifiers as '(:and :ALT-LEFT :CONTROL-RIGHT)
             - a simple modifier as :ALT-LEFT or 18 (a modifier mask)
             - a list of possible modifiers as '(:ALT-LEFT :CONTOL-RIGHT)
           keys is alist of keyword keys (see keysymdef.h)
           fun is function as defined by the macro action or by:
              (lambda (event) ...)
      
         - define-mouse-combo (name &key button
      				 (default-modifiers-p t)
      				 (modifiers :any)
      				 fun)
           [function]: user interface to define mouse stroke.
           modifiers can be passed as:
             - composition of modifiers as '(:and :ALT-LEFT :CONTROL-RIGHT)
             - a simple modifier as :ALT-LEFT or 18 (a modifier mask)
             - a list of possible modifiers as '(:ALT-LEFT :CONTOL-RIGHT)
           button is an integer that represent a mouse button.
           fun is function as defined by the macro action or by:
              (lambda (event) ...)
      c7d161d7
    • hatchond's avatar
      - lib/clx-ext/event.lisp: · ff403284
      hatchond authored
      two classes added, and some inheriting changed
      
        (defclass pointer-event (keyboard-pointer-event) ()) ;; added
      
        (defclass button-press (pointer-event) ())
        (defclass button-release (pointer-event) ())
        (defclass motion-notify (pointer-event) ())
      
        (defclass keyboard-event (keyboard-pointer-event) ()) ;; added
      
        (defclass key-press (keyboard-event) ())
        (defclass key-release (keyboard-event) ())
      
      - lib/clx-ext/package.lisp modified for exporting those two classes.
      
      - lib/clx-ext/keysyms.lisp:
      minor changes for handling mapping-notify event
      
         - modifier-map-changed-p display [function]:
           return true if the cached modifier map is obsolete in regards of
      the X server information. (exported)
      ff403284
  2. 15 Mar, 2003 1 commit
  3. 10 Feb, 2003 1 commit
  4. 03 Feb, 2003 1 commit
    • hatchond's avatar
      commit Christian Lynbech patch: · 0b992080
      hatchond authored
      CMUCL seems to have tighten the handling of certain things so this
      patch will do three necessary things:
      
      - in system.lisp (compile-theme) remove path from :output-file name as
        this includes path specs from the input file.
      
      - in wm.lisp (menu-3-prcess) removes the &allow-other-keys which CMUCL
        18d chokes on (some previous versions seemed more lax, they also
        accepted (lambda (&rest) ...) which 18d does not but you have gotten
        rid of that).
      
      - in lib/image-reader.lisp (load-ppm) changes function to use two
        streams as there are many things you cannot do on a non-character
        string including calling `unread-char'.
      0b992080
  5. 18 Dec, 2002 1 commit
  6. 12 Nov, 2002 2 commits
  7. 07 Nov, 2002 10 commits
  8. 04 Jul, 2002 1 commit
  9. 02 Jul, 2002 1 commit
    • hatchond's avatar
      added two more keystrokes. · 8196fcb4
      hatchond authored
      added some #. macro reader to avoid some consing in defconstant definitions.
      correct a type error in gnome-manager.lisp
      8196fcb4
  10. 24 Jun, 2002 5 commits
  11. 22 Jun, 2002 5 commits