After loading the following into a fresh moose
image...
Glamour-Morphic-Widgets-TudorGirba.45
Glamour-Morphic-Theme-TudorGirba.57
...it now works on Window 7 using <ALT-SHIFT-SPACE>
cheers, Ben
Tudor Girba wrote:
Thanks.
I now changed it to be:
Character space command shift
Ben, could you please try on Windows?
(you have to load the latest version of Glamour-Morphic-Widgets)
Cheers,
Doru
On 25 May 2012, at 12:37, Guillermo Polito wrote:
> Ok,
>
> The lack of "after" means that there is some mapping configured that
transforms the keyboard combination to some other without ctrl.
>
> The noBefore+noAfter may mean one of:
> - the os/vm is not sending a keyboard event to the image
> - the os/vm is sending some event that has no ctrl...
>
> So, probably a solution for now, may be picking a different key combination working
on every platform...
>
> Guille
>
> On Fri, May 25, 2012 at 9:53 AM, Ben Coman
>
> <btc(a)openinworld.com>
>
> wrote:
> Thanks for checking this out Guillermo. A few results...
>
> Pressing CTRL on its own three times
> Before: #(2 533101358 17 1 2 17 0 1)
> Before: #(2 533103168 17 1 2 17 0 1)
> Before: #(2 533106007 17 1 2 17 0 1)
>
> In unix it gives:
>
> Before: #(2 44327 251 2 2 0 0 1)
> After: #(2 44327 251 2 2 0 0 1)
> Before: #(2 44861 251 2 2 0 0 1)
> After: #(2 44861 251 2 2 0 0 1)
> Before: #(2 45309 251 2 2 0 0 1)
> After: #(2 45309 251 2 2 0 0 1)
>
>
>
> First holding CTRL, then pressing SHIFT three times
> Before: #(2 533340445 17 1 2 17 0 1)
> Before: #(2 533341631 16 2 2 16 0 1)
> Before: #(2 533343206 16 2 2 16 0 1)
> Before: #(2 533345781 16 2 2 16 0 1)
>
> In Unix
>
> Before: #(2 73761 255 1 2 0 0 1)
> After: #(2 73761 255 1 2 0 0 1)
> Before: #(2 74277 255 1 2 0 0 1)
> After: #(2 74277 255 1 2 0 0 1)
> Before: #(2 74785 255 1 2 0 0 1)
> After: #(2 74785 255 1 2 0 0 1)
>
>
> First holding CTRL, then pressing SPACE three times
> Before: #(2 533407619 17 1 2 17 0 1)
>
> Before: #(2 533409523 32 1 2 32 0 1)
> After: #(2 533409523 32 1 2 32 0 1)
> Before: #(2 533409523 32 0 2 32 0 1)
> After: #(2 533409523 32 0 2 32 0 1)
> Before: #(2 533409585 32 2 2 32 0 1)
> After: #(2 533409585 32 2 2 32 0 1)
>
> Before: #(2 533410677 32 1 2 32 0 1)
> After: #(2 533410677 32 1 2 32 0 1)
> Before: #(2 533410677 32 0 2 32 0 1)
> After: #(2 533410677 32 0 2 32 0 1)
> Before: #(2 533410708 32 2 2 32 0 1)
> After: #(2 533410708 32 2 2 32 0 1)
>
> Before: #(2 533411707 32 1 2 32 0 1)
> After: #(2 533411707 32 1 2 32 0 1)
> Before: #(2 533411707 32 0 2 32 0 1)
> After: #(2 533411707 32 0 2 32 0 1)
> Before: #(2 533411753 32 2 2 32 0 1)
> After: #(2 533411753 32 2 2 32 0 1)
>
>
> First holding CTRL, then holding SHIFT, then pressing SPACE three times
> Before: #(2 533487835 17 1 2 17 0 1)
> (nothing)
> (nothing)
> (nothing)
>
>
> First holding space, then pressing CTRL three times
> (nothing)
> Before: #(2 533197611 17 1 2 17 0 1)
> Before: #(2 533198250 17 1 2 17 0 1)
> Before: #(2 533200871 17 1 2 17 0 1)
>
>
> First holding SHIFT, then pressing CTRL three times
> (nothing)
> (nothing)
> (nothing)
>
>
> First holding SHIFT, then holding SPACE, then pressing CTRL three times
> (nothing)
> (nothing)
> (nothing)
>
>
> CogVM.ini
> [Global]
> DeferUpdate=1
> ShowConsole=0
> DynamicConsole=1
> ReduceCPUUsage=1
> ReduceCPUInBackground=0
> 3ButtonMouse=0
> 1ButtonMouse=0
> UseDirectSound=1
> PriorityBoost=1
> B3DXUsesOpenGL=0
> CaseSensitiveFileMode=0
>
>
> Guillermo Polito wrote:
>
>
>
>
>> 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(a)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(a)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(a)iam.unibe.ch
>>>>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>>
>>>>
>>>>
>>>> Moose-dev(a)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(a)iam.unibe.ch
>>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>>
>>
>>
>> Moose-dev(a)iam.unibe.ch
>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>>
>>
>>
>>
>>
>>
>>
> _______________________________________________
> Moose-dev mailing list
>
>
> Moose-dev(a)iam.unibe.ch
>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
>
>
> Moose-dev(a)iam.unibe.ch
>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
>
>
>
>
--
www.tudorgirba.com
"Quality cannot be an afterthought."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch