Question

How can I get the window ID of the terminal that my shell script is running in?

Background: I need to write a script to do something based on which virtual desktop it is running in. To get the virtual desktop (not current desktop, I may change it while the script is running), I need the window ID of the terminal that the script is running in. If the script is not run from a terminal, it should fail with an error.

Was it helpful?

Solution

I know very little of X11, but running the env command in my terminal, I spotted an environment variable WINDOWID, that shows the same number in different tabs of the same terminal, but a different number in another terminal. Perhaps that's what you need?

It does appear to be an Xterm thing (and probably any terminal that mimicks Xterms behaviour. The xterm(1) man page only says:

ENVIRONMENT

   Xterm sets several environment variables:
   ...
   WINDOWID
        is set to the X window id number of the xterm window.

Some other possibly relevant questions with answers:

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top