silvercircle/github/io
A Jekyll test site with no particular purpose.

Warning

This is an old archived article. It is here for historical and nostalgic reasons only. The software described in this article (Miranda IM and its components) is no longer a project I'm working on. The article most likely will contain broken links, missing images as it was automatically converted from an old blog long gone.

The project is still an active Open Source project and should you be interested, more information about it is available here.

Template system changes

This article describes the changes which have recently been made to the message log system in tabSRMM and which may be of interest for the users.

These changes will be fully available with the next tabSRMM release (most likely, the next Miranda nightly build).

Note that, especially the auto-bidi mode, may require that you update your configuration. You definately should reset your RTL template set (see below) to make it compatible with the auto-bidi operation.

The template documentation has been updated aswell and the new version is now "available":http://miranda.or.at/tabsrmm-articles/tabsrmm-message-log-templates/

1. Automatic bidirectional mode

This is an important change. It allows to have both LTR (left to right) and RTL (right to left) messages together in the message log. There is no need to switch to a manual RTL mode anymore. Currently, this works only with MSN, because MSN is the only protocol which can transmit and receive the text direction information alogside each message.

tabSRMM allows to send and receive this information. When the text input area is in RTL mode (RTL users can switch with Ctrl + Right Shift or Ctrl + Left Shift between RTL and LTR editing) *and* the message contains at least 2 characters of a valid RTL language (hebrew for example), tabSRMM will tell the protocol to send it as RTL message (currently, MSN can do it). This happens automatic and you don't need to activate RTL mode or anything else - it just detects RTL by analyzing the outgoing message.

Messages containing both RTL and LTR character sequences should also work fine.

However, the auto-bidi option will have some impact on the visual appearance of the message log, because of some technical limitations in the rich edit control, in particularly:

auto-bidi support only works in the unicode build of tabSRMM.

currently, it does NOT work with IEView, because IEView has no support for mixed LTR/RTL messages. This might be added by its author at a later time, but I don't know.

When the message log is in auto-bidi mode (which happens when the first RTL message is received), some of the advanced formatting options are limited or not available. This is due to limitations in the rich edit control and cannot be solved. It includes things like horizontal grid lines and multiple background colors for incoming and outgoing messages (they work, but limited to new messages arriving in the log). Other options like text indent, icons, symbols should work as normal. Bug reports about these limiations or requests to change them will be ignored, because auto-bidi mode currently works in the best possible way.

Maybe some of the limitations can be solved by using IEView when it gets auto-bidi implemented (no idea, if it is planned though).

The old (manual) RTL mode is still supported though, but is now emulated with the automatic bidi mode. The ANSI version can still use manual mode.

2. Changes to the template system.

  • the default template sets have been changed, mainly to support auto-bidi mode which affects the RTL template set more than the LTR. If auto-bidi produces strange results, then most likely because you have custom templates loaded from a theme or skin.
  • the template editor has a new button: *Reset all templates* - this allows you to reset your current template set to the default (hardcoded) templates with a single click. Previously, you could only reset single templates.
  • When loading a theme (.tabsrmm file), tabSRMM will no longer automatically overwrite your templates without asking.
  • When loading a skin, it will, by default, not overwrite your fonts, colors and templates, even if the skin has a theme file integrated. You can set the options on the *Message window skin” option page.
  • Loading a skin at startup will never overwrite any message log related things - no fonts, colors, templates.

The “Simple” template

This is a new feature in the template parser. There are 2 new variable modifiers available. The ? modifier will skip the following variable, when the template set has been set to simple mode. The \ modifier will skip it when the template set is not in simple mode. Switching between simple and normal template mode is avaialable from the message log menu (toolbar or menubar).

With these 2 new modifiers, you can easily define a template which allows you to switch between 2 modes quickly. The first mode could be full display, including nickname, timestamp and so on, while the *simple* mode could skip these things and provide a more simple layout.