From Miranda NG
Jump to navigation Jump to search
This page is a translated version of the page Tipper and the translation is 38% complete.
Kein Bild
Dateiname Tipper.dll
Autoren Scott Ellis, yaho
Stabile Version: 32-bit, 64-bit
Entwicklungsversion: 32-bit, 64-bit
Andere: Skins,

Dieses Plugin zeigt einen Tooltipp wenn Sie mit der Maus über einen Kontakt in Ihrer Kontaktliste fahren.

Most of the options are self-explanatory except for "items" and "substitutions".

If you want to set this up yourself, you need a moderate understanding of the Miranda database (profile) and the Database Editor++ plugin.

The easiest way is to copy the autoexec_tipper.ini file (in the same folder as this document) to the Miranda program folder and restart – it will (normally) ask you if you wish to import the settings. If you click Yes, you will find several examples in your Tipper options that will get you started. You can also ask your nerdier Miranda-using buddies to create such a file for you, if they have a good setup.

To get an idea of how Tipper works, try playing with items. Items are simply a label and some text (the value). Try adding some items. Once you've played around a bit you'll get the idea, and then you'll understand the need for substitutions.

Substitutions allow you to put useful contact-related information into the label or value of an item. To create a substitution you need to have a relatively good understanding of the Miranda database – a few hours browsing with DbEditor++ will give you a clue. You create a substitution by specifying a name and the database module and setting names for the data it will contain. You can then put this data into any item (label or value) by enclosing the substitution name in "%" symbols. Many database values are not terribly friendly to humans, so when creating a substitution, you can also choose a translation which will convert the value into a more readable format.

Technische Erklärungen:

A "substitution" is a name for a database value, represented according to a particular translation. When creating new substitutions, you specify its name, the database module (or the contact's protocol module) and the setting name. Then you select a translation from the drop-down list. This transformation will convert the database value into a string.

An "item" is just a label and a value. However, any substitution names (surrounded by % symbols) occuring in either a label or a value will be substituted as described above. If you want to put a % symbol in a value or label, use "%%" instead.


A good example is representing a contacts status (as "Online", etc) in the tooltip.

First, create a substitution called "status" (without quotes) – the module will be the contact's protocol module, the setting name will be "Status" (without quotes – note the capital "S") and the translation will be "WORD to status description" (since this value is a WORD value in the database). Then, create an item and specify "Status:" for the label and "%status%" for the value. Done.

There is also a built-in substitution, called a "raw" substitution. It is not listed in the substitution list, but it is available in all labels and values. Its format is:

%raw:<db module>/<db setting>%

No translation is performed on "raw" values. For example, to display a contact's contact list group in the tooltip, add an item with the label "Group:" and the value "%raw:CList/Group%". If you do not specify a module name (you must still include the "/"), the contact's protocol module will be used (or UserInfo module if setting doesn't exist in protocol module). This is ultimately just a shortcut for the "null translation".

There are also "system" substitutions (thanks to y_b), also not listed but available in all item labels and values, with the following format:


Hier kann name eines der folgenden Angaben sein:

uid Eindeutiger Identifikator des Kontaktes
uidname Name des eindeutigen Identifikators
proto Protokoll des Kontaktes
account Benutzerdefinierter Kontennname
time Uhrzeit des Kontaktes
status_msg Statusnachricht des Kontaktes
last_msg Die letzte empfangene Nachricht des Kontaktes
last_msg_time Uhrzeit der letzten empfangenen Nachricht.
last_msg_date Datum der letzten empfangenen Nachricht.
last_msg_reltime Relative Uhrzeit der letzten empfangenen Nachricht (vergangene Zeitspanne).
meta_subname Nickname des aktiven Unterkontaktes (für Metakontakte)
meta_subuid Eindeutiger Identifikator des aktiven Unterkontaktes (auch für Metakontakte)
meta_subproto Protokoll des aktiven Unterkontaktes (auch für Metakontakte)
msg_count_all Anzahl aller (gesendeten und empfangenen) Nachrichten zu/von diesem Kontakt.
msg_count_out Anzahl der gesendeten Nachrichten zu diesem Kontakt.
msg_count_in Anzahl der empfangenen Nachrichten von diesem Kontakt.

If a substitution's value results in no text (or nothing but spaces, tabs, newlines, and carriage returns), the whole item containing that substitution will not be displayed. If there is an error during the substitution process (e. g., a substitution name that does not exist, an odd number of % symbols, etc) then the value of that substitution will be "*". Note that you can use double-percent ("%%") in plain text (not in substitutions) if you want an actual percent symbol.


Alternativer Text

In any substitution you can have "alternate text" to use if the substitution fails (missing db value, etc). The format is:

where x is the original substitution and y is the alternative text (can be substitution). Note that you can use "|" in the alternative text, since it uses the first occurence to determine where the alternative text begins. Normally if any substitution results in no value, the entire item will not be displayed – but if you omit the "y" value above (i.e. have nothing for the "alternate" text) then the substitution process will continue. As an example, consider the following item value:
%raw:/FirstName|% %raw:/LastName%
The above value will display the contact's first name if it's available, and then their last name – but if the last name is not available, the entire item will not be displayed.

Spezifische Protokolle

If you end a substitution with "^" and protocol names (separated by commas), then that substitution will only be displayed if the contact belongs to the one of given protocols:

where w,y,z are the protocol names. If you want to display an item for every protocol except one or more, use

If you use alternative text and specific protocol together, specify the alternative text first:

In such substitutions you can use a "^" symbol in the alternative text, as Tipper will take the last "^" symbol as the start of the protocol specifier. If you want to use a "^" symbol in alternative text without a specific protocol, just append a "^" to the end of the descriptor, e. g.: %x|y^%

Versteckte Einstellungen

Um diese Einstellungen zu ändern benötigen Sie das Plugin Database Editor.

Versteckte Einstellungen
Einstellung Typ Standardwert Beschreibung
AvatarOpacity Byte 100 Avatar-Deckkraft.

Unterstützung für Variables

Tipper supports Variables plugin. All text in "Items" – that is, labels and values, will be processed by variables BEFORE Tipper substitutions are applied.