讓 Empathy 支援 P4-Context

這兩天灌了 Ubuntu 11.04 在玩
內建的 Empathy 即時通訊軟體很強大,整合了多種 im
但是他的 msn 不支援 msn protocol 的 P4-Context tag
最直接的影響就是 m群看不到是誰在說話。
看了一下發現他底層是用 python-papyon 這套 msn lib
於是就可以直接動手修改啦!

先開啟 /usr/share/pyshared/papyon/conversation.py
找到 387 行:

        if message_type == 'text/plain':
            msg = ConversationMessage(unicode(message.body, message_encoding),
                    TextFormat.parse(message_formatting),
                    self.__last_received_msn_objects)
            try:
                display_name = message.get_header('P4-Context')
將這段改成:
       if message_type == 'text/plain':
            try:
                msg = ConversationMessage(unicode("["+message.get_header('P4-Context')+"]"+message.body, message_encoding),
                        TextFormat.parse(message_formatting),
                        self.__last_received_msn_objects)
            except KeyError:
                msg = ConversationMessage(unicode(message.body, message_encoding),
                        TextFormat.parse(message_formatting),
                        self.__last_received_msn_objects)
            try:
                display_name = message.get_header('P4-Context')
存檔後重新啟動 empathy 就可以了!

ps. 請自行注意 python 縮排

Comments