1

エンコーディングスタイルでプロパティXmbTextListToTextPropertyを設定するために使用するいくつかのX11コードを見ています。WM_NAMEXTextStyle

http://tronche.com/gui/x/xlib/ICC/client-to-window-manager/XmbTextListToTextProperty.htmlXTextStyleは、プロパティのタイプ/エンコーディングが現在のロケールに依存することを意味します。

http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.1の解釈方法がわかりません。これにより、タイプをWM_NAME現在のロケールに依存させることができるようです。

私の現在のロケールは「en_US.UTF-8」です。私がこれまで見てきたことはすべて、のタイプWM_NAMEはタイプSTRINGCOMPOUND_STRINGまたはである必要があることを示唆していUTF8_STRINGます。

ただし、xpropレポートUTF-8、およびxwininfoレポート'サポートされていないエンコーディングUTF-8の名前'。コードをチェックすると、確かにサポートされていますが、サポートされてUTF8_STRINGいませんUTF-8

私はこれがどこUTF-8から来ているのか途方に暮れています。何か案は?

4

1 に答える 1

2

標準タイプの他にSTRINGCOMPOUND_STRINGUTF8_STRING後者はXFree86拡張機能です)、マルチバイトエンコーディングを使用することもできます。

に渡すときは、現在のロケールから現在のエンコーディングを取得するだけですXTextStyle。ロケールでは、それはになりXmbTextListToTextPropertyます。プロパティの標準化された(XFree86による)タイプを取得するには、代わりにに渡す必要がありますen_US.UTF-8UTF-8UTF8_STRINGXUTF8StringStyleXmbTextListToTextPropertyXTextStyle

于 2011-09-07T20:04:24.030 に答える