Hello, I am new, so I present myself: my name is Jehan, alias Jey. I am interested in mrxvt because I have used it for some years now. But the utf8 support takes time to arrive, so I am sad. :-(
Anyway then I was wondering if someone was working on it. If not, I would propose to "try". I never developed on terminal emulation, so this is a new topic for me. But as I really want to keep mrxvt and in the same time, I want utf8, I thought it could be nice to participate to the development. I won't promise to succeed, but at least I can try to. Then my question is: what is there to know about the code structure to facilitate my work? I have looked for the code for the last 2 hours. I have made some points about some parts but this remains misty about many of the functioning. I can of course work more on it to discover more of the program's logic, but I thought the easier was to have hints to where to look from the main developers. During the day I have a job, and the evening I have many activities. So the more help, the better. :-) What I logically guess about a new encoding support is that I would have two steps to modify: 1/ when an input arrive (whether it is keyboard or text paste probably, through mouse, menu or whatever), and if the locale is set to utf8 of course, I shall transform some keyboard signal (?) or the pasted text to the utf-8 encoding and send it to the running program's stdin... 2/ when some program needs to display anything to stdout, he does it in utf-8 (or I suppose so if the terminal encoding is set to utf8?), then I shall decode it and display the resulting unicode value in some unicode font. Any correction is welcome, because it is only a guess about what seems some logic of what a terminal does. Then what are these functions which receive some input and have to transform it in the set encoding and the ones which receive an output and must decode it, then display it with unicode fonts? What I found in the code: - encoding.c: apparently defines the functions which take the locale, which decides what is the encoding from it and which font to use (all used during initialisation, init.c it seems)? Apparently there are also some conversion functions from one encoding to another... What are they for? - command.c: rxvt_cmd_getc get the next input character, then rxvt_process_getc will process it and the following characters (as much as possible) until some escape sequence or a non-printable character appears. - screen.c: then rxvt_scr_add_lines should probably do something with the input string... but then I get lost about how this all is processed... Can you help me decoding this whole code logic please? Thanks. Jey P.S.: sorry for this long email as a beginning email (especially if someone is already taking care of utf8, which is great, and then my email useless), but as I have just looked in the code, I wanted to ask questions while it was fresh. Now let's go to sleep. I must go to work in a few hours... ------------------------------------------------------------------------- SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 _______________________________________________ Materm-devel mailing list Materm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/materm-devel mrxvt home page: http://materm.sourceforge.net