Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

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
1  
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

1 Answer 1

up vote 7 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

 
discard

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.