Login  Register

Re: Alt-tab between windows

Posted by EstebanLM on May 16, 2015; 9:19am
URL: https://forum.world.st/Alt-tab-between-windows-tp4826593p4826722.html

my answer on stackoverflow: 

well... you hit one of our weaker spots :)

Keybindings are not in his best shape, but:

- Actually, alt+tab is already set to "switch window" activity. The problem is that does not work all the time (for example, it does not work on Playground). 
- This is because there are some hardcoded logic there, who we are removing slowly from the system (some of those parts have more than 15yrs since they come from before Pharo has born). 
- Someone (probably in a failed attempt to fix the playground, or the hardcodes) forget a halt in the method who creates a new preview window... so even if you reach that part of the system, you will have a debugger. Of course, you will be able to restore correct behaviour by just removing the breakpoint, but that will not correct the fact "switch windows" will not be available everywhere. 
- I opened a bug entry for it: https://pharo.fogbugz.com/f/cases/15546, in case you want to follow the issue (you will need an account there, I'm sorry for that). 

In any case, we are moving out this hardcode stuff, and you can check all currently available settings going to **World Menu/System/Keymap Browser** (they are a lot, we are also playing with ideas on how to show better this combinations... emacs style, popup notifications, etc.)

Esteban

ps: I will like to have a solution for this, if anyone can help a bit in this area… but it has to be a solution using the keybindings framework. I will deny integration to any hardcoded solution :)

On 16 May 2015, at 10:59, Dimitris Chloupis <[hidden email]> wrote:

does not work for me in macos. Ctrl+left/right is reserved by MACOS for switching workspaces but even other key combinations i tried do not work at all. Alt+Tab is also reserved in macos.

On Sat, May 16, 2015 at 9:14 AM Carlo <[hidden email]> wrote:
Hi

See my earlier email was bounced.
...

Ok, hacked and debugged my pharo 4 image and I've got ctrl- left or right working on my mac.

Two changes needed 

TaskListMorph>>keyStroke: event  needs to change as per below to add the ctrl left or right.

TaskListMorph>>keyStroke: event 
"Process keys to switch task."
event keyCharacter = Character escape ifTrue: [^self delete].
event anyModifierKeyPressed ifFalse: [^self done].

event keyString =  '<Ctrl-left>' ifTrue: [^self selectPreviousTask].
event keyString =  '<Ctrl-right>' ifTrue: [^self selectNextTask].
event keyString =  '<Opt-Shift-tab>' ifTrue: [^self selectPreviousTask].
event keyString =  '<Opt-tab>' ifTrue: [^self selectNextTask]

Then TaskListMorph>>isNavigationEvent: aKeyboardEvent needs to change as per below:

isNavigationEvent: aKeyboardEvent
| validCombos |
validCombos := Array with: Character tab alt with: Character tab alt shift with: Character arrowLeft ctrl with: Character arrowRight ctrl .
^ validCombos contains: [:each | each = aKeyboardEvent asKeyCombination].

Ctrl-left or Ctrl-right works, and again you need to press any key to select the window on preview.

Cheers
Carlo
On 16 May 2015, at 1:32 AM, Avdi Grimm <[hidden email]> wrote:

I'd be totally cool with Alt-Left/Right. I just want *something* so I don't have to lift my hand just to switch from e.g. Browser to Playground and back.

On Fri, May 15, 2015 at 7:23 PM Nicolai Hess <[hidden email]> wrote:
2015-05-16 1:11 GMT+02:00 Carlo <[hidden email]>:
On my 

Pharo4.0
Latest update: #40609

Pressing Alt-Tab brings up a debugger. Debugging the method shows:

But this does not work for Pharo on Windows . On windows alt+tab always switches between active applications.
There was some code on older versions of pharo, that uses alt+left arrow/right arrow instead of alt+tab for
the windows vm

newPreviewMorph
"Answer a new preview holder."
self halt.
^ Morph new
color: Color transparent;
extent: self defaultPreviewExtent;
yourself.


On 16 May 2015, at 1:09 AM, Avdi G<Screenshot 2015:05:16, 1:11 AM.png>rimm <[hidden email]> wrote:



On Fri, May 15, 2015 at 7:06 PM Carlo <[hidden email]> wrote:
Removing the 'self halt' still works though.

Can you give me a little more detail about where to find this? Thanks!