简体   繁体   中英

get X11 window id of terminal from shell

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.

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 Xterm s 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:

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM