
Andrea Rossato
Hi,
as I said I started working to i18n support for XPrompt.
These are the first set patches. I'm not submitting them since I want to clean up the code. Moreover I need some feedback, but please don't use this code on a your working instance of XMonad. I did not extensively tested it yet.
Attached you'll find 2 patches: a set of patches for X11-Extras (Mats code plus a couple of functions needed by XPrompt); and a set of patches for XMonadContrib.
A new module was added to XMonadContrib, to store some FFI stuff: XPromptLib.hsc. As the name suggests it must be processed by hsc2hs, so, in order to compile XMonad with XPrompt now you need to edit xmonad.cabal and add XMonadContrib.XPromptLib to the "other-modules" field, that should now read: other-modules: Config Operations StackSet XMonad XMonadContrib.XPromptLib
The ShellPrompt does not depend on readline anymore, so the previous one is the only modification to be done to xmonad.cabal (is it possible to do that with the new docstring stuff? - can you point me to some documentation about it?).
So far only ShellPrompt is using the i18n stuff. It is also an example of usage.
Please report to me any malfunctioning and any positive tests. I need both before submitting code to the core team.
Thanks for your kind attention. Andrea
Thanks for the work. Non-English words can be displayed correctly, now. However, there are a few issues. Apart from an obvious warning: : XMonadContrib/XPromptLib.hsc:53:16: : Warning: Defined but not used: data constructor `IConv' which presumably doesn't make anything worse, I also observed that a) The cursor is not at the correct place, when there are non-English characters, such as CJK double-width characters or Cyrillic, exist. b) I'm no longer be able to choose a different font. Finally, one not related to the new patch is that some special characters, like spaces or quotes, in the path name are not properly escaped, which in turn makes the path name completion useless, when such characters are in the path. It completes, but apparently the completion doesn't work properly. Best regards, Xiao-Yong -- c/* __o/* <\ * (__ */\ <