I see what you're talking about now. However, I found an install of v7.45 from 2017, and it has a popups.ini that's identical to the popups.ini installed by v7.69 now, except that each new version slaps its own timestamp on the file, so if you're not seeing the rightclick items, then either the file's been damaged somehow, edited incorrectly, or it's pointing to the wrong location.

For starters, paste this command into the editbox of your status window:

//var %a Status Channel Query Nicklist MenuBar , %n 0,%i 1 | while (%n isnum 0-4) { var %f $readini($mircini,pfiles,n $+ %n) | echo 7 -s Alt+P menu for $gettok(%a,%i,32) looks at size $file(%f).size timestamp $asctime($file(%f).mtime) filename %f | inc %n | inc %i } | echo -s similar filenames found: $findfile($mircdir,popup*.*,0,echo 3 -s size: $file($parms).size timestamp: $asctime($file($parms).mtime) $parms)

If you see that this or any of the n0 through n4 are looking at the wrong filename, or that the linked filename is suspiciously small indicating that it's been damaged, there's different fixes depending on what the problem is.

n0 through n4 of [pfiles] should show the brown lines containing a path\filename to the file where mirc should find the 5 different right-click menus. If there's no driveletter:\ path, then it's a relative location to where mirc.ini is located. By default, all 5 point to the same filename popups.ini located in the scripts subfolder beneath where mirc.ini is located.

If the above shows a popups.ini at a different location than where [pfiles] is looking, then you can use the /load command to point popups menus at the filename(s). see /help /load though be aware that the examples are redirecting the popups to point at a file located in same folder as mirc.ini, so if you do their example command it will point away from scripts/popups.ini

Paste the following script into any remote script (or a new one) then type into status window: /popups_sanity_check

If there are any red lines, there MIGHT be a problem, depending on why. If you've never edited the default popups.ini, it has a harmless bug in the [bpopup] section where item n10= is missing, so this script is identifying the difference between the expected item and the item found.

If there is a missing n123= item, or if the correct n123= items are there out of sequential order, this script will flag that as a problem even though it's probably harmless. However, if the same n123= number appears twice, that is a problem because $ini only sees one of them, and it will be in the display only once.

For example, if n20=foo:noop appears between n7= and n8=, and if n20=bar:noop appears after n19=, the popup menu will only show the 'foo' item between the n7= and n8= items, and it won't think the n20=bar item exists, and the next time you edit that section in the alt+P editor, it renumbers everything so that it now contains n8=foo:noop and the hidden bar:noop item is gone.

The prior paragraph is why the message has an asterisk for containing*, because $ini and $readini only see the 1st of 2 identical item= in the section.

Such a scenario could explain how the ignore item in the query menu vanished. So basically, don't edit popups.ini in notepad unless you really know what you're doing.

If all you're needing is to have the default query menu, open the Alt+P editor then choose 'query' from the dropdown, and this is what the default contents should look like:

Quote

Info:/uwho $$1
Whois:/whois $$1
Query:/query $$1
-
Ignore:/ignore $$1 1 | /closemsg $$1
-
CTCP
.Ping:/ctcp $$1 ping
.Time:/ctcp $$1 time
.Version:/ctcp $$1 version
DCC
.Send:/dcc send $$1
.Chat:/dcc chat $$1


If you don't have any valid copies of popups.ini at all, you can either reinstall mIRC in a new folder so you can harvest the popups.ini from there, or else you can get the default popups.ini from the latest mIRC version in the "support" dropdown at mircscripts.info

Code
alias popups_sanity_check {
  var %targets mpopup cpopup qpopup lpopup bpopup
  var %f1 $mircini , %f1section pfiles ,  %f1sectioncount $ini(%f1,%f1section,0), %f1i 0
  while (%f1i < %f1sectioncount) {
    var %f1n n $+ %f1i , %f1i %f1i + 1 , %f1found $ini(%f1,%f1section,%f1i)
    echo -s $iif(%f1n != %f1found,$chr(3) $+ 4expected $v1) found: %f1found in [pfiles] containing* $readini(%f1,n,%f1section,%f1found)
    var %f2 $readini(%f1,n,%f1section,%f1found) , %section $gettok(%targets,%f1i,32) , %sectioncount $ini(%f2,%section,0) , %i 0
    echo 3 -s examining section %section of %f2 containing %sectioncount items
    var %section %section, %line $read(%f2,ntw,$+([,%section,])) , %line $readn + 1 , %count 0
    while (n*=* iswm $read(%f2,nt,%line)) { inc %line | inc %count }

    if (%count != %sectioncount) echo 4 -s warning .ini physically contains $v1 items but mirc sees $v2
    while (%i < %sectioncount) {
      var %n n $+ %i , %i %i + 1 , %found $ini(%f2,%section,%i)
      echo 7 -s $iif(%n != %found,$chr(3) $+ 4Expected $v1) found: %found  containing*: $readini(%f2,n,%section,%found)
      var %sn n $+ %i
    }
  }
}