1. 30 Sep, 2003 1 commit
    • hatchond's avatar
      Documentation added on almost all functions and methods. · e71096ac
      hatchond authored
      Minor modification in the move/resize process to make it a bit more stand alone.
      A "build-in" theme named no-decoration has been added. To use it do as usual:
       (setf (decoration-theme) "no-decoration")
       This isn't already in the man page but I will as soon as I can.
      e71096ac
  2. 16 Sep, 2003 4 commits
    • hatchond's avatar
      typo fix in lib/clx-ext/clx-extensions.lisp. · 3745f287
      hatchond authored
      wrong mapcar fix in gestures.lisp (due to the signature changes of modifier->modifier-mask.
      3745f287
    • hatchond's avatar
      - lib/clx-ext/clx-extensions.lisp, lib/clx-ext/cursor.lisp: · 7ffaeacc
      hatchond authored
        Documentation is almost complete.
      
      - lib/clx-ext/keysyms.lisp:
        The init function had been supressed. Instead we create our cache when needed
        and invalidate it when needed (e.g: if modifier-map-changed-p returns t).
      
        The modifier->modifier-mask now takes a display as first parameter
      
      - eclipse.lisp gestures.lisp: was calling init-keyboard.
      
      - gestures.lisp:
        The modifier->modifier-mask now takes a display as first parameter
      7ffaeacc
    • hatchond's avatar
      fix typo. · 4dbc7301
      hatchond authored
      4dbc7301
    • hatchond's avatar
      - misc.lisp: · a5552880
      hatchond authored
        lots documentation added
        gnome-desktop-num turned in window-desktop-num
      - input.lisp, wm.lisp, virtual-screen.lisp, package.lisp, global.lisp
        gnome-desktop-num -> window-desktop-num
      a5552880
  3. 15 Sep, 2003 1 commit
  4. 12 Sep, 2003 8 commits
  5. 11 Sep, 2003 2 commits
  6. 10 Sep, 2003 3 commits
  7. 09 Sep, 2003 2 commits
    • hatchond's avatar
      - fix a bug in iconifiy when we iconfiy an undecorated application. · 3f7c820e
      hatchond authored
      - fix (setf button-active-p) :after that have to be sure the master slots of the button is a decoration and not root.
      3f7c820e
    • hatchond's avatar
      patch for lookup-window and, lookup-pixmap. · 9d1028b1
      hatchond authored
      It seems that sometimes some id are still present in the clx display internal cache even when those resources have been destroyed. This has for effect that when the X server reallocate this id to a resource of another type than the previous one it provokes some internal error inside CLX. This patch correct this strange behavior. I know this not very satisfying but I can't see another solution at the present time.
      9d1028b1
  8. 08 Sep, 2003 6 commits
  9. 07 Sep, 2003 3 commits
  10. 04 Sep, 2003 2 commits
  11. 29 Aug, 2003 1 commit
  12. 28 Aug, 2003 5 commits
    • hatchond's avatar
      updated according to typo errors. · 0743244d
      hatchond authored
      0743244d
    • hatchond's avatar
      shade is now implemented (wm.lisp). · b20c403d
      hatchond authored
        To {un}shade a window double click on title bar.
      
        shaded-p widget: [generic function]
        return the actual shade state in the sens of the extended wm
        specification.
      
        timestamp: slot of the title-bar class. (NEW)
        :_net_wm_state_shaded added in +netwm-protocol+
      
      - *double-click-speed*: [global variable]
        use it to customize the time you want for double click.
        Default value: 200 (timestamp unit of the X server)
      
      - added support for the xvidmode extension
        (lib/clx-ext/xvidmode.lisp).
      
      - added support for :net_wm_state_{below, above} in input.lisp
      
      - the following methods have created for manipulating widgets stacking
        order.
      
        - put-on-top widget [generic function]
          sets the widget stacking order on top of the others.
      
        - put-on-bottom widget [generic function]
          sets the widget stacking order on bottom of the others (except if
          any widget with :_net_wm_type_desktop is present and widget is or
          an application or a decoration).
      
      - various  bug fix and improvements:
      
        - typo fix *wRAp-pointer-when-cycle* => *wARp-pointer-when-cycle*
      
        - set-focus now cares of the map state of the window it is supose to
          gives the focus to. (Should avoid lots of match-error).
          Wrong nil timestamp has been fixed.
          (wm.lisp)
      
        - minor change in the unmap-notify event handling. Closing an
          application should not any more systematically provoke a
          window-error error. (input.lisp)
      
        - fullscreen-mode should now be correct: the spec say it would be
          better to undecore the window when in fullscreen. It is now how it
          works. (widgets.lisp)
      
          (One more feature of this function is still under discussion in
          the freedesktop team that may introduce modifications in the
          future)
      
          typo fix full-screen-mode => fullscreen-mode
      
        - maximize-window signature changes (wm.lisp):
          It now expect an application instead of a decoration.
          This have been done because non decorated window should be
          able to be maximized as well as decorated one. It is now the
          case. It has serval side effects:
           - slot initial-geometry in class decoration doesn't exist
             anymore.
           - new private slot added in class application: max-geometry.
           - STROKES USING MAXIMIZE-WINDOW SHOULD BE UPDATED.
      
        - minor changes in update-edges-geometry, and move-resize.lisp.
      
        - clean up in eclipse.lisp (delete unused code).
      
        - virtual-screen.lisp re-implementation. It now use the X server
          data such the root window tree, and window property that hold the
          desktop number instead of a substructure hold by the root object
          that has to be updated each time you destroy, iconify, unicofy,
          shade, unshade, etc.
      b20c403d
    • hatchond's avatar
      event.lisp: · d2bb1ef2
      hatchond authored
       - does not complain anymore if it found an event that
         doesn't have a corresponding class.
       - fix type declaration error in initialize-event-table.
       - documentation added.
      clx-patch.lisp: xlib:input-focus bug.
      d2bb1ef2
    • hatchond's avatar
      netwm-manager.lisp: added new features from netwm specification. · 6e34c674
      hatchond authored
      image-reader.lisp:  few warnings fixed.
      6e34c674
    • hatchond's avatar
      first add. · 2b746a69
      hatchond authored
      2b746a69
  13. 11 Jun, 2003 1 commit
    • hatchond's avatar
      - package.lisp: now export almost every symbols. They are sorted in · 64c49c91
      hatchond authored
        alphabetical order and type order (class, generic function,
        function, ...)
      
      - input.lisp: minor modification in event-process for client-message on
        application. An application that does not support to be maximized in
        fullscreen don't have the _net_wm_state_fullscreen property sets
        anymore.
      
      - lib/clx-patch.lisp: fixed bug found in input-focus.
      
      - wm.lisp:
         focused-p modified.
         dispatch-repaint: new method for the repaint protocol.
         draw-focused-decoration & draw-unfocused-decoration: removed.
      
      - widget.lisp:
         focused-p modified.
         repaint implementations for icon, button and box-button.
      
      - themer.lisp: themes are now defined in their own packages.
      
      - themes/*/theme.lisp: All default themes converted in this new
        system.
      
      The rest concern what we discuss on precedent post about a repaint
      protocol.
      
      The two generic functions draw-on-focus-{in,out} had been supressed in
      favor of a single one named repaint.
      
       repaint widget name focus [generic function]
        This method is dedicated to widget repaint such as every buttons,
        icons, edges ...
        It is specialized on widget type, theme name (via an eql
        specializer) and a boolean that indicate if the corresponding
        toplevel (type decoration) is or not focused.
      
        Except for standard expose events, the repaint dispatching on focus
        change will be perform according to parts-to-redraw-on-focus list
        given in define-theme.
      
        The core of eclipse provide some basic implementation for the
        repaint method:
      
        (defmethod repaint ((widget base-widget) theme-name (focused-p t))
          (values))
      
        (defmethod repaint ((widget button) theme-name (focused-p t))
          ;; draw a pixmap if the button provide a pixmap to display when
          ;; toplevel is focused.
          ;; in case of title bar draw a centered text corresponding to the app
          ;; name.
          )
      
        (defmethod repaint ((widget button) theme-name (focused-p null))
          ;; clear the button.
          )
      
        (defmethod repaint ((widget box-button) theme-name focused-p)
          ;; draw the message that is displayed by this box.
          )
      
        (defmethod repaint ((widget icon) theme-name focused-p)
          ;; draw the icon name if aplication does not provide a pixmap for it.
          )
      
        This method is expected to be overloaded by theme implementors as
        well as to be exported by theme package definition.
      
        Theme implementation notes:
        --------------------------
      
         - themes are supposed to be defined in their own packages.
         - theme package definition should be suplied.
         - the naming convention for themes packages is:
           <theme-name>-ECLIPSE-THEME.
      
         Typically a theme package will export at least two symbols:
          - INITIALIZE-FRAME
          - REPAINT
      
         Here comes an example of how defining a theme (see our predefined
         themes for more):
      
         ;;; -*- Mode: Lisp; Package: FOO-ECLIPSE-THEME -*-
         ;;; GPL Disclaimer for example.
         ;;; file theme.lisp
      
         (common-lisp:in-package :common-lisp-user)
      
         (defpackage "FOO-ECLIPSE-THEME"
           (:use eclipse clx-ext common-lisp)
           (:size 10)
           (:export repaint initialize-frame)
           (:documentation
            "Foo theme decoration for the eclipse window manager. Written by ...")
           )
      
         (in-package "FOO-ECLIPSE-THEME")
      
         (define-theme "Foo"
             ;; the rest of the definition
             )
      
         (defmethod repaint ((widget title-bar) (name (eql "Foo")) (focus t))
           "handle repaint WHEN focused."
           ;; do some stuff
           )
      
         (defmethod repaint ((widget title-bar) (name (eql "Foo")) (focus null))
           "handle repaint WHEN NOT focused."
           ;; do some stuff
           )
      
         (defun bar ()
           ;; do what you want
           )
      
         ;;; end of theme.lisp
      64c49c91
  14. 14 May, 2003 1 commit
    • hatchond's avatar
      ICCCM complience and extended window manager specification complience. · eaabc4cf
      hatchond authored
       - bugs fix relative to ewt wm spec (i.e.: we now should interact correctly with gnome 2.2)
       - added ICCCM session managment complience: we now use/react to the owning of the WM_S{screen number} selection. see ICCCM 2.8
      
      we still need gnome session managment conection.
      eaabc4cf