7

How can I create a script that automatically switches windows? I'm trying to do the same thing Alt+Tab does.

11

Sounds like you're looking for wmctrl - see here for more examples.

Edit: Your window manager/desktop environment has to be standards compliant (EWMH). And here are more examples.

| improve this answer | |
  • Nice! I'll read a bit more about that. Thx. – GarouDan Oct 18 '11 at 13:48
  • 1
    Thanks for the link to wmctrl. Unfortunately it looks like your first link is broken. Here's man wmctrl, which might help others. – Alex Feb 26 '17 at 18:17
2

In cases where sr_'s solution does not work, you can also try xautomation. One of the tools included in that package is xte (see manpage) - it simulates keystrokes, mouse movement and more. Here's how you can use it to simulate Alt+Tab:

xte "keydown Alt_L" "key Tab" "keyup Alt_L"
| improve this answer | |
  • Thx a lot @rozcietrzewiacz. wmctrl worked fine. But looks like xautomation can't manipulate windows...can it? manpage In your link xautomation I didn't find no documenation... =/ – GarouDan Oct 18 '11 at 14:44
  • It can manipulate virtually anything that you can, when you see the screen - just use one of the shipped programs. See my updated answer about Alt+Tab. – rozcietrzewiacz Oct 18 '11 at 16:40
  • Thx so much @rozcietrzewiacz, really very powerfull this. I was needing a way to keep Shift pressed and this works perfectly! Thx. – GarouDan Oct 18 '11 at 20:00
  • is possible simulate F5 key by xte? Didn't find anything in xte or google yet. This is another question that I did. – GarouDan Oct 31 '11 at 11:54
  • 1
    @GarouDan Didn't you try? xte "key F5" works perfectly for me. – rozcietrzewiacz Oct 31 '11 at 12:04
0

The answer from sr_ mentioned wmctrl, which works for me.

I installed it on Ubuntu 16.04 with sudo apt-get install wmctrl. I was able to switch window with wmctrl -a emacs24.

wcmtrl -a $WIN seems to search for windows with names that contain the string $WIN. The search is case-insensitive.

Here is man wmctrl for reference.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.