Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. 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'm using Gnome. In vim, I want to map a key to switch to Firefox. I know that I should use bash commands (a command in form of !...). Is it possible to switch to an application using its PID?

share|improve this question
So, in X terms, you want to raise and focus a window from a shell? – bahamat Aug 9 '12 at 16:56
Yes!........... – Omid Aug 9 '12 at 17:00
You probably need to get the x window id from the pid and send a _NET_ACTIVE_WINDOW message afterwards – Ulrich Dangel Aug 9 '12 at 17:33
up vote 9 down vote accepted

The first two examples will activate the first listed Firefox window, based on its Title. Firefox always ends its Title-bar with "Mozilla Firefox"... "listed" means: as listed by wmctrl querying X. The first example uses a fuzzy match for the title.

wmctrl -a "Mozilla Firefox"

Or, to get the title more specifically:

wmctrl -Fa "$(wmctrl -l | sed -rn 's/^([^ ]+ +){3}(.*Mozilla Firefox)$/\2/p')"

If you know the PID of the process behind a window, you can use this command:

wmctrl -ia $(wmctrl -lp | awk -vpid=$PID '$3==pid {print $1; exit}') 
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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