1

Тема: Xlib - отримати заголовок активного вікна

Всім привіт. Фактично по темі перший раз пишу у цій гілці.

Отже є задача отримати заголовок активного вікна. Що уже є:

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <stdlib.h>
#include <stdio.h>

int main() {
    Display *display;
    Window window;
    XTextProperty text_prop_return;

    int revert;
    char *window_name;
    
  

    display = XOpenDisplay(NULL);
    if (display == NULL) {
        fprintf(stderr, "Cannot connect to X server %s\n", "simey:0");
        exit (-1);
    }

    XGetInputFocus(display, &window, &revert);
    int windowId = (unsigned)window;
    printf("id: %d\n", windowId);

    XGetWMName(display, window, &text_prop_return);
    printf("XGetWMName: %s, res_name:\n", text_prop_return.value);
    
    XFetchName(display, window, &window_name);
    printf("XFetchName: %s, res_name:\n", window_name);

    
    return 0;
}

XGetWMName i XFetchName не працюють.

Це все добро збираю так:

sudo gcc -O w.c -o w -lX11

Система убунту 14,04  (якщо треба деталі, кажіть)
Ось вивід:

Прихований текст
ivan@ff:~/funivan/tools/linux-events$ ./w
id: 67108869
XGetWMName: (null), res_name:
XFetchName: (null), res_name:
ivan@ff:~/funivan/tools/linux-events$ sleep 4; ./w
id: 75497476
XGetWMName: (null), res_name:
XFetchName: (null), res_name:
ivan@ivan-autoline:~/funivan/tools/linux-events$

Дякую за допомогу ;)

2

Re: Xlib - отримати заголовок активного вікна

Може допоможе:
http://stackoverflow.com/questions/3551 … ndow-title
http://stackoverflow.com/questions/3983 … title-in-x
http://unix.stackexchange.com/questions … e-in-gnome
(xdotool - https://github.com/jordansissel/xdotool)