X11

xdotool:如何通過不同模式的標題和類搜尋視窗(類似於 AutoHotkey)

  • August 20, 2020

xdotool 允許您使用其搜尋子命令搜尋視窗。我需要找到一個視窗,該視窗具有“gvim”類和包含單詞“TODO”的標題。我該怎麼做呢?

我試過的:

  • 你可以這樣做xdotool search --name --class,但它只接受名稱和標題的一種模式。
  • xdotool 支持命令連結,但我找不到連結兩個搜尋呼叫的方法——第二個簡單地覆蓋第一個。

我的 xdotool 幫助通知我您的兩個開關是相同的(xdotool 版本 3.20150503.1),

--name          check regexp_pattern agains the window name
--title         DEPRECATED. Same as --name.

因此沒有做任何事情。我的 xdotool 和你的一樣,替換了視窗堆棧,所以我用一個 shell 腳本來做。下面提供了一個執行您想要的 shell 腳本:

pids=$(xdotool search --class "gvim")
for pid in $pids; do
   name=$(xdotool getwindowname $pid)
   if [[ $name == *"TODO"* ]]; then
       #Do what you want, $pid is your sought for PID,
       #matching both class gvim and TODO in title
   fi
done

if 語句中的星號是為了對 進行子字元串匹配TODO,以便它可以出現在標題中的任何位置。

引用自:https://unix.stackexchange.com/questions/254820