view collector/current_window_title_linux.py @ 10:6b6b1ea0e00d default tip

ok for no window to be focused (untested)
author drewp@bigasterisk.com
date Mon, 13 Mar 2023 19:16:58 -0700
parents 5ad799e534a5
children
line wrap: on
line source

import Xlib
import Xlib.display

_disp = None


def get_current_window_title():
    global _disp
    if _disp is None:
        _disp = Xlib.display.Display()
    window = _disp.get_input_focus().focus
    # get_wm_name returns '': https://github.com/python-xlib/python-xlib/issues/212
    propResult = window.get_property(_disp.get_atom("WM_NAME"), _disp.get_atom("UTF8_STRING"), 0, 1024)
    try:
        return propResult.value.decode('utf8')
    except AttributeError:
        return ''