Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a certain work environment with dozens of open Windows. How can I bring to the front a window with a known name/title programatically or using the command line?

share|improve this question
up vote 7 down vote accepted

I used to use wmctrl -a <name>, which works fine, but recently switched to xdotool, e.g.:

xdotool search --name <name-or-regex-for-name> windowraise

It has many other features too.

To install:

sudo apt-get install xdotool

share|improve this answer
xdotool windowraise brings the window to the front but does not give focus to the window or switch to the desktop with the window. instead, windowactivate will do all three. – jozxyqk May 29 '15 at 9:18

Well, after sudo apt-get install wmctrl-ing, you can play with this bash script:

#! /bin/bash

WINTITLE="Mail/News" # Main Thunderbird window has this in titlebar
PROGNAME="mozilla-thunderbird" # This is the name of the binary for t-bird

# Use wmctrl to list all windows, count how many contain WINTITLE,
# and test if that count is non-zero:

if [ `wmctrl -l | grep -c "$WINTITLE"` != 0 ]
wmctrl -a "$WINTITLE" # If it exists, bring t-bird window to front
$PROGNAME & # Otherwise, just launch t-bird
exit 0

Which I found here

share|improve this answer
No need for the brackets and backticks: if ! wmctrl -l | grep -q "$WINTITLE" – Dennis Williamson Sep 2 '10 at 2:09
wmctrl has a -i option, which supports working with the window with its hex identifier. And so you can do this wmctrl -lp|grep 'whatever incomplete name'|cut -d' ' -f1|xargs wmctrl -ai - which would do something similar – vlad-ardelean Oct 11 '14 at 16:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .