Hi fvwm developers,
Here is the bug info sun has returned to me inregards to the
multi-byte chars appearing in the title string. Vote for
it on sun web page once it shows up. Maybe they'll fix it.
Keith Spainhour--- Begin Message ---
Hi Keith Spainhour,
The bug report you submitted has been determined to
be a new bug. It has been entered into our internal
bug tracking system with the assigned Bug Id: 4481877.
The state of the bug can be monitored via the The Java
Developer Connection Bug Parade at:
http://developer.java.sun.com/developer/bugParade/index.jshtml
It may take a day or two before your bug shows up in this
external database.
The Java Developer Connection is a free channel that is maintained
by staff here at Sun. Access this web page to join:
http://developer.java.sun.com/servlet/RegistrationServlet
The home page for the Java Developer Connection is:
http://java.sun.com/jdc
Regards,
Paul
- Original Bug Report---
category : java
subcategory : classes_awt
release : 1.3.1
type : bug
synopsis : multi-byte chars ("(B") sent to title bar of windows
description : java version "1.3.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1-b24)
Java HotSpot(TM) Client VM (build 1.3.1-b24, mixed mode)
Create a simple java program that displays a window (code to follow). The
window title begins with 'Esc'(B then the title string. This can be seen
most easily on the FVWM window manager compiled without multi-byte support.
If $LANG and $LC_CTYPE are set to en_US.ISO8859-1 or just about any other
language, then multi-byte chars are sent to the title bar of a window.
I used "xprop" to look at the property WM_NAME which is where the title
comes from.
Without LANG set, Java sets WM_NAME like this:
WM_NAME(COMPOUND_TEXT) = 0x54, 0x68, 0x69, 0x73, ...
With LANG set, Java sets WM_NAME like this:
WM_NAME(COMPOUND_TEXT) = 0x1b, 0x28, 0x42, 0x54, ...
The 0x54 is the first character of the windows title, an uppercase T.
So with LANG set, the characters "0x1b, 0x28, 0x42," ("Esc ( B") are
added to the window title.
If Fvwm is compiled with multibyte support, that string is passed thru
XmbTextPropertyToTextList() which removes the "Esc ( B" prefix.
I think this should be persued with Sun. So far I see 2 issues:
I don't see why fvwm should need to support Multibyte characters when
the language is explicitly set to en_US, or fr_CA, neither of these
languages are multibyte.
I don't think it's correct for Java to be setting the text property to
COMPOUND_TEXT when LANG isn't set. Normally the property on a title
would be STRING.
Here is the code to reproduce:
import javax.swing.*;
public class WindowTest {
static void main (String[] args) {
JFrame win = new JFrame ("This is the window Title");
//win.setTitle ("Window Title 2");
win.getContentPane().add (new JLabel ("Test the JWindow"));
win.setSize (200, 200);
win.pack();
win.show ();
}
}
Here is a url to image of the window created:
http://www.employees.org/~keiths/WindowTest.gif
I am running on Solaris 8 with FVWM 2.4.0. I've tested this in both 1.3.1 and
Java 1.4-beta.
workaround :
suggested_val :
cust_name : Keith Spainhour
cust_email : [EMAIL PROTECTED]
jdcid : spainhou
keyword : webbug
company : Cisco Systems
hardware : sun4
OSversion : sol2.8
bugtraqID : 0
dateCreated : 2001-07-19 08:07:01.9
dateEvaluated : 2001-07-19 11:03:08.25
--- End Message ---