О да, хорошая задача — взаимодействие с GUI, но гемор ещё тот, в особенности если нужно добиться чего-то по-серьезнее получение заголовков окна. :)
Проблема в том, что в каждой ОС своя система графического взаимодействия с пользователем (в windows за это отвечает вроде бы
Windows api, в nix* — это
X windows) и универсального решения быть не может в принципе.
Попробуйте копнуть в "
os HWND" — для винды оно д.быть легко получаемо через либу pywinauto, или win32api. Для nix* не помню. В любом случае, если это низкоуровневое взаимодействие, и не хочется использовать сторонние либы, то последовательность вижу следующей: сначала проверяем наличие конкретных либ, потом пробуем использовать из питона их методы, предварительно разобравшись с тем,
как пишутся обёртки.