<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel about="http://blog.gmane.org/gmane.lisp.mcclim.devel">
    <title>gmane.lisp.mcclim.devel</title>
    <link>http://blog.gmane.org/gmane.lisp.mcclim.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1694"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1693"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1689"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1685"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1683"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1679"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1677"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1675"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1673"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1667"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1657"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1651"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1650"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1644"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1637"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1636"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1633"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1628"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1627"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.mcclim.devel/1614"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1694">
    <title>Redisplay and pixmaps</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1694</link>
    <description>Hi *,

I'm new to CLIM and currently looking for a good (and simple) way to
redisplay a rendered picture (my toy program is an mandelbrot
generator).

My problem is, that the :display-function which in my case simply copies
a pixmap to the application pane is less often called than actual
redisplay is needed.

Given the following simple example code:

--8&lt;---------------cut here---------------start-------------&gt;8---
(in-package :common-lisp-user)

(defpackage "APP"
  (:use :clim :clim-lisp)
  (:export "APP-MAIN"))

(in-package :app)

(define-application-frame superapp ()
  ((gfx :initform nil :accessor gfx)
   (redisplay-counter :initform 0 :accessor redisplaynr))
  (:pointer-documentation t)
  (:panes
   (app :application :display-function #'redraw-gfx
   :height 400 :width 600)
   (int :interactor :height 400 :width 600))
  (:layouts
   (default (vertically () app int))))

(define-superapp-command (com-draw :name t) ()
  (setf (gfx *application-frame*)
  (allocate-pixmap (frame-standard-output *application-frame*)
                                           600 400))
  (draw-line* (gfx *application-frame*) 0 0 599 399 :ink +red+))

(defun redraw-gfx (frame pane)
  (if (gfx frame)
      (progn (copy-from-pixmap (gfx frame) 0 0 600 400 pane 10 10)
           (format pane "Redisplay #~a" (incf (redisplaynr frame))))
      (format pane "No pic yet...")))

(defun app-main ()
  (run-frame-top-level (make-application-frame 'superapp)))
--8&lt;---------------cut here---------------end---------------&gt;8---

Run and issue the command "Draw", ok now the pixmap is displayed.  But
when a part of the frame is obscured by another window after getting the
CLIM frame back to front the redisplay function is _not_ called.  (Can
be seen, both, by not refreshing the pixmap and not incrementing the
redisplay-counter).

BUT: The string "Redisplay #1" _is_ redrawn, so some more low level part
of CLIM knows that a redraw is needed and does that for the text send to
the standard output stream.

So two questions:
1. What do I have to do, so that the 
</description>
    <dc:creator>Sascha Wilde</dc:creator>
    <dc:date>2008-08-11T09:19:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1693">
    <title>Retaining pane view on resize</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1693</link>
    <description>Hi,

Is there a way of ensuring that the bottom of a pane remains visible as the parent frame is resized? What I mean is when the frame is resized from the bottom the lower edge of the pane retains its relative position. I am thinking of something equivalent to ACL Common Graphics :bottom-attachment option.

Many thanks 


      __________________________________________________________
Not happy with your email address?.
Get the one you really want - millions of new email addresses available now at Yahoo! http://uk.docs.yahoo.com/ymail/new.html
</description>
    <dc:creator>christopher melen</dc:creator>
    <dc:date>2008-08-07T17:36:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1689">
    <title>[PATCH] Drei: adding some PRINT-OBJECTs forlambda-list related objects.</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1689</link>
    <description>
Hi all,

You'll find a small patch attached which adds some PRINT-OBJECTs for
more descriptive results at the REPL; for example objects representing
lambda-lists will be printed like

#&lt;ORDINARY-LAMBDA-LIST (R1 R2 R3 &amp;OPTIONAL O1 O2 &amp;KEY K1 ...) {ACC8261}&gt;

instead of

#&lt;ORDINARY-LAMBDA-LIST {ACC8261}&gt;

I'm thinking of splitting out, and extending the lambda-list stuff into
a standalone library. Now I wonder why all the lambda-list relevant
classes only define reader methods for their slots. Is there some
intentional purpose behind this functional design, or is it just this
way because of KISS and YAGNI?

  -T.


</description>
    <dc:creator>Tobias C. Rittweiler</dc:creator>
    <dc:date>2008-07-15T21:45:27</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1685">
    <title>Interactor's Describe problem</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1685</link>
    <description>When I type in interactor "Describe" and then Space and then Return, I
have the following error:

debugger invoked on a DREI-BUFFER:OFFSET-AFTER-END in thread #&lt;THREAD
"initial thread" {A66B751}&gt;:
  Offset after end: 20

I'm using SBCL and McCLIM from CVS.

</description>
    <dc:creator>Stas Boukarev</dc:creator>
    <dc:date>2008-06-29T22:29:44</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1683">
    <title>Crude multilingual input: CLX meets XKB's body parts.</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1683</link>
    <description>
Dear list, the following is my attempt to get some cyrillic characters
from my keyboard into McCLIM. It is a little crude, and definitely
requires some love before it is in a shape to go in, but it appears to
work for me.

Of course I'm sending the CLX part to a wrong list.

What it does?

1. CLX part

First, it tells CLX to ask the X server to enable XKEYBOARD.
This part wants to be performed conditionally, depending on the
extension's existence, obviously, which I skipped.

Next, it defines keysym -&gt; CL character mappings for the
Cyrillic part of Unicode.

2. McCLIM side

Teach McCLIM to use the extended state bits (those reserved in
the core protocol) in the key-press/release events. This part
is rather agnostic wrt. XKEYBOARD presence, by design of the latter.

Honestly, x-event-to-key-name-and-modifiers appeared like a
low-pass filter to me, and I'm not sure what was the proper way
to approach it. So I just plastered the extended bits over,
without spending much time to understand what I was doing.


Anyway, hopefully this appears more useful than harmful.


regards, Samium Gromoff


diff --git a/clx.asd b/clx.asd
--- a/clx.asd
+++ b/clx.asd
&lt; at &gt;&lt; at &gt; -70,6 +70,7 &lt; at &gt;&lt; at &gt;
       ((:file "shape")
        (:file "big-requests")
        (:file "xvidmode")
+       (:file "xkeyboard")
        (:xrender-source-file "xrender")
                (:file "glx")
                (:file "gl" :depends-on ("glx"))
diff --git a/display.lisp b/display.lisp
--- a/display.lisp
+++ b/display.lisp
&lt; at &gt;&lt; at &gt; -392,6 +392,7 &lt; at &gt;&lt; at &gt; gethostname(3) - is used instead."
   (initialize-resource-allocator disp)
   (initialize-predefined-atoms disp)
   (initialize-extensions disp)
+          (xkb-enable disp)
   (when (assoc "BIG-REQUESTS" (display-extension-alist disp)
        :test #'string=)
     (enable-big-requests disp))
--- a/xkeyboard.lisp   2008-06-10 07:06:18.024003983 +0400
+++ b/xkeyboard.lisp   2008-06-23 01:20:07.000000000 +0400
&lt; at &gt;&lt; at &gt; -0,0 +1,19 &lt; at &gt;&lt; at &gt;
+(in-package :xlib)
+
+(define-extension "XKEYBOARD"
+  :events () 
+  :errors (xf86-xkeyboard-keyboard))
+
+(define-condition xf86-xkeyboard-keyboard (request-error) ())
+
+(define-error xf86-xkeyboard-keyboard decode-core-error)
+
+(defconstant +xkb-enable+ 0)
+
+(defun xkb-enable (display)
+  (declare (type display display))
+  (with-buffer-request-and-reply (display (extension-opcode display "XKEYBOARD") nil :sizes (8 16))
+    ((data +xkb-enable+)
+     (card16 1)
+     (card16 0))
+    (values (boolean-get 8))))
diff --git a/keysyms.lisp b/keysyms.lisp
--- a/keysyms.lisp
+++ b/keysyms.lisp
&lt; at &gt;&lt; at &gt; -157,6 +157,100 &lt; at &gt;&lt; at &gt;
 (define-keysym #\} 125)
 (define-keysym #\~ 126)
 
+;; (define-keysym #\SERBIAN_dje (keysym 6 #xa1))
+;; (define-keysym #\MACEDONIA_gje (keysym 6 #xa2))
+(define-keysym #\CYRILLIC_small_letter_io (keysym 6 #xa3))
+;; (define-keysym #\UKRAINIAN_ie (keysym 6 #xa4))
+;; (define-keysym #\MACEDONIA_dse (keysym 6 #xa5))
+;; (define-keysym #\UKRAINIAN_i (keysym 6 #xa6))
+;; (define-keysym #\UKRAINIAN_yi (keysym 6 #xa7))
+(define-keysym #\CYRILLIC_small_letter_je (keysym 6 #xa8))
+(define-keysym #\CYRILLIC_small_letter_lje (keysym 6 #xa9))
+(define-keysym #\CYRILLIC_small_letter_nje (keysym 6 #xaa))
+;; (define-keysym #\SERBIAN_tshe (keysym 6 #xab))
+;; (define-keysym #\MACEDONIA_kje (keysym 6 #xac))
+;; (define-keysym #\BYELORUSSIAN_shortu (keysym 6 #xae))
+(define-keysym #\CYRILLIC_small_letter_dzhe (keysym 6 #xaf))
+;; (define-keysym #\NUMEROSIGN (keysym 6 #xb0))
+;; (define-keysym #\SERBIAN_DJE (keysym 6 #xb1))
+;; (define-keysym #\MACEDONIA_GJE (keysym 6 #xb2))
+(define-keysym #\CYRILLIC_CAPITAL_LETTER_IO (keysym 6 #xb3))
+;; (define-keysym #\UKRAINIAN_IE (keysym 6 #xb4))
+;; (define-keysym #\MACEDONIA_DSE (keysym 6 #xb5))
+;; (define-keysym #\UKRAINIAN_I (keysym 6 #xb6))
+;; (define-keysym #\UKRAINIAN_YI (keysym 6 #xb7))
+(define-keysym #\CYRILLIC_CAPITAL_LETTER_JE (keysym 6 #xb8))
+(define-keysym #\CYRILLIC_CAPITAL_LETTER_LJE (keysym 6 #xb9))
+(define-keysym #\CYRILLIC_CAPITAL_LETTER_NJE (keysym 6 #xba))
+;; (define-keysym #\SERBIAN_TSHE (keysym 6 #xbb))
+;; (define-keysym #\MACEDONIA_KJE (keysym 6 #xbc))
+;; (define-keysym #\BYELORUSSIAN_SHORTU (keysym 6 #xbe))
+(define-keysym #\CYRILLIC_CAPITAL_LETTER_DZHE (keysym 6 #xbf))
+(define-keysym #\CYRILLIC_small_letter_yu (keysym 6 #xc0))
+(define-keysym #\CYRILLIC_small_letter_a (keysym 6 #xc1))
+(define-keysym #\CYRILLIC_small_letter_be (keysym 6 #xc2))
+(define-keysym #\CYRILLIC_small_letter_tse (keysym 6 #xc3))
+(define-keysym #\CYRILLIC_small_letter_de (keysym 6 #xc4))
+(define-keysym #\CYRILLIC_small_letter_ie (keysym 6 #xc5))
+(define-keysym #\CYRILLIC_small_letter_ef (keysym 6 #xc6))
+(define-keysym #\CYRILLIC_small_letter_ghe (keysym 6 #xc7))
+(define-keysym #\CYRILLIC_small_letter_ha (keysym 6 #xc8))
+(define-keysym #\CYRILLIC_small_letter_i (keysym 6 #xc9))
+(define-keysym #\CYRILLIC_small_letter_short_i (keysym 6 #xca))
+(define-keysym #\CYRILLIC_small_letter_ka (keysym 6 #xcb))
+(define-keysym #\CYRILLIC_small_letter_el (keysym 6 #xcc))
+(define-keysym #\CYRILLIC_small_letter_em (keysym 6 #xcd))
+(define-keysym #\CYRILLIC_small_letter_en (keysym 6 #xce))
+(define-keysym #\CYRILLIC_small_letter_o (keysym 6 #xcf))
+(define-keysym #\CYRILLIC_small_letter_pe (keysym 6 #xd0))
+(define-keysym #\CYRILLIC_small_letter_ya (keysym 6 #xd1))
+(define-keysym #\CYRILLIC_small_letter_er (keysym 6 #xd2))
+(define-keysym #\CYRILLIC_small_letter_es (keysym 6 #xd3))
+(define-keysym #\CYRILLIC_small_letter_te (keysym 6 #xd4))
+(define-keysym #\CYRILLIC_small_letter_u (keysym 6 #xd5))
+(define-keysym #\CYRILLIC_small_letter_zhe (keysym 6 #xd6))
+(define-keysym #\CYRILLIC_small_letter_ve (keysym 6 #xd7))
+(define-keysym #\CYRILLIC_small_letter_soft_sign (keysym 6 #xd8))
+(define-keysym #\CYRILLIC_small_letter_yeru (keysym 6 #xd9))
+(define-keysym #\CYRILLIC_small_letter_ze (keysym 6 #xda))
+(define-keysym #\CYRILLIC_small_letter_sha (keysym 6 #xdb))
+(define-keysym #\CYRILLIC_small_letter_e (keysym 6 #xdc))
+(define-keysym #\CYRILLIC_small_letter_shcha (keysym 6 #xdd))
+(define-keysym #\CYRILLIC_small_letter_che (keysym 6 #xde))
+(define-keysym #\CYRILLIC_small_letter_hard_sign (keysym 6 #xdf))
+(define-keysym #\CYRILLIC_capital_letter_YU (keysym 6 #xe0))
+(define-keysym #\CYRILLIC_capital_letter_A (keysym 6 #xe1))
+(define-keysym #\CYRILLIC_capital_letter_BE (keysym 6 #xe2))
+(define-keysym #\CYRILLIC_capital_letter_TSE (keysym 6 #xe3))
+(define-keysym #\CYRILLIC_capital_letter_DE (keysym 6 #xe4))
+(define-keysym #\CYRILLIC_capital_letter_IE (keysym 6 #xe5))
+(define-keysym #\CYRILLIC_capital_letter_EF (keysym 6 #xe6))
+(define-keysym #\CYRILLIC_capital_letter_GHE (keysym 6 #xe7))
+(define-keysym #\CYRILLIC_capital_letter_HA (keysym 6 #xe8))
+(define-keysym #\CYRILLIC_capital_letter_I (keysym 6 #xe9))
+(define-keysym #\CYRILLIC_capital_letter_SHORT_I (keysym 6 #xea))
+(define-keysym #\CYRILLIC_capital_letter_KA (keysym 6 #xeb))
+(define-keysym #\CYRILLIC_capital_letter_EL (keysym 6 #xec))
+(define-keysym #\CYRILLIC_capital_letter_EM (keysym 6 #xed))
+(define-keysym #\CYRILLIC_capital_letter_EN (keysym 6 #xee))
+(define-keysym #\CYRILLIC_capital_letter_O (keysym 6 #xef))
+(define-keysym #\CYRILLIC_capital_letter_PE (keysym 6 #xf0))
+(define-keysym #\CYRILLIC_capital_letter_YA (keysym 6 #xf1))
+(define-keysym #\CYRILLIC_capital_letter_ER (keysym 6 #xf2))
+(define-keysym #\CYRILLIC_capital_letter_ES (keysym 6 #xf3))
+(define-keysym #\CYRILLIC_capital_letter_TE (keysym 6 #xf4))
+(define-keysym #\CYRILLIC_capital_letter_U (keysym 6 #xf5))
+(define-keysym #\CYRILLIC_capital_letter_ZHE (keysym 6 #xf6))
+(define-keysym #\CYRILLIC_capital_letter_VE (keysym 6 #xf7))
+(define-keysym #\CYRILLIC_capital_letter_SOFT_SIGN (keysym 6 #xf8))
+(define-keysym #\CYRILLIC_capital_letter_YERU (keysym 6 #xf9))
+(define-keysym #\CYRILLIC_capital_letter_ZE (keysym 6 #xfa))
+(define-keysym #\CYRILLIC_capital_letter_SHA (keysym 6 #xfb))
+(define-keysym #\CYRILLIC_capital_letter_E (keysym 6 #xfc))
+(define-keysym #\CYRILLIC_capital_letter_SHCHA (keysym 6 #xfd))
+(define-keysym #\CYRILLIC_capital_letter_CHE (keysym 6 #xfe))
+(define-keysym #\CYRILLIC_capital_letter_HARD_SIGN (keysym 6 #xff))
+
 (progn   ;; Semi-standard characters
   (define-keysym #\rubout (keysym 255 255)); :tty
   (define-keysym #\tab (keysym 255 009)); :tty

diff --git a/Backends/CLX/keysyms-common.lisp b/Backends/CLX/keysyms-common.lisp
--- a/Backends/CLX/keysyms-common.lisp
+++ b/Backends/CLX/keysyms-common.lisp
&lt; at &gt;&lt; at &gt; -118,8 +118,8 &lt; at &gt;&lt; at &gt;
 
 (defgeneric x-event-state-modifiers (port state)
   (:documentation "For the X STATE, returns as multiple values, the
-  corresponding set of CLIM modifiers and flags for shift lock, caps lock, and
-  mode switch."))
+  corresponding set of CLIM modifiers and flags for shift lock, caps lock, 
+  mode switch and the group number."))
 
 (defmethod x-event-state-modifiers ((port keysym-port-mixin) state)
   (with-accessors ((modifier-cache modifier-cache))
&lt; at &gt;&lt; at &gt; -133,7 +133,8 &lt; at &gt;&lt; at &gt;
       (values clim-modifiers
       (logtest +shift-lock+ other-modifiers)
       (logtest +caps-lock+ other-modifiers)
-      (logtest +mode-switch+ other-modifiers)))))
+      (logtest +mode-switch+ other-modifiers)
+              (ldb (byte 2 13) state)))))
 
 (defun modify-modifiers (event-key keysym-keyword modifiers)
   (let ((keysym-modifier (loop for (keysyms modifier) in +clim-modifiers+
diff --git a/Backends/CLX/keysyms.lisp b/Backends/CLX/keysyms.lisp
--- a/Backends/CLX/keysyms.lisp
+++ b/Backends/CLX/keysyms.lisp
&lt; at &gt;&lt; at &gt; -40,7 +40,7 &lt; at &gt;&lt; at &gt;
 ;;; reflect the post event state.
 
 (defun x-event-to-key-name-and-modifiers (port event-key keycode state)
-  (multiple-value-bind (clim-modifiers shift-lock? caps-lock? mode-switch?)
+  (multiple-value-bind (clim-modifiers shift-lock? caps-lock? mode-switch? group-number)
       (clim-xcommon:x-event-state-modifiers port state)
     ;; We filter away the shift state if there is a difference between
     ;; the shifted and unshifted keysym. This is so eg. #\A will not
&lt; at &gt;&lt; at &gt; -53,10 +53,12 &lt; at &gt;&lt; at &gt;
                                 (if caps-lock? t shift?)))
    (shifted-keysym (xlib:keycode-&gt;keysym display keycode 
                                                  (+ 1 (if mode-switch?
-                                                          2 0))))
+                                                          2 0)
+                                                    (ash group-number 1))))
            (unshifted-keysym (xlib:keycode-&gt;keysym display keycode 
-                                                   (if mode-switch?
-                                                       2 0)))
+                                                   (+ (if mode-switch?
+                                                          2 0)
+                                                      (ash group-number 1))))
            (keysym (if shift-modifier?
                        shifted-keysym
                        unshifted-keysym)))

</description>
    <dc:creator>Samium Gromoff</dc:creator>
    <dc:date>2008-06-22T21:31:25</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1679">
    <title>SET-KEY does not add command to the table</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1679</link>
    <description>...resulting in various command being described as be "in an unknow
command-table".

Is this a feature or a bug?

Cheers,

 -- Nikodemus
</description>
    <dc:creator>Nikodemus Siivola</dc:creator>
    <dc:date>2008-06-08T16:16:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1677">
    <title>Patch: compile-string-for-drei</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1677</link>
    <description>Current SWANK requires a fourth argument to COMPILE-STRING-FOR-EMACS,
to indicate if the compilation should be done with maximum debug
settings or not.

Attached patch passes NIL there, in order to unbreak C-c C-c in Climacs.

Cheers,

 -- Nikodemus
</description>
    <dc:creator>Nikodemus Siivola</dc:creator>
    <dc:date>2008-06-07T12:38:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1675">
    <title>[PATCH] Bogus printer function for menu-choose in call-presentation-menu.</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1675</link>
    <description>
Hello list,

the supplied patch heals a right-click-on-presentation context-menu blowup
in gtkairo:

diff --git a/presentations.lisp b/presentations.lisp
--- a/presentations.lisp
+++ b/presentations.lisp
&lt; at &gt;&lt; at &gt; -1950,7 +1950,7 &lt; at &gt;&lt; at &gt; a presentation"
                        :label label
                        :associated-window window
                        :printer #'(lambda (item stream)
-                                    (let ((object (first item)))
+                                    (let ((object item))
                                      (document-presentation-translator
                                       (presentation-translator-menu-item-translator object)
                                       (presentation-translator-menu-item-presentation object)


Tested with the CLX backend as well, seems to work.

                                       
regards, Samium Gromoff                                       
</description>
    <dc:creator>Samium Gromoff</dc:creator>
    <dc:date>2008-06-05T22:38:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1673">
    <title>"Recent news" typo</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1673</link>
    <description>Hi,

On http://common-lisp.net/project/mcclim/, under "Recent News", the  
recent "St. George's Day" release is shown as having occurred in 2007  
rather than 2008.

</description>
    <dc:creator>Scott L. Burson</dc:creator>
    <dc:date>2008-05-22T19:21:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1667">
    <title>McClim up and running</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1667</link>
    <description>OK so I have McClim up and running on my Mac (PPC with
OS X 10.4.9). I've tried it with two Lisps so far,
OpenMCL (now Clozure CL) and SBCL. Some observations -

1. SBCL works best. I had some problems with the
listener under OpenMCL, especially when I tried to
change the path  (complained that it was 'not of type
LIST').
2. I have to run it with Apple's X11 - which is not a
problem for me, as I use it frequently, but I was
wondering if anyone's got it running without it. I had
to set the DISPLAY environment variable in my
.bash_profile to 127.0.0.1:0.0. So I have to run it
from the terminal or an xterm, not from Emacs Slime
(my preferred set-up).
3. When an app starts (for instance, the listener, or
Gsharp) it takes a while to 'come alive'. Menus aren't
usable for about a minute. After that it's OK, though,
and I can restart an app (in the same Lisp session)
without issue. I think I've only encountered this
problem with SBCL.
4. I have also tried to get McClim running on my
Windows box. I can compile it for Clisp (native Cygwin
version, haven't tried the Win32 port), but when I try
and run the Listener or any of the demos it just hangs
(even with Cygwin's X11 running). I have also tried
using the Win32 port of SBCL, but for some reason CLX
won't compile on that. Might give ACL a go, if I can
get ASDF to work properly with it. 
4. I am hoping to use McClim to build the gui for my
current project. I am keen to use it because of the
fact that it's Lisp all the way through, unlike other
Lisp-based gui kits (Ltk, cells-gtk, lispbuilder, for
example) which, while perhaps slicker, feel a bit
superficial (just wrappers for Tcl/Tk, Gtk, etc.). I
have been tempted to fork out for ACL or LispWorks,
but then there are licensing issues when it comes to
redistributing my application. So I really want to
stick with McClim.

Any thoughts/comments much appreciated.

Thanks,
Chris


      __________________________________________________________
Sent from Yahoo! Mail.
A Smarter Email http://uk.docs.yahoo.com/nowyoucan.html
</description>
    <dc:creator>christopher melen</dc:creator>
    <dc:date>2008-05-17T16:26:26</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1657">
    <title>cl-jpeg dependency with ASDF-install (bug?)</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1657</link>
    <description>When I try to ASDF-install McClim (on Mac OS X) it
complains that it can't install a dependency, cl-jpeg.
This library appears to be no longer available. 


      __________________________________________________________
Sent from Yahoo! Mail.
A Smarter Email http://uk.docs.yahoo.com/nowyoucan.html
</description>
    <dc:creator>christopher melen</dc:creator>
    <dc:date>2008-05-12T18:01:56</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1651">
    <title>Gadget based accepting-values</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1651</link>
    <description>
Greetings,

Attached is a patch, accepting-values-gadgets-1, that makes
accepting-values capable of working of with gadget based views. The
(probably) uncontroversal part is exporting the CLIM 2.2 (from the
Franz user guide) gadget views and the related constants. 

I added view-gadget-initargs support to gadget-view so gadgets can be
created properly. The code merely stashes all the provided initargs
into a slot and does no sanity checking. Should this somehow verify
that the initargs are valid for the related gadget class? If so, what
would be the cleanest way?

I also caught the lack of a +check-box-view+ and added it.

To the frame-manager protocol class I added the CLIM 2.2
frame-manager-dialog-view method which (for now) defaults to a
textual rather than gadget based view. I noticed the XXX comment
attached so I am unsure if this is an OK place to add it.

accepting-values-stream now returns the frame manager dialog view as
its stream-default-view. The Franz user guide says that this ought to
be setfable; to which class should I add the slot and accessor?

To accepting-values itself I moved the final cleanup of the input
editor records into a generic, finally-finalize-query-record, so that
accept-present-default methods that don't contain a text editing field
can actually work.

There are a few quick hackish methods for accepting from a
text-field-view/gadget-dialog-view (the assumption being that they
contain an input editing record so just calling them with
+textual-dialog-view+ will work). I also reworked the
accept-present-default for text-field-view to always call the
textual-dialog-view method even if the width is not set.

Also attached is avg.lisp which is a work in progress I'd like someone
a bit more knowledgeable about CLIM to look at which implements gadget
based accepting-values methods as per the Franz user guide. This is
loosely based upon the public domain code found in [1]. If it looks ok
I can split it up into the appropriate files in McCLIM and submit a
patch. It seems to work well enough, but I am unsure if I have
implemented things well. The most suspect bit is line 225 where I set
the cache-test of the updating-output-record to return t always. I was
having problems with a new gadget being created every time the value
changed.

gui.lisp contains a small test frame for testing whether the gadgets
actually work.

[1] http://osdir.com/ml/lisp.mcclim.devel/2006-04/msg00069.html



</description>
    <dc:creator>Clinton Ebadi</dc:creator>
    <dc:date>2008-05-07T22:15:17</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1650">
    <title>Small patch for pixie look sliders</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1650</link>
    <description>
Greetings,

When testing a small program I noticed that the value-changed
callbacks in pixie look sliders were not being called. I compared the
handle-event methods for the concrete gadget and pixie looks, and I
think the attached patch is the correct fix (and just copied from
(handle-event &lt;slider-pane&gt; &lt;pointer-button-release-event&gt;)).



</description>
    <dc:creator>Clinton Ebadi</dc:creator>
    <dc:date>2008-05-06T19:25:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1644">
    <title>McCLIM 0.9.6 release</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1644</link>
    <description>I fixed the abomination that was MCCLIM-IMAGES, so I think we can do a
release very soon. Since there has been so few changes as of late, a
relatively short freeze period would be preferable.

Can anyone think of a holiday we can use?

</description>
    <dc:creator>Troels Henriksen</dc:creator>
    <dc:date>2008-04-14T17:22:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1637">
    <title>pb with latest version</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1637</link>
    <description>Hello,

I did a cvs update in the wrong window and got my working mcclim updated 
without wanting it.
I did remove all object files and recompile everything.
But none of my clim applications run. So I tried with the clim-demo 
calculator which fails
as well (although with a different error but the error is always related 
to DREI).

Does everybody have this problem or just me? Should I try to go back to 
an earlier
version?

Thanks in advance for your help.

Irène
PS: I am on linux with SBCL 1.0.9

CLIM-DEMO&gt; (calculator)
---------------------------------------------------------------------------------------------------------------------------------------------------------------
There is no applicable method for the generic function
  #&lt;STANDARD-GENERIC-FUNCTION DREI-BUFFER:BUFFER (8)&gt;
when called with arguments
  (#&lt;CLIM-INTERNALS::DREI-TEXT-FIELD-SUBSTRATE "(Unnamed Pane)" {AD180A9}&gt;).
   [Condition of type SIMPLE-ERROR]

Restarts:
  0: [ABORT-REQUEST] Abort handling SLIME request.
  1: [TERMINATE-THREAD] Terminate this thread (#&lt;THREAD "repl-thread" 
{CA7BA99}&gt;)

Backtrace:
  0: ((SB-PCL::FAST-METHOD NO-APPLICABLE-METHOD (T)) #&lt;unavailable 
argument&gt; #&lt;unavailable argument&gt; #&lt;STANDARD-GENERIC-FUNCTION 
DREI-BUFFER:BUFFER (8)&gt;)
  1: ((SB-PCL::FAST-METHOD GADGET-VALUE (DREI:DREI-GADGET-PANE)) 
#&lt;unavailable argument&gt; #&lt;unavailable argument&gt; 
#&lt;CLIM-INTERNALS::DREI-TEXT-FIELD-SUBSTRATE "(Unnamed Pane)" {AD180A9}&gt;)
  2: ((LABELS #:G125) #&lt;CLIM-CLX::CLX-MEDIUM {AD46CF1}&gt;)

</description>
    <dc:creator>Irene DURAND</dc:creator>
    <dc:date>2008-03-28T15:16:31</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1636">
    <title>"Show file" gives blanc window</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1636</link>
    <description>On Allegro 8.1 I have an issue with showing a text file contents, via
the "Show file" menu option. Sometimes the contents is shown, but
about 80% of the time the window popping up is blanc. If the text file
contains several lines then the lines quickly scroll by when the
window is opened, but the result is still a blanc window. Resizing the
window does not trigger drawing either.

Regards,
- Willem
</description>
    <dc:creator>Willem Broekema</dc:creator>
    <dc:date>2008-03-23T10:26:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1633">
    <title>Drei issues</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1633</link>
    <description>Hi,
The following two issues in Drei came up in Allegro 8.1:

1. In Drei/syntax.lisp in update-lex there is a call to undefined
function low-mark.

2. In the listener, I try to show a picture from a file. Typing in the
accept box for the filename gives the following error (normally caught
in av-do-accept, but I disabled the catch-all handler):

Error: missing value for argument DREI::RELATIVE-CHUNK-END-OFFSET
  [condition type: SIMPLE-ERROR]

Restart actions (select using :continue):
 0: Return to application command loop
 1: Return to Top Level (an "abort" restart).
 2: Abort entirely from this (lisp) process.
[1] CLIM-USER(63): :zo
Evaluation stack:

   (ERROR SIMPLE-ERROR :FORMAT-CONTROL ...)
 -&gt;(DREI::FETCH-CHUNK #&lt;DREI:BUFFER-LINE &lt; at &gt; #x117fa84a&gt; 1)
   (DREI:BUFFER-VIEW-STROKE-PUMP #&lt;DREI:TEXTUAL-DREI-SYNTAX-VIEW name:
*scratch* 1 &lt; at &gt; #x1113c3b2&gt;
                                 #S(DREI::DISPLAYED-STROKE
:START-OFFSET NIL ...) ...)
   ((METHOD DREI:STROKE-PUMP-WITH-SYNTAX
     (DREI:TEXTUAL-DREI-SYNTAX-VIEW
DREI-FUNDAMENTAL-SYNTAX:FUNDAMENTAL-SYNTAX T T))
      #&lt;DREI:TEXTUAL-DREI-SYNTAX-VIEW name: *scratch* 1 &lt; at &gt; #x1113c3b2&gt;
      #&lt;DREI-FUNDAMENTAL-SYNTAX:FUNDAMENTAL-SYNTAX &lt; at &gt; #x1113c3c2&gt; ...)
   [... DREI:STROKE-PUMP-WITH-SYNTAX ]
   ((METHOD DREI:STROKE-PUMP (DREI:DREI-SYNTAX-VIEW T T))
      #&lt;DREI:TEXTUAL-DREI-SYNTAX-VIEW name: *scratch* 1 &lt; at &gt; #x1113c3b2&gt;
      #S(DREI::DISPLAYED-STROKE :START-OFFSET NIL ...) ...)
   ((METHOD DREI:STROKE-PUMP :AROUND (DREI:DREI-BUFFER-VIEW
DREI::DISPLAYED-STROKE T))
      #&lt;DREI:TEXTUAL-DREI-SYNTAX-VIEW name: *scratch* 1 &lt; at &gt; #x1113c3b2&gt;
      #S(DREI::DISPLAYED-STROKE :START-OFFSET NIL ...) ...)
   ((:INTERNAL (:EFFECTIVE-METHOD 3 NIL NIL T T) 0)
      #&lt;DREI:TEXTUAL-DREI-SYNTAX-VIEW name: *scratch* 1 &lt; at &gt; #x1113c3b2&gt;
      #S(DREI::DISPLAYED-STROKE :START-OFFSET NIL ...) ...)
   (DREI::PUT-STROKE #&lt;DREI:TEXTUAL-DREI-SYNTAX-VIEW name: *scratch* 1
&lt; at &gt; #x1113c3b2&gt;
                     #S(DREI::DISPLAYED-LINE :START-OFFSET 0 ...) ...)
   (DREI::DRAW-LINE-STROKES
      #&lt;CLIM-LISTENER::LISTENER-INTERACTOR-PANE
CLIM-LISTENER::INTERACTOR &lt; at &gt; #x1109c912&gt;
      #&lt;DREI:TEXTUAL-DREI-SYNTAX-VIEW name: *scratch* 1 &lt; at &gt; #x1113c3b2&gt; ...)

... more older frames ...
[1] CLIM-USER(64):

That error is thrown in fetch-chunk, which does:
  (destructuring-bind (relative-chunk-end-offset . objectp)
      (aref (chunks line) chunk-index)
 and at that point, (chunks line) = #((2)) while chunk-index = 1.


Cheers,
- Willem
</description>
    <dc:creator>Willem Broekema</dc:creator>
    <dc:date>2008-03-23T00:14:56</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1628">
    <title>Drei Lisp syntax fix</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1628</link>
    <description>There is a small error in FORM-TO-OBJECT, which causes the method for
incomplete-quote-form to be shadowed by the NO-APPLICABLE-METHOD
default method. The attached patch fixes this.

Cheers,
- Willem
</description>
    <dc:creator>Willem Broekema</dc:creator>
    <dc:date>2008-03-02T15:17:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1627">
    <title>Method browser applicable methods improvement</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1627</link>
    <description>In the method browser, the function
COMPUTE-APPLICABLE-METHODS-FROM-SPECIALIZERS determines the applicable
methods by first creating a list of prototype instances for the
specializers. The instances are then fed to
COMPUTE-APPLICABLE-METHODS.

The problem is that fetching prototype instances of built-in classes
is brittle (the function is not part of ANSI), e.g. in Allegro:

CL-USER(78): (mop::class-prototype (find-class 'integer))
Error: The slot EXCL::PROTOTYPE is missing from the object
#&lt;BUILT-IN-CLASS INTEGER&gt; of class #&lt;STANDARD-CLASS BUILT-IN-CLASS&gt;
       during operation SLOT-VALUE
  [condition type: PROGRAM-ERROR]

Restart actions (select using :continue):
 0: Try accessing the slot again
 1: Return a value
 2: Return to Top Level (an "abort" restart).
 3: Abort entirely from this (lisp) process.

See also this discussion:
http://groups.google.nl/group/comp.lang.lisp/browse_frm/thread/a15fd265fa3b540d/f68a63ee410a7f68?lnk=st#f68a63ee410a7f68

The attached patch makes the method browser robust against unavailable
prototype instances, and documents where things still to wrong.

Cheers,
- Willem
</description>
    <dc:creator>Willem Broekema</dc:creator>
    <dc:date>2008-03-02T13:08:04</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1614">
    <title>cpu constantly at 99% with just a simple GUI open</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1614</link>
    <description>Hi,

I build a very small GUI based on the calculator example.  
But when starting the GUI the CPU is constantly at 99%.  

Is this normal?  
Is there some configuration option to get a different behaviour?  
Does McCLIM use some kind of polling internally?  
And is there some hope that this might change in the future?

Some day I would like to experiment with some realtime application and a
busy CPU probably wouldn't be something good :)

Thank you,
Dietrich

By the way:  Rick Taube, the author of "lambda-gtk" and "common music"
recently seemed to have switched from lambda-gtk to a C++ based gui
(using "juce") which seems to communicate with his lisp code via a
socket.  I suppose that his main reason was the audio functionality
which is part of "juce" and the possibility to easily use the same code
for Windows, Mac and Linux.  But another reason might have been a better
realtime behaviour compared to the lambda-gtk gui.  Would this be a
better way to go?


</description>
    <dc:creator>Dietrich Bollmann</dc:creator>
    <dc:date>2008-02-18T13:09:23</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.mcclim.devel/1613">
    <title>drei-gadget-panes</title>
    <link>http://comments.gmane.org/gmane.lisp.mcclim.devel/1613</link>
    <description>Hi

A small patch to make a drei-gadget-pane inherit from the
application-frame's command-table.

</description>
    <dc:creator>Thomas Persson</dc:creator>
    <dc:date>2008-02-16T20:37:00</dc:date>
  </item>
  <textinput about="http://search.gmane.org/?group=$group=gmane.lisp.mcclim.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.lisp.mcclim.devel</link>
  </textinput>
</rdf:RDF>
