8

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

3 Answers 3

13

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.

2
  • Nice! I'll read a bit more about that. Thx. Commented Oct 18, 2011 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. Commented Feb 26, 2017 at 18:17
3

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" 
5
  • 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... =/ Commented Oct 18, 2011 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. Commented Oct 18, 2011 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. Commented Oct 18, 2011 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. Commented Oct 31, 2011 at 11:54
  • 1
    @GarouDan Didn't you try? xte "key F5" works perfectly for me. Commented Oct 31, 2011 at 12:04
1

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.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.