This is a well known feature available in most modern chat clients. It can be useful when you want to re-send a message in a slightly modified form or when you need to recall a previously sent message for some other reason.
For each message session, TabSRMM remembers the last X number of sent messages. The number of stored messages can be configured on the advanced tweaks option page (go to Message sessions → Advanced tweaks[tab]).
The input history works like a LIFO (last in first out) stack. When you send a message it is added on the top of that stack, becoming the most recent item which can be recalled. Older item(s) will walk down the stack and the oldest item will be removed, if necessary, to maintain a fixed size of the item stack.
The input history is persistent and will not be lost when you close a message window. Should you later open a new window for the same contact, the input history will still be available. All input histories will, however, be lost when you exit Miranda.
The input history works automatically. Any sent message is pushed on top of the stack and you can use Ctrl+↑ to recall it. Pressing the same keyboard shortcut again, will recall the next message on the stack and so on. Ctrl+↓ can be used to walk the stack downwards and recall more recent messages. When you reach the oldest item in the stack, the position will wrap around and you'll recall the topmost item again.
The temporary item
For convenience, using explained keyboard shortcuts to recall an older message will not delete the current content of the message input area. Before the recalled message is copied to the input box, the current content will be saved as a special input history item on the top of the stack. So when you use Ctrl+↑ to recall an old message while the input area is not empty, the content will be saved and you can recall it later by using Ctrl+↓. The temporary item will be replaced whenever you use the input history to recall an item after you have already typed new text in the message input area.
There is only one setting available:
- Message sessions → Advanced tweaks[tab] → Input history size: – maximum number of old messages which will be saved in the history. Changing this value requires a restart and will not affect already existing history stacks.
Scope of the history
The input history is not a global storage. Each message session (tab or window) has its own independent history stack which holds only messages sent to the specific contact or chat room.