Nikodemus Siivola | 7 Jun 2008 14:52
Gravatar

Some Climacs issues

1. C-x C-f foo.lisp, then Menu: Help->Describe Bindings

Window splits into two views, and the Lisp view remains the active
one. C-x C-b switches to the Help view, but the only visual clue that
it is indeed the active one is that the cursor in the Lisp view turns
blue. If there are multiple cursorless views visible, it is impossible
to tell which one is currently active -- at least as far as I can
tell.

2. Lack of cursor-motion keybindings in the Help view is another
thing, but I'm sure you knew that one. :)

3. Finally, mousing over the binding names in the Help view leaves the
focus boxe visible after the pointer moves over another binding name.
Scrolling clears the focus boxes.

If one or more of these are likely to be simplish to fix, I would not
be averse to hints as to where to look.

Cheers,

 -- Nikodemus
Troels Henriksen | 7 Jun 2008 15:07
Picon
Gravatar

Re: Some Climacs issues

"Nikodemus Siivola" <nikodemus <at> random-state.net> writes:

> 1. C-x C-f foo.lisp, then Menu: Help->Describe Bindings
>
> Window splits into two views, and the Lisp view remains the active
> one. C-x C-b switches to the Help view, but the only visual clue that
> it is indeed the active one is that the cursor in the Lisp view turns
> blue. If there are multiple cursorless views visible, it is impossible
> to tell which one is currently active -- at least as far as I can
> tell.

I've been thinking about this now and again, and there are many ways
to fix it I think. One idea I've had is to encapsulate each window in
a border pane and disable/enable the borders when the active window
changes.

> 2. Lack of cursor-motion keybindings in the Help view is another
> thing, but I'm sure you knew that one. :)

This is hard to fix, because there isn't a cursor at all in the Help
view.

> 3. Finally, mousing over the binding names in the Help view leaves the
> focus boxe visible after the pointer moves over another binding name.
> Scrolling clears the focus boxes.

Yeah... this bug exists in the first 150 lines of climacs/typeout.lisp
or so and is related to the great lengths Climacs go to in order to
make typeout views transparent for the programmer. I'm not sure how
easy it is to fix, but it's not likely to require much code.
(Continue reading)

Nikodemus Siivola | 7 Jun 2008 15:23
Gravatar

Re: Some Climacs issues

On Sat, Jun 7, 2008 at 4:07 PM, Troels Henriksen <athas <at> sigkill.dk> wrote:

> I've been thinking about this now and again, and there are many ways
> to fix it I think. One idea I've had is to encapsulate each window in
> a border pane and disable/enable the borders when the active window
> changes.

Borders would be great.

>> 3. Finally, mousing over the binding names in the Help view leaves the
>> focus boxe visible after the pointer moves over another binding name.
>> Scrolling clears the focus boxes.
>
> Yeah... this bug exists in the first 150 lines of climacs/typeout.lisp
> or so and is related to the great lengths Climacs go to in order to
> make typeout views transparent for the programmer. I'm not sure how
> easy it is to fix, but it's not likely to require much code.

Semi-relatedly: what is the best way to discover what kind of an
object a given view is? Is there a way to make right-click offer me a
"Descibe Pane" or something like that for any and all panes?

Cheers,

 -- Nikodemus
Troels Henriksen | 7 Jun 2008 15:29
Picon
Gravatar

Re: Some Climacs issues

"Nikodemus Siivola" <nikodemus <at> random-state.net> writes:

> Semi-relatedly: what is the best way to discover what kind of an
> object a given view is? Is there a way to make right-click offer me a
> "Descibe Pane" or something like that for any and all panes?

For my own hacking, I use this set of commands:

(define-command (com-inspect-buffer :name "Inspect Buffer" :command-table base-table) ()
  (clouseau:inspector (current-buffer)))

(define-command (com-inspect-frame :name "Inspect Frame" :command-table base-table) ()
  (clouseau:inspector *esa-instance*))

(define-command (com-inspect-window :name "Inspect Current Window" :command-table base-table) ()
  (clouseau:inspector (current-window)))

(define-command (com-inspect-syntax :name "Inspect Syntax" :command-table base-table) ()
  (clouseau:inspector (current-syntax)))

--

-- 
\  Troels
/\ Henriksen

Gmane