Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Unified Diff: ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc

Issue 414413002: After chromium stop using gtk+ for Linux/X11 all not ASCII character in window title start looks li… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix window title with X11/icewm Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « AUTHORS ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
index b876e177c7e94bfba6898d3433713f034b50ffe0..5fa43d721c57c078a7c7b1b42e8fe504982989e0 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
@@ -574,11 +574,22 @@ bool DesktopWindowTreeHostX11::SetWindowTitle(const base::string16& title) {
PropModeReplace,
reinterpret_cast<const unsigned char*>(utf8str.c_str()),
utf8str.size());
- // TODO(erg): This is technically wrong. So XStoreName and friends expect
- // this in Host Portable Character Encoding instead of UTF-8, which I believe
- // is Compound Text. This shouldn't matter 90% of the time since this is the
- // fallback to the UTF8 property above.
- XStoreName(xdisplay_, xwindow_, utf8str.c_str());
+ XTextProperty xtp;
+ char *c_utf8_str = const_cast<char *>(utf8str.c_str());
+ const int err =
+ Xutf8TextListToTextProperty(xdisplay_, &c_utf8_str, 1,
+ XCompoundTextStyle, &xtp);
+ if (err != Success) {
+ const std::string ascii_str = base::UTF16ToASCII(title);
+ xtp.encoding = XA_STRING;
+ xtp.format = 8;
+ xtp.value = reinterpret_cast<unsigned char *>
+ (const_cast<char *>(ascii_str.c_str()));
+ xtp.nitems = ascii_str.size();
+ XSetWMName(xdisplay_, xwindow_, &xtp);
+ } else {
+ XSetWMName(xdisplay_, xwindow_, &xtp);
+ }
return true;
}
« no previous file with comments | « AUTHORS ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698