mIRC Home    About    Download    Register    News    Help

Active Threads | Unanswered Past 24 hours | Past 48 hours | Past Week | Past Month | Past Year
Bug Reports Jump to new posts
Re: 7.76.4244 - ctrl+a broken in editbox Khaled 2 minutes ago
Thanks this has been fixed for the next beta.
3 92 Read More
Bug Reports Jump to new posts
mIRC beta Khaled 22/05/24 05:03 PM
The latest beta can be downloaded here and includes the following changes:

Beta v7.76.4930 changes:
1.Item 27, tweaked min/max windows sizes so that more controls line up
2.Item 27, removed many unused/old string resources.
3.Item 27, colors dialog: shortened color descriptions, eg. "Notice text"
-> "Notice". Internally, ie. for scripting purposes, it is still
"Notice text".
4.Item 27, removed all parenthesized plurals "(s)" from strings.
5.Item 27, changed a large number of words to use the full word, eg.
min -> minutes, secs -> seconds, nick -> nickname, and so on.
6.Item 27, implemented button-sizing function that resizes buttons
to fit the button text, up to a maximum of double the standard
button width. The function can resize/shift groups of buttons to the
left/center/right, will shift horizontally grouped buttons in the
same direction, resize vertically grouped buttons to the same size,
and so on. In cases were the buttons are too wide, the dialog width
is increased and its controls are centered.

This function call had to be added to all dialogs that have buttons
and will shift/size buttons based on that dialogs design.

Dialogs: moved as many buttons as possible to be either right-aligned
or bottom-aligned. This allows them to be dynamically resized without
affecting layout. Right-aligned buttons are expanded to the right.
Bottom-aligned bottoms are expanded to the left or centered. There
are exceptions were there is space to the left or right of a button
that allows it to expand in that direction without affecting dialog

7.Fixed Control+A not working to select all text in editbox.
8.Fixed system icons appearing in top left corner of resizable dialogs,
such as favorites, channel central, etc.

Beta v7.76.4244 changes:
1.Item 27, fixed https://forums.mirc.com/ubbthreads.php/topics/272641
2.Item 27, fixed /play dialog not being displayed correctly.
3.Item 27, tweaked size/position/alignment of various controls.
4.Item 27, added missing ellipses "..." to buttons and menu items
that open dialogs.
5.Item 27, changed buttons in various dialogs, eg. Address Book Users
Whois, Options/DCC/Trusted Users, etc.
6.Item 27, reworded/simplified more strings.

Beta v7.76.4141 changes:
1.Item 27, changes:

Redesigned 120+ dialogs, and several other non-dialog windows,
and resized/repositioned all controls to make them translation
friendly. Microsoft recommends 30% more width compared to English.
Most controls are now at least 30% wider than their English text.
It has taken many reviews per dialog for the overall design to

Hundreds of changes were made to the resource file to standardize
dialog/control sizes/flags, as there were many variations due to
the dialogs being created over several decades. For example, all
buttons now use the standard 50x14 size, although some are longer
depending on the text. This is not wide enough for all languages,
so still needs to be reviewed.

Some group boxes had long title text that would be chopped when
translated. In some cases, I shortened the group title text and
lengthened the descriptions of their contents. In other cases, I
removed group boxes entirely and just used headers.

Code changes were required in some cases. For example, the Options
dialog and Category listbox are now resized based on the widest string,
since the category names can be translated. The Options IRC dialog
now uses a listbox of checkbox items, as there were too many
settings. Technically, many more settings could be moved to this
listbox from other dialogs but I have made it only contain the settings
from the IRC dialog for now. The About dialog "Check for Updates" button
is resized based on the length of the text. SysLink controls can be
either left or right aligned, so if you have a SysLink centered in a
dialog, it needs to be dynamically repositioned in code to center it
nicely based on the translated text width. And so on.

The Options and Address book dialogs center their contents, which
requires a slightly trickier maximum width calculation of contents
per tab, where the text width in controls is measured and the controls
are resized to the maximum necessary width and then the overall width
of the tab content is calculated to center the controls. It would have
been far easier to just make everything left-aligned but I like the
aesthetics of the centering.

Overall, this change should, hopefully, make it a lot easier for

Beta v7.76.3628 changes:
1.Item 27, changes:

Updated the dialog resource parser to handle several more
contexts when loading/checking/comparing resources. Also now
takes account of changes that Resource Hacker makes to controls,
which was preventing mIRC from validating/using them.

Experimented with resizing dialogs/controls in order to handle
longer translated text. Many of the dialogs and controls are tightly
sized/fitted. This will require changes to almost all dialogs and
will take a lot of work.

Signed up with with Crowdin for translations and experimented with
editing/importing/exporting resources.

Beta v7.76.3405 changes:
1.Item 31, https://forums.mirc.com/ubbthreads.php/topics/272550
2.Item 11, added $markasread.
3.Item 33, changed. Slightly tricky as Windows XP handles
SysLinks differently.
4.Item 34, to match 33 for consistency. Initially changed to
SysLinks but the way SysLinks are displayed led to backward
compatibility issues with scripts, so I decided to update my
custom links code to handle tab/focus and tried to maintain
as much backward compatibility as possible.
5.Item 35, https://forums.mirc.com/ubbthreads.php/topics/272577
6.Item 27, changes:

Shortened item 27 description. Added a link below the language
listbox in the Options/Display dialog to open a languages page
on the mIRC website that describes the feature in detail.

Added folder button next to language listbox in Options dialog
to open up the language folder in explorer to make it easier
for users to place language files there. If files are changed in
the folder while the Options dialog is open, the list of language
DLLs is automatically updated in the listbox so that they are
immediately available.

Strings in the RT_STRING section are now checked to see if they
start with "* /command:" or "* $identifier:" to make sure the
names aren't changed.

Made the filename format a little more strict. It now needs to
start with "mirc" and end with a language code, eg. "-en-US", and
".dll". You can type /langdll -e to list all of the language codes
that your Windows version supports. Older versions of Windows support
different codes for some languages and are missing newer ones. Also
note that Windows itself supports a smaller subset of a much larger
set of standard codes.

Extended /langdll -m [code] to specify the language code, eg. for
English US you can specify: 0x0409, 1033, or en-US. This then sets
the language DLL name and the language for the resource sections.
Technically this is not required since the language DLL must
be a single-language DLL. mIRC loads the resources as a neutral
language. However, it may be used in the future. Also, the language
codes in the DLL's VERSION resource are now updated. The language
codepage in mIRC's VERSION resource is now 1200 (Unicode). This
also shows the DLLs language when the file's properties are viewed
in explorer.

Experimented with code-signing the language DLL. It turns out that
Risoh Editor modifies the DLL in a way that is not recognized by
signtool.exe for code signing. DLLs modified by Resource Hacker
can be signed without issue.

Beta v7.76.2695 changes:
1.Item 30, fixed not being set correctly in release beta.

Beta v7.76.2691 changes:
1.Item 27, several changes.

Options dialog will now detect if the currently selected language
DLL timestamp has changed and will prompt for a restart.

Moved several keyboard shortcuts, that were hard-coded, to the
accelerator table, so that they are now translatable: Alt Q and
Control T, D, L, N, W, Q, F, A.

mIRC still requires a restart if a language DLL is changed. However,
technically, it is now able to switch to a new DLL on-the-fly, and
will update menus, accelerators, strings, and dialogs, including
titlebars of open status/channel/etc. windows, the text in
DCC send/get windows, the scripts editor, and so on. However, it
cannot update open dialogs, as these can change their text in
some contexts. So, for now, it will still require a restart.

Beta v7.76.2477 changes:
1.Item 28, fixed.
2.Item 29, added.
3.Item 30, fixed. Due to Visual Studio 2017 change.
4.Item 31, changed.
5.Item 32, updated.
6.Item 27, updated, see for details. Changes to all of the resource
parsing code. As this is a first release of a new feature, with a lot
of new code relating to translatable resources, it needs testing.

Beta v7.76.1610 changes:
1.Item 4, https://forums.mirc.com/ubbthreads.php/topics/272418
2.Item 25, added.
3.Item 26, added.
4.Item 27, changed.

Reviewed 10000+ strings embedded in the source code, filtered down
by heuristics. Most translatable strings were already in resources
but some needed to be moved.

This also allowed me to review which literal strings needed
to remain in the code as non-translatable, depending on context,
eg. "Status Window" needs to remain non-translatable when used
internally in scripts and ini file item names, otherwise these
would break every time a different language was used, but needs
to be translatable for the GUI. This applies to window names,
script-related names, ini item names, and a variety of other

Some dialogs needed extra code to convert to/from the translatable
GUI resource string, visible in the dialog, and its non-translatable
version that is used internally.

A lot of legacy code depends on strings being formatted in a specific
way, eg. spaces/order of words in strings such as "Status Window". So
translating mIRC will not be as simple as just translating the text
in resources. A translator will need to be aware of a string's context,
format, and word order and the need to keep it as close as possible
to the original. Changing the code to get around these limitations
will take much more work.

Overall, this beta includes several hundred changes to source code
files and resources.

Beta v7.76.1151 changes:
1.Item 18, fixed focus being set on editbox after the find/replace
buttons are pressed.
2.Item 23, fixed.
3.Added back smiley face to right-click on About button at
different icon sizes.
4.Item 24, https://forums.mirc.com/ubbthreads.php/topics/272403

Beta v7.76.1060 changes:
1.Item 15, fixed.
2.Item 5, fixed a Find/Replace bug where the first attempt
for a Replace All was not working.
3.Item 18, changed.
4.Item 16, changed, eg. when switching between mdi/desktop
5.Item 17, fixed.
6.Item 19, fixed.
7.Item 20, fixed.
8.Item 21, updated.
9.Item 22, updated.
10.Updated help file.

Beta v7.76.856 changes:
1.Item 9, https://forums.mirc.com/ubbthreads.php/topics/272379
2.Item 10, added.
3.Item 11, added. To apply to all server connections, you would
need to use /scon -a.
4.Item 12, added.
5.Item 13, added.
6.Item 14, fixed.

Beta v7.76.668 changes:
1.Item 6, udpated. The update.html file now contains a file
signature used by mIRC to verify that the installer is
authentic and unmodified.
2.Item 8, extended.

Beta v7.76.237 changes:
1.Item 1, https://forums.mirc.com/ubbthreads.php/topics/272326
Note that this UTF-8 decodes characters as well.
2.Item 2, https://forums.mirc.com/ubbthreads.php/topics/272329
Tested with different combinations of font/font size/button
size. Needs further testing.
3.Item 3, https://forums.mirc.com/ubbthreads.php/topics/272331
4.Item 4, added. This also UTF-8 encodes/decodes characters.
5.Item 5, fixed.
6.Item 6, added.
This will download and execute the exe specified in update.html
on the mIRC website. The exe is saved to the "updates" folder.
Currently, the exe is the standard install file, set to update
files in silent mode. By default, it will backup existing files,
update mirc.exe, mirc.chm, ircintro.chm, readme.txt, versions.txt,
and cacert.pem, and will perform required updates to other files
where necessary. After the update is complete, mIRC is restarted
and the About dialog is displayed.
7.Item 7, https://forums.mirc.com/ubbthreads.php/topics/272346

1.Fixed $urlget() support for percent-encoded username:password
2.Fixed treebar spacing when switching back and forth between
different icon sizes.
3.Fixed $base() floating point conversion bug.
4.Added $encode()/$decode() 'x' switch that percent-encodes/decodes
all characters except "unreserved" as defined in RFC3986.
5.Fixed Scripts Editor find/replace bug where first found item
was not being replaced.
6.Added Check for Updates support for downloading/installing an
update directly.
7.Fixed auto-op/voice/protect being incorrectly triggered when
you don't have ops.
8.Extended $samepath() to handle more contexts, such as subst
drives and network prefixes.
9.Changed Scripts Editor find/replace dialog behaviour to wrap both
forward and backward when a search ends.
10.Added Scripts Editor find/replace dialog "Count" option to
display number of found/replaced matches.
11.Added /markasread [name] that marks the specified window name as
read. If no name is specified, all windows on a server connection
are marked as read. The $markasread identifier returns the number
of windows on a server that are currently unread.
12.Added Scripts Editor find/replace dialog support for escape key
to stop a long search.
13.Added Scripts Editor find/replace dialog support for remembering
dialog position after restarting mIRC.
14.Fixed $input() dialog not accepting escape key to close dialog
if only ok button is displayed.
15.Fixed editbox eye icon focus bug when switching to another control.
16.Changed Find dialog in status/channel/query windows so that it will
re-open in the active window if Control+F is pressed while open in
another window.
17.Fixed MDI window titlebar colors not being set correctly when
desktop/mdi windows are active/inactive.
18.Changed Scripts Editor Find/Replace dialog to modeless, allowing you
to scroll/edit in the editbox while the dialog is open.
19.Fixed Shift+Tab to show nick list keyboard shortcut not working in
windows without editboxes.
20.Fixed List Channels dialog not enabling/disabling List button when
the active server connects/disconnects.
21.Updated OpenSSL library to v3.0.13.
22.Updated zlib library to v1.3.1.
23.Fixed $input() icon/text positioning on different DPI displays.
24.Added email/userid support for IRCX mask \ character.
25.Added MDI window/menubar icon sizes for different DPI displays.
26.Added alternative method for opening help files that gets around
the Windows CHM locked files issue.
27.Added support for loading translated resources from external
language DLLs found in the "languages" folder. All dialogs were
redesigned to support longer language text. A language option
has been added to the Options/Display dialog that displays the
language name, code, and DLL name. The internal default is English
(en-US). The language setting is saved to mirc.ini in the
[language] section. mIRC also suports a /langdll command and
a $langdll identifier that returns the currently loaded language
dll. See the languages page on the mIRC website for details.
28.Fixed $window().title not returning correct title text for DCC
Send/Get windows.
29.Added $window().fulltitle that returns the full titlebar text.
30.Fixed manifest file being included twice in resources.
31.Changed Treebar DCC Send/Get to show progress bar below text like
the switchbar.
32.Updated CA root certificates cacert.pem file.
33.Changed hyperlinks in dialogs to use standard "SysLink" controls
that can handle tab/focus.
34.Changed custom links in custom dialogs to handle tab/focus.
35.Fixed $mid() maximum length limit to match $maxlenl.
1 399,752 Read More
mIRC Help Jump to new posts
Re: mIRC prevents monitor from sleeping Khaled 19/05/24 06:30 PM
There are quite a few reports of this issue with the Realtek audio driver. You could try uninstalling/reinstalling the driver, or resetting its power plan options to defaults, as some have suggested in the links I found through Google.
2 251 Read More
Feature Suggestions Jump to new posts
Re: Extending /dns Wims 18/05/24 05:53 PM
Finally, return results to a variable, such as $dns or something without having to go through ON DNS.
note that , although I would like $urlget to be able to do the job without requiring a callback and do the job from the urlget parameter, the event is there to prevent /dns from freezing mirc while waiting for the result.
1 128 Read More