On Sun, Jun 26, 2011 at 4:05 AM, Guillermo Polito <guillermopolito@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@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