Hi!

I'd like to know also if the problem is in Keymapping or in is some platform/vm/whatever other issue on keyboard handling.  Actually, pharo messes up with <ctrl> normally, since it is not broadly used :).

Ben, can you debug a bit?

Add the following lines on InputEventSensor>>#processEvent::

    "Finally keyboard"
    type = EventTypeKeyboard
        ifTrue: [
            "Sswap ctrl/alt keys if neeeded"
            (evt at: 5) = 2 "if it is ctrl" ifTrue: [ Transcript show: 'Before: ', (evt asString);cr] .
            KeyDecodeTable
                at: {evt at: 3. evt at: 5}
                ifPresent: [:a |
                    evt
                        at: 3 put: a first;
                        at: 5 put: a second].
            (evt at: 5) = 2 "if it is ctrl" ifTrue: [ Transcript show: 'After: ', (evt asString);cr] .
            "Update state for polling calls"
            modifiers := evt at: 5.
            ^evt].

press ctrl-shift-space and send me the output transcript :).

BTW, if the problem is this f*** KeyDecodeTable, we have removed it in pharo 2.0, for the next generation :).
Guille

On Wed, May 23, 2012 at 9:05 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,

Perhaps the problem is with keymapping. I work on Mac.

Please try to use:
GLMWatcherWindow uniqueInstance toggleOpen

This is what essentially gets triggered by the keymapping definition from:
GLMWatcherWindow class>>buildKeymapsOn:

Please let me know if it works.

Cheers,
Doru




On 23 May 2012, at 19:08, Ben Coman wrote:

> Yes. Ctrl+Shift+Space has no response.  Else I would not have reported it :)
> btw my platform is Windows 7.
>
> Tudor Girba wrote:
>> Did you press Ctrl+Shift+Space?
>>
>> This should open/close the Watcher.
>>
>> Cheers,
>> Doru
>>
>>
>> On 23 May 2012, at 17:21, Ben Coman wrote:
>>
>>
>>
>>> Tudor Girba wrote:
>>>
>>>
>>>> Hi,
>>>>
>>>> I enhanced Glamour with a first version of a Watcher browser that offers a behavior similar to Quick Preview on Mac.
>>>>
>>>> For example, if you run the code below in a Moose image, and then press Ctrl+Shift+Space you will get a preview of source code in a window floating above the current one. See the attachment.
>>>>
>>>> | browser |
>>>> browser := GLMTabulator new.
>>>> browser column: #methods.
>>>> browser transmit to: #methods; andShow: [:a | a list display: #methods; format: #selector ].
>>>> browser transmit from: #methods; toWatcher; andShow: [:a | a smalltalkCode
>>>> smalltalkClass: [ :method | method methodClass ];
>>>> display: [:method | method getSource ] ].
>>>> browser openOn: GLMBrowser
>>>>
>>>> To get it 100% useable I would need help with some Morphic magic:
>>>> - to make the Watcher window not appear in the taskbar
>>>> - to make the rendering of Watcher happen in another thread so that it does not block the current UI
>>>>
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>>
>>>>
>>>>
>>> This does not work for me out of the box with a fresh Moose 4.7 downloaded this evening. There is no response when clicking on the method list.
>>>
>>> I see in GLMMorphicWatcherRender>>actOnMatchingPresentationsChanged that you use you have [ GLMWatcherWindow uniqueInstance ] and a stab in the dark is that something broke since your uniqueInstance was created.  I wonder your example still works for you after [ GLMWatcherWindow reset ].
>>>
>>> In any case, I got it partially working with the following (likely inappropriate) hack...
>>> GLMMorphicWatcherRenderer>>actOnMatchingPresentationsChanged: anAnnouncement
>>>   "whenever a relevant pane changes its presentations,
>>>   we override the contents from the GLMWatcherWindow"
>>>   | window |
>>>   window := GLMWatcherWindow uniqueInstance.
>>>   window contentsMorph
>>>       removeAllMorphs;
>>>       addMorph: (self renderObject: anAnnouncement pane)
>>>       fullFrame: (LayoutFrame fractions: (0@0 corner: 1@1))    .
>>>   window openInWorld.
>>>
>>> Clicking in turn on several methods shows each in the single Glamorous Watcher.  However Glamorous Watcher keeps repositioning on top of the Glamorous Browser.
>>>
>>> cheers -ben
>>> _______________________________________________
>>> Moose-dev mailing list
>>>
>>> Moose-dev@iam.unibe.ch
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>>
>>
>> --
>>
>> www.tudorgirba.com
>>
>>
>> "Every successful trip needs a suitable vehicle."
>>
>>
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>>
>> Moose-dev@iam.unibe.ch
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>>
>>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

If you can't say why something is relevant,
it probably isn't.


_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev