option dbu
TECO
Yesterday at 12:02 PM
In a dialog defined as "option dbu", when we need to use the settings /dialog -s name x y w h, we cannot maintain the same initial size in "w" = 172, and in "h" = 83 if we want to decrease the size of "h" I don't understand why the value has to be higher. Size -1 -1 172 83 Size -1 -1 344 138![[Linked Image from i.ibb.co]](https://i.ibb.co/tpkCh9bj/Screenshot-2.png) alias test {
if ($1) { set -u2 %anothersize 1 }
noop $dialog(test,test,-4)
}
dialog test {
title "Add address"
option dbu
size -1 -1 172 83
text "Address (nick!user@host):", 2, 7 6 80 8
edit "", 3, 6 15 160 12, autohs
check "&Ext:", 6, 7 47 20 8, disable
combo 7, 28 45 51 100, drop disable
check "&Remove in:", 9, 7 33 41 8
combo 10, 49 31 30 100, edit drop disable
text "minutes", 11, 83 33 25 8
link "Help?", 12, 149 6 20 8, hide
button "&OK", 1, 75 64 44 13, ok default
button "&Cancel", 5, 122 64 44 13, cancel
button "&OK", 4, 75 50 44 13, hide
button "&Cancel", 8, 122 50 44 13, hide
}
on *:dialog:test:*:*:{
if ($devent == init) {
if (%anothersize) { dialog -s $dname -1 -1 344 138 | did -h $dname 1,5-7 | did -v $dname 4,8 | did -t $dname 4 }
else { did -e $dname 6 | did -v $dname 12 }
didtok $dname 7 46 ~account.~certfp.~channel.~country.~forward.~join.~operclass.~partmsg.~quiet.~realname.~security-group.~text
didtok $dname 10 46 1.5.10.30.60.120.180.240
did -a $dname 11 $iif($did(10) == 1,minute,minutes)
did -c $dname 7 1
}
elseif ($devent == sclick) {
if ($did == 4) && ($did(4).visible == $true) { dialog -x $dname | unset %anothersize }
elseif ($did == 8) { dialog -x $dname | unset %chancentral.chan %size }
elseif ($did == 6) { did $iif($did($did).state,-e,-b) $dname 7 }
elseif ($did == 9) { did $iif($did($did).state,-e,-b) $dname 10 }
elseif ($did == 10) && ($did(10).sel) { did -a $dname 11 $iif($did(10) == 1,minute,minutes) }
elseif ($did == 12) { url -an https://www.unrealircd.org/docs/Extended_bans }
}
elseif ($devent == close) { unset %anothersize }
}
The solution is to use: /dialog -sb -1 -1 172 70 Tested on version 7.85
0
37
Read More
|
|
mIRC 7.85 released
Khaled
09/09/26 04:34 PM
Dear mIRC User, mIRC v7.85 has been released today. This is a small update that adds features and addresses a number of issues reported by users since the last release. It also includes bug and security fixes for various libraries, such as OpenSSL. Changes in this version include: Added support for WebSocket connections. Updated all dialogs to use the default Windows GUI font under Windows 10/11. Added support for Windows 10/11 Text Size scaling/settings for the GUI and dialogs. Changed STS support to allow previously accepted invalid certificate. Added support for IRCv3 extban/accountextban, context-chan, and +reply tokens/events. Fixed custom dialog optional text triggering editbox events. Fixed display/handling of numerics relating to whois, away, and ban list. Updated libraries to OpenSSL v3.5.8, TagLib v2.3.2, and UTF8-CPP v4.2.0. Updated CA root certificates cacert.pem file. How to upgrade?mIRC is distributed in an installer that installs mIRC on your computer for you. Simply download and run the installer from the download page on the mIRC website. Follow the instructions the installer gives to you. When upgrading all your old settings and scripts will stay as they were, if you want that. Read the questions the installer asks with care and nothing can go wrong. You will be chatting with the new mIRC in no time. If you get stuck or if you want to find out more about a certain feature, just click on a Help button or browse the Help file and you should find lots of hints to help you out. Where to download?As always, the latest version of mIRC can be downloaded from the download page on the mIRC website. Registering mIRCAs you know, mIRC can be downloaded freely and evaluated for 30 days. If you find that you enjoy using mIRC, it would be great and much appreciated if you registered your copy. This licenses you to use your copy of mIRC and helps to support our continued work on mIRC. You can find out how to register here. Full list of Fixes, Changes and Additions.For a more detailed list of recent changes, please see the whatsnew.txt file. You will need to read through the help file to learn more about these changes and their impact. Some changes are obvious, some need getting used to - please take your time to play with them and see how they work. May we invite you to use these forums for all questions you might have? The forums offer great help with everything related to mIRC! Thanks for using mIRC, have fun on IRC!
0
639
Read More
|
|
Re: $com issue
Ook2
07/09/26 10:45 PM
I have done some more research into this & it seems to be all com's fault, so nothing mirc can do about it  I also found the script issue, the .timer 1 0 .comclose line was causing the issue when the commands were used quickly Fixed version....
; $1- = item to execute & args
; or if $prop is set
; $1 = com object returned by exec()
; $prop = Terminate or pid or Status or eos or Line or ReadLine or WriteLine or debug
alias exec {
if ($0 == 0) return
if ($prop) {
if (!$com($1)) return
if ($prop == Terminate) noop $com($1,Terminate,1)
elseif ($prop == pid) noop $com($1,ProcessID,2)
elseif ($prop == Status) noop $com($1,Status,2)
elseif ($prop == EOS) {
; BUG: causes mirc to freeze when used on a running task when it should return $true! Unfreezes on task exit.
var %exec_stdout exec_stdout $+ $ticks
if ((!$com($1,StdOut,2,dispatch* %exec_stdout)) || ($comerr)) return -1
if ((!$com(%exec_stdout,AtEndOfStream,2)) || ($comerr)) var %res = -2
else var %res = $com(%exec_stdout).result
.comclose %exec_stdout
return %res
}
elseif ($prop == ReadLine) {
; BUG: causes mirc to freeze when used on a running task when it should return 0! Unfreezes on task exit.
; NB: results can be an empty line, 1 used to make it clear this is a good result
var %exec_stdout exec_stdout $+ $ticks
if ((!$com($1,StdOut,2,dispatch* %exec_stdout)) || ($comerr)) return -1
if ((!$com(%exec_stdout,AtEndOfStream,2)) || ($comerr)) var %res = -2
elseif ($com(%exec_stdout).result) var %res = 0
elseif ((!$com(%exec_stdout,ReadLine,1)) || ($comerr)) var %res -3
else var %res = 1 $com(%exec_stdout).result
.comclose %exec_stdout
returnex %res
}
elseif ($prop == WriteLine) {
var %exec_stdin exec_stdout $+ $ticks
if ((!$com($1,StdIn,2,dispatch* %exec_stdin)) || ($comerr)) return -1
if ((!$com(%exec_stdin,WriteLine,1,bstr,$2)) || ($comerr)) var %res = -3
else var %res = 1
.comclose %exec_stdin
return %res
}
elseif ($prop == Line) {
var %exec_stdout exec_stdout $+ $ticks
if ((!$com($1,StdOut,2,dispatch* %exec_stdout)) || ($comerr)) return -1
if ((!$com(%exec_stdout,Line,2)) || ($comerr)) var %res = -2
else var %res = $com(%exec_stdout).result
.comclose %exec_stdout
return %res
}
elseif ($prop == debug) {
echo -s start
var %exec_stdout exec_stdout $+ $ticks
if ((!$com($1,StdOut,2,dispatch* %exec_stdout)) || ($comerr)) return -1
echo -s got stdout
if ((!$com(%exec_stdout,AtEndOfStream,2)) || ($comerr)) var %res = -2
else {
echo -s got AtEndOfStream
var %res = $com(%exec_stdout).result
}
echo -s ok
.comclose %exec_stdout
return %res
}
else return
return $com($1).result
}
var %% = s $+ $ticks, %exec_com = $+(%%,_exec), %exec_stdout = %exec_com $+ _stdout.txt
if (!$com(%%)) .comopen %% wscript.shell
if ($comerr) return
.comclose %% $com(%%,exec,1,bstr,$1-,dispatch* %exec_com)
return %exec_com
}
3
959
Read More
|
|
Re: Editable Language Files
darta1964
31/08/26 05:17 PM
Ciao.Potresti per favore rimettere la Lingua Italiana ?
Il file mirc783-it-IT.dll non esiste più ! mirc783-it-IT.dll Where can I find the Italian language file ?
40
43,377
Read More
|
|
Re: mIRC UI too small
Khaled
30/08/26 06:14 PM
Maintaining support for Windows XP is difficult work. It is also far more limiting - more and more libraries require newer versions of Windows, SDKs, C/C++, etc. and Microsoft's support for compiling applications for Windows XP stopped at Visual Studio 2017. Currently, I am having to apply my own patches to some libraries to maintain XP support. This is not really practical long-term and so far I have been lucky that patches have been small and straightforward. The moment one of the libraries mIRC currently uses, which were chosen specifically because they can be compiled for XP, become too difficult to patch, or stop supporting XP entirely, it is likely that mIRC's XP support will also need to end. XP support is also limiting my use of useful, modern libraries that would support newer features. On the other hand, mIRC still working on XP just feels satisfyingly retro ;-)
5
2,027
Read More
|
|
Remember $away when reconnecting to znc.
KindOne
25/08/26 07:25 AM
Currently mIRC loses $away response '$true' when you disconnect/connect to znc. I am suggesting that mIRC read the '306' and set the '$away' into '$true' when reconnect to ZNC. Not sure on how to deal with $awaymsg. ZNC debug log:
[2026-08-25 02:57:21] (KindOne/foobar) CLI -> ZNC [AWAY :I am away]
[2026-08-25 02:57:21] (KindOne/foobar) ZNC -> IRC [AWAY :I am away]
[2026-08-25 02:57:21] (KindOne/foobar) IRC -> ZNC [:kindone.foobar.net 306 KindOne :You have been marked as being away]
[2026-08-25 02:57:21] (KindOne/foobar) ZNC -> CLI [:kindone.foobar.net 306 KindOne :You have been marked as being away]
[2026-08-25 02:57:26] (KindOne/foobar) CLI -> ZNC [QUIT :]
[2026-08-25 02:57:26] USR::KindOne == Disconnected()
// Snip... mIRC Disconnect/Connect to znc
[2026-08-25 02:57:29] (KindOne/foobar) ZNC -> CLI [:kindone.foobar.net 376 KindOne :End of /MOTD command.]
[2026-08-25 02:57:29] (KindOne/foobar) ZNC -> CLI [:KindOne!KindOne@Clk-35EC1D3E MODE KindOne :+iwx]
[2026-08-25 02:57:29] (KindOne/foobar) ZNC -> CLI [:irc.znc.in 306 KindOne :You have been marked as being away]
// ^^^ Feature suggestion: Set '$away' as '$true' here in mIRC
// Snip ... CAP REQ / CAP ACK
[2026-08-25 02:57:29] (KindOne/foobar) CLI -> ZNC [PROTOCTL NAMESX]
[2026-08-25 02:57:29] (KindOne/foobar) CLI -> ZNC [PROTOCTL UHNAMES]
[2026-08-25 02:57:33] (KindOne/foobar) CLI -> ZNC [WHOIS KindOne]
[2026-08-25 02:57:33] (KindOne/foobar) ZNC -> IRC [WHOIS KindOne]
// Snip... whois output
[2026-08-25 02:57:33] (KindOne/foobar) IRC -> ZNC [:kindone.foobar.net 301 KindOne KindOne :I am away]
[2026-08-25 02:57:33] (KindOne/foobar) ZNC -> CLI [:kindone.foobar.net 301 KindOne KindOne :I am away]
// Snip... whois output
[2026-08-25 02:57:33] (KindOne/foobar) IRC -> ZNC [:kindone.foobar.net 318 KindOne KindOne :End of /WHOIS list.]
[2026-08-25 02:57:33] (KindOne/foobar) ZNC -> CLI [:kindone.foobar.net 318 KindOne KindOne :End of /WHOIS list.]
How to replicate:
; /whois myself
raw 301:*:{
if (($2 == $me) && (!$away)) {
echo -ag *** This should not echo
}
}
1, Connect to znc and have znc connected to a network 2, /away 3, Disconnect from znc 4, Connect to znc and /whois 5, See "*** This should not echo"
0
1,201
Read More
|
|
Re: Writing C Code, DCC's Always Fail Midway
Khaled
16/08/26 11:47 AM
The DCC Send/Get code has been stable for about a decade or two, so I haven't looked at it in a long time. If I remember correctly, and someone please let know if I've got this wrong, mIRC sends/expects ACKs of the number of bytes sent/received every so often. Is your code sending ACKs? If not, that could be the issue. Implementations can vary across clients, some of which may not care about sending/receiving ACKs.
1
727
Read More
|
|
|
|