kvakulo / Switcheroo

The humble incremental-search task switcher for Windows
www.switcheroo.io
GNU General Public License v3.0
790 stars 122 forks source link

Arrows don't work in the switcheroo window #158

Open Vitaly-S-Pavlenko opened 2 years ago

Vitaly-S-Pavlenko commented 2 years ago

Hello,

Not sure if this is a bug or a feature request. But when I open the switcheroo window by pressing Alt+Tab and continue holding Alt, I'd like to be able to navigate the list of open apps by using the Up and Down arrows (whilst holding Alt) - similar to the native Alt+Tab experience. However, currently, that doesn't work for me. When I press the arrows nothing happens. I need to press Alt+Tab again to move to the next window or Alt+Shift+Tab to move to a previous window. I would really appreciate if you could help me resolve this issue or add such a feature.

Love your app. Thank you. Best regards,

georgeanderson commented 2 years ago

@Vitaly-S-Pavlenko I cannot reproduce that. I'm able to navigate with the arrows just fine. I'm on Windows 10 Enterprise.

VideoPsalm commented 2 years ago

@Vitaly-S-Pavlenko There is a solution to the problem that you mentioned.

The problem You are right: up and down arrows don't work. They work after you release both Alt and Tab keys. For this to work, Switcheroo has to be set to not switch when releasing the "Alt" key. Even so, it is unfortunate.

The solution Download the source code and modify slightly the source code.

  1. Open the "MainWindow.xaml" file.

  2. Locate following markup:

    <KeyBinding Command="local:MainWindow.CloseWindowCommand" Key="Enter" Modifiers="Ctrl" />
    <KeyBinding Command="local:MainWindow.CloseWindowCommand" Key="W" Modifiers="Ctrl" />
    <KeyBinding Command="local:MainWindow.ScrollListUpCommand" Key="Up" />
    <KeyBinding Command="local:MainWindow.ScrollListDownCommand" Key="Down" />
  3. Add following lines under it:

    <KeyBinding Command="local:MainWindow.ScrollListUpCommand" Key="Up" Modifiers="Alt" />
    <KeyBinding Command="local:MainWindow.ScrollListDownCommand" Key="Down" Modifiers="Alt" />
  4. Locate following markup:

    <KeyBinding Command="local:MainWindow.ScrollListUpCommand" Key="Up" />
    <KeyBinding Command="local:MainWindow.ScrollListDownCommand" Key="Down" />
    <KeyBinding Command="local:MainWindow.ScrollListUpCommand" Key="Tab" Modifiers="Shift" />
    <KeyBinding Command="local:MainWindow.ScrollListDownCommand" Key="Tab" />
  5. Add following lines under it:

    <KeyBinding Command="local:MainWindow.ScrollListUpCommand" Key="Up" Modifiers="Alt"/>
    <KeyBinding Command="local:MainWindow.ScrollListDownCommand" Key="Down" Modifiers="Alt"/>

Alternatively, you can download the portable modified Switcheroo from here: https://bit.ly/SwitcherooUpDown

Vitaly-S-Pavlenko commented 1 year ago

Thank you very much, @VideoPsalm! Would you mind explaining how I can build the project myself after I make the modifications?