Tutorials/C Programming Tutorial/How to find out which window has the focus

From ThorstensHome
Revision as of 18:57, 27 December 2009 by WikiSysop (Talk)

Jump to: navigation, search

You can use the following source code to find out which window has the focus on your Linux desktop:


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

/* Compile this using
g++ -lXtst main.cpp

int main()
  Display* display= XOpenDisplay(NULL);
  char* name="blahblah";
  Window window=0;
  int i=0;
  XGetInputFocus(display, &window, &i);
  int  status = XFetchName (display, window , &name);

  XCloseDisplay( display );

Compile, link and run it

g++ -lXtst main.cpp

Now the strange thing is, this worked. But now, kwrite and firefox's window titles are not correctly recognized. However, the programs xprop and xwininfo work correctly. So I analyzed the code and found they are using XGetWMName instead of XFetchName.

See also