mIRC Homepage

Sometimes in IRC people paste text that you want to copy, such as:

[09:10] <Plasma> Hi there, can you copy this line!
[09:10] <Plasma> ... and this one

Currently you can select the entire lines of text to be copied to your clipboard.

It would be great if you could hold down a modifier key (such as shift) or perform a right-click instead of left-click drag, that would let you select 'Hi there...' and '... and this one' lines, without having to select the speaker's nickname and the message timestamp.

This would allow a 'clean copy' of the intended text the person sent, instead of having to clean it up manually afterwards.

This would also remove the need for 'pastebin' at times.
I recently suggested this as well, see https://forums.mirc.com/ubbthreads.php?ubb=showflat&Number=220473&page=1#Post220473
Although this is by no means perfect (as I didn't bother deleting the previous lines as you'll see), it certainly indicates that it is implementable through scripting ways. Yes I am also aware that you are asking for the feature itself, so please disregard that for now. =\

alias ccb {
  var %j 1, %i $cb(0)
  clipboard -an
  while (%j <= %i) {
    clipboard $iif(%i == %j,-a,-an) $regsubex($cb(%j),/ $+ $clean_timestamp($timestampfmt) <.+> (.+)/,\1)
    inc %j
alias clean_timestamp return $replace($1,y,\d,m,.,h,\d,n,\d,s,\d,tt,..\/..,t,.\/.)

× 21:21:05 × <@DaMan> twilly doesn't even own a PS3 lol
× 21:21:11 × <%Twilly> Do too
× 21:21:20 × <%Twilly> I secretly follow you around on PS3 internet

Where $timestampfmt in my case is: × HH:nn:ss ×

And changes the clipboard to:
× 21:21:05 × <@DaMan> twilly doesn't even own a PS3 lol
× 21:21:11 × <%Twilly> Do too
× 21:21:20 × <%Twilly> I secretly follow you around on PS3
twilly doesn't even own a PS3 lol
Do too
I secretly follow you around on PS3

In my opinion, this certainly makes it easier to work with.

Edit: Just realized it's not showing it properly XD. It is supposed to be $chr(215)
This wouldn't be possible without an overhaul of the buffer window

mIRC doesn't know what part of a line (if any) is the timestamp, much less the nickname. Note that scripts often do /echo $timestamp instead of /echo -t, and a nickname can be in any form due to theming. mIRC has no way of discerning the two unless it did some kind of weird regex match on every copied line, and this would only be able to recognize the timestamp with any certainty.

Column selection would be better.
Adding multicolumn text is on my to-do list, although, as mentioned, it will require a redesign of the way text is buffered and displayed. Each line of text will need to store timestamps, nicknames, channels, and perhaps other relevant items, separately from the line itself so that they can be displayed independently.

The main issue is that a change of this kind will very likely require changes to the way scripts work. For example, the /echo command will need to be extended to allow you to specify these items separately from the line itself. Identifiers would need to be updated to allow you to access these items. And so on. So such a change will almost definitely require updates to many existing scripts.
Originally Posted By: Khaled
Adding multicolumn text is on my to-do list,

I'd much rather see what others have suggested... column copying. In other words, rather than copying text horizontally only (if you move the mouse down one line, you get everything horizontally from the starting point, onto the next line up to the ending point).

This is a long line of test with multiple lines and the color
is what is copied if I start
the copy at with and move down
one line without moving horizontally.

With columny highlighting, I can choose to do something like this (move down 1 line and horizontally about 10 spaces):

This is another long line of text with multiple lines and the
color is what is copied if you move down 1 line and horizontally
about 10 characters (including spaces)).

If we are talking about a feature that is most likely to be used by every day users, I would guess that being able to copy just the message portion of a line of text would be more useful. The type of column selection that you are pointing out is probably more suited to copying aligned column data as opposed to random portions of messages :-)
That's true. However, I think most of the copying that people are trying to accomplish is usually a script or something similar that is pasted by one person. That means it's already aligned correctly for column selection. This also would not require changing the a lot of scripts out there, whereas requiring changes to /echo would.

There is a benefit to having columns, but at the same time, that benefit is rarely needed by most people. Most of those who need it infrequently could do just fine with column selection. So it would really only be a noticeable benefit (in comparison with column selection) to a very small number of people. And that would be at the cost of a LOT of scripts requiring updating to handle any /echo changes. I just don't think the good outweighs the bad. Especially when you can get most of the good out of column selection, which doesn't have any bad side to it.
I agree, the column selection doesn't need anything to be changed but the selection itself, and it would already let the users select a whole conversation (often, part of a script) without the timestamp + nick + whatever the users is displaying.
I would at least see this for the script editor.
Thanks for the replies!

It could possibly work at the moment without an overhall (as shown above with scripts).

mIRC knows when the nickname ends because of the first > in the line of text.

Can mIRC just trim the leading text up to this character for example, if shift is held down?

That should do it.
That assumes no one uses scripts that change the <>'s around the nick... which they do. Granted, that much would help most users, but it wouldn't work for a large number who customize. It's usually better to accommodate as many as possible.
© mIRC Discussion Forums