[Pharo-project] TWM and Keymapping

laurent laffont laurent.laffont at gmail.com
Sun Jun 26 04:56:43 EDT 2011


On Sun, Jun 26, 2011 at 4:05 AM, Guillermo Polito <guillermopolito at gmail.com
> wrote:

> Actually, the problem is that Cmd+w is handled by the TextEditor.  So it
> does not flow to the other morphs...  The log in the transcript is the
> following:
>
> Complete match: #backWord: on Cmd + W do [:editor :morph :event | morph
>         handleKeymappingInteraction: [editor backWord: event]
>         fromKeyboardEvent: event]
> in: a TextEditor
>
> But I think that shortcut should be replaced by ctrl + backspace as any
> other editor :) (and that will avoid that problem)


Thanks for looking at this. Indeed in Emacs Kill word is Meta+W, and in bash
too, I use it quite often :)

May be we should start thinking about putting Keymapping in core and remove
hard coded shortcuts ? If OK I will help on this side. It's gorgeous to
control TWM with keyboard, I want more. And Emacs-like keymapping :)

Laurent




>
>
> On Sat, Jun 18, 2011 at 9:44 AM, laurent laffont <
> laurent.laffont at gmail.com> wrote:
>
>>  Something I want to fix: if an editor has the focus, TWM shortcuts don't
>>>> work.
>>>>
>>>  I've tried:
>>>>
>>>> TilingTWMSettings class>>buildKeyMappingSettingsOn: aBuilder
>>>> <keymap>
>>>> .....
>>>>          {PasteUpMorph. SystemWindow. TextEditor. SmalltalkEditor}
>>>> do: [:aClass| aBuilder attachShortcutCategory: #twmShortcut to: aClass
>>>> ].
>>>>
>>>> but no success .....
>>>>
>>>
>>> Probably the TextEditor overrides a shortcut in a non desired way...
>>> Does it happen for every twm shortcut?
>>>
>>
>> Yes, as soon as a text editor / entry / field is selected, TWM shortcuts
>> don't work... Here's the default shortcuts for TWM, maybe $w command is not
>> a good idea for a prefix ?
>>
>>  shortcuts
>>     ^ {
>>         #minimizeAllWindows         ->  'Minimize all windows'
>>      -> [$w command, $m command].
>>         #maximizeAllWindows         ->  'Maximize all windows'
>>      -> [$w command, $m shift  command].
>>         #tileVisibleWindows         ->  'Tile visible windows'
>>      -> [$w command, $t command].
>>         #tileLastUsedWindows        ->  'Tile last used windows'
>>      -> [$w command, $l command].
>>         #tileBrowsers               ->  'Tile browsers'
>>       -> [$w command, $b command].
>>         #tileWorkspaces             ->  'Tile workspaces'
>>       -> [$w command, $z command].
>>         #tileTesters                ->  'Tile testers'
>>      -> [$w command, $s command].
>>         #tileMonticellos            ->  'Tile monticellos'
>>      -> [$w command, $c command].
>>         #tileInspectors             ->  'Tile inspectors'
>>       -> [$w command, $i command].
>>         #tileDebuggers              ->  'Tile debuggers'
>>      -> [$w command, $d command].
>>         #tileChanges                ->  'Tile changes'
>>      -> [$w command, $c shift command].
>>         #tileTools                  ->  'Tile tools'
>>      -> [$w command, $t shift command].
>>         #tileSystem                 ->  'Tile system windows'
>>       -> [$w command, $y command].
>>         #snapshotWorld              ->  'Snapshot current world state'
>>      -> [$r command, $s command].
>>         #worldBackward              ->  'Move to previous world state'
>>      -> [$r command, $p command].
>>         #worldForward               ->  'Move to next world state'
>>      -> [$r command, $n command].
>>         #deleteCurrentSnapshot      ->  'Delete current world state'
>>      -> [$r command, $d command].
>>         #topWindowMoveLeft          ->  'Move window to left area'
>>      -> [$w command, $1].
>>         #topWindowMoveRight         ->  'Move window to right area'
>>       -> [$w command, $2].
>>         #topWindowMoveTop           ->  'Move window to top area'
>>       -> [$w command, $3].
>>         #topWindowMoveBottom        ->  'Move window to bottom area'
>>      -> [$w command, $4].
>>         #topWindowMoveTopLeft       ->  'Move window to top left area'
>>      -> [$w command, $5].
>>         #topWindowMoveTopRight      ->  'Move window to top right area'
>>       -> [$w command, $6].
>>         #topWindowMoveBottomLeft    ->  'Move window to bottom left area'
>>       -> [$w command, $7].
>>         #topWindowMoveBottomRight   -> 'Move window to bottom right area'
>>       -> [$w command, $8].
>>     }
>>
>>
>>>   We should write a testcase...
>>>
>>
>>
>> How can I test this ?
>>
>> Laurent.
>>
>>
>>
>>>
>>>
>>>>
>>>>
>>>>
>>>> Laurent Laffont - @lolgzs <http://twitter.com/#%21/lolgzs>
>>>>
>>>> Pharo Smalltalk Screencasts: http://www.pharocasts.com/
>>>> Blog: http://magaloma.blogspot.com/
>>>> Developer group: http://cara74.seasidehosting.st
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20110626/7faa282d/attachment-0001.html>


More information about the Pharo-dev mailing list