It's always possible. The question is: how easy would it be to implement
(This issue is related to my proposal not to modify existing "on text" events in this case, but add a plain new one).
The event definition for inputs is "on input", there might be multiple on no input events in your current mIRC loaded.
In theory, you can have dozens of "on text" or "on input" events loaded, and - if they were set up properly - without any mutural disturbance.
Regarding these two events, problems might arise if
more than one such event is set up to:
- modify the display of incoming text, e.g. "visual themes" or "away logs" (on text events)
- modify the content of text before you are sending the text to the server, and in addition maybe modify the local display of the text sent, e.g. "acronym managers", "nick completers", and again: "themes" (on input events)
In both cases, the default (unmodified) incoming text or the default text you entered in the editbox is "halted", thus only the modified text will be sent, or displayed.
Any
further script that wants to modify-and-halt text on it's own could:
- result in a doubled display / doubled sending of the text (sometimes called "fnord")
- prevent the other event(s) from being processed
- not trigger at all
(... depending on how the new and old event(s) are set up with respect to "halting")
Therefore - if there exists an event with the characteristics described above - it's not sufficient to add a new "on input" event with the purpose to replace tabs with spaces, but you'd need to
alter the respective on input event. If there is none, it would be quite easy to achieve.
To find all input events in your mIRC:
- open your scripts editor (alt-R)
- go to the "remote" tab
- start a search (ctrl-f) for the term ":input:" (without quotation marks, having checked "search all files in this section)
How many input events do you find? If you find some (and the code is not that extensive) please paste the code, so we'd have a look at it
If you have
no such on input event, this will do the job:
; typing text (or pasting from clipboard)
on *:input:*: {
; text is not a /command; input text contains tabs; window is a channel or query; sending the line with "enter" not "ctrl-enter"
if ((/* !iswm $1) && ($regex($1-,/\t/)) && ($istok(channel query,$window($active).type,32)) && (!$ctrlenter)) {
; send the text with all the tabs replaced by hardspace
msg $active $replace($1-,$chr(9),$chr(160))
; halt the "original" (non-replaced) text
halt
}
}