DO NOT REPLY TO THIS MESSAGE. INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.
[STR New]
Link: http://www.fltk.org/str.php?L2416
Version: 1.3-current
Link: http://www.fltk.org/str.php?L2416
Version: 1.3-current
Index: src/Fl_x.cxx
===================================================================
--- src/Fl_x.cxx (revision 7836)
+++ src/Fl_x.cxx (working copy)
@@ -309,6 +309,8 @@
Atom fl_XdndURIList;
Atom fl_XaUtf8String;
Atom fl_XaTextUriList;
+Atom fl_NET_WM_NAME; // utf8 aware window label
+Atom fl_NET_WM_ICON_NAME; // utf8 aware window icon name
static void fd_callback(int,void *) {
do_queued_events();
@@ -583,6 +585,8 @@
fl_XdndURIList = XInternAtom(d, "text/uri-list", 0);
fl_XaUtf8String = XInternAtom(d, "UTF8_STRING", 0);
fl_XaTextUriList = XInternAtom(d, "text/uri-list", 0);
+ fl_NET_WM_NAME = XInternAtom(d, "_NET_WM_NAME", 0);
+ fl_NET_WM_ICON_NAME = XInternAtom(d, "_NET_WM_ICON_NAME", 0);
Fl::add_fd(ConnectionNumber(d), POLLIN, fd_callback);
@@ -1708,11 +1712,13 @@
iconlabel_ = iname;
if (shown() && !parent()) {
if (!name) name = "";
- XChangeProperty(fl_display, i->xid, XA_WM_NAME,
- fl_XaUtf8String, 8, 0, (uchar*)name, strlen(name));
+ int namelen = strlen(name);
if (!iname) iname = fl_filename_name(name);
- XChangeProperty(fl_display, i->xid, XA_WM_ICON_NAME,
- fl_XaUtf8String, 8, 0, (uchar*)iname, strlen(iname));
+ int inamelen = strlen(iname);
+ XChangeProperty(fl_display, i->xid, fl_NET_WM_NAME, fl_XaUtf8String,
8, 0, (uchar*)name, namelen); // utf8
+ XChangeProperty(fl_display, i->xid, XA_WM_NAME, XA_STRING,
8, 0, (uchar*)name, namelen); // non-utf8
+ XChangeProperty(fl_display, i->xid, fl_NET_WM_ICON_NAME, fl_XaUtf8String,
8, 0, (uchar*)iname, inamelen); // utf8
+ XChangeProperty(fl_display, i->xid, XA_WM_ICON_NAME, XA_STRING,
8, 0, (uchar*)iname, inamelen); // non-utf8
}
}
_______________________________________________
fltk-bugs mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-bugs