xdotool
bisa melakukan itu.
xdotool getactivewindow
Saya sedikit memodifikasi solusi Anda agar berjalan lebih efisien (melewati parameter ke xprop sehingga hanya data yang diperlukan yang dikembalikan). Selain itu, saya tidak yakin apakah perlu menyangga keluaran xprop, jadi saya mengeluarkannya. Itu juga harus mengembalikan "Jendela aktif tidak ditemukan" jika karena alasan tertentu tidak dapat menemukan jendela aktif.
def get_active_window_title(self):
root = Popen(['xprop', '-root', '_NET_ACTIVE_WINDOW'], stdout=PIPE)
for line in root.stdout:
m = re.search('^_NET_ACTIVE_WINDOW.* ([\w]+)$', line)
if m != None:
id_ = m.group(1)
id_w = Popen(['xprop', '-id', id_, 'WM_NAME'], stdout=PIPE)
break
if id_w != None:
for line in id_w.stdout:
match = re.match("WM_NAME\(\w+\) = (?P<name>.+)$", line)
if match != None:
return match.group("name")
return "Active window not found"
Anda bisa mendapatkan judul jendela aktif dengan xdotool
:
$ xdotool getactivewindow getwindowname
Bagaimana cara kerja batas deskriptor file linux?
Bagaimana cron menjadwalkan pekerjaan secara internal?