Subject: [Fwd: (Review ID: 128437) multi-byte chars ("(B") sent to title bar of windows]

From: Keith Spainhour <[email-masked]>
Date: Thu, 19 Jul 2001 20:17:21 -0400

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

Subject: Re: (Review ID: 128437) multi-byte chars ("(B") sent to title bar of windows
From: Paul <[email-masked]>
To: [email-masked]
Date: Thu, 19 Jul 2001 11:03:11 -0700 (PDT)

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-masked]
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