diff --git a/src/x11/XWindowsManager.cpp b/src/x11/XWindowsManager.cpp
index cab2c04d0316c4383a1cfc302419120cf58fedfa..095ade77fb1545d8f17828ce2a555fa345e16620 100755
--- a/src/x11/XWindowsManager.cpp
+++ b/src/x11/XWindowsManager.cpp
@@ -63,12 +63,14 @@ void XWindowsManager::updateWindowsList() {
 }
 
 char* XWindowsManager::getWinName(Display* disp, Window win) {
-    Atom prop = XInternAtom(disp,"WM_NAME",False), type;
+    Atom prop = XInternAtom(disp,"_NET_WM_NAME",false);
+	Atom utf8Atom = XInternAtom(disp,"UTF8_STRING",false);
+	Atom type;
     int form;
     unsigned long remain, len;
     unsigned char *list;
 
-    if (XGetWindowProperty(disp,win,prop,0,1024,False,XA_STRING,
+    if (XGetWindowProperty(disp,win,prop,0,65536,false,utf8Atom,
             &type,&form,&len,&remain,&list) != Success) {
         cout<<"Error getting window name"<<endl;
         return NULL;