VxD mIRC Addons – Tutorial

Official guide for VxD mIRC addons GUI 8 and DCX xPopups.
Installation, configuration, known bugs and step-by-step tutorial.

DCX xPopups Ver.3 Rev.C

Compatibility

Addon compatible with mIRC 7.x.
Functionality is NOT guaranteed on previous versions.

Installation

1. Download and extract dlls.rar into your main mIRC folder.
2. Extract the folder "dlls" directly into mIRC root.
3. In mIRC type: /load -rs dlls.mrc
4. Confirm the debug message.
5. Open the addon from Menubar → xPoPuPs.

WARNING: always perform changes while mIRC is disconnected from servers.

mIRC GUI 8 Ver.1 Rev.C

System requirements

mIRC 7.xx (Portable version recommended).

Installation

1. Extract dlls.rar into your main mIRC folder.
2. Extract the folder "VxD" into the mIRC root.
3. mirc.ini must be in the same directory as mirc.exe.
4. In mIRC type: /load -rs VxD/reset.mrc
5. Open the panel from Menubar → Graphics.

WARNING: always perform changes while mIRC is disconnected from servers.

Known bugs and solutions

• Cursor disappears → reset icons.
• Crash on Apply Theme with multiple servers → disconnect first.
• Treebar or nicklist without icons → use RESET.
• Always edit icons, popups and themes while disconnected.

Tutorial – Create popup menus with icons

STEP 1 – Copy your .ico files into your script folder.

STEP 2 – Edit the icon list from Menubar → xPoPuPs → Edit Icons List.

STEP 3 – Write your popup menu inside the mIRC popups section.

STEP 4 – Apply icons using Refresh → Apply Icon After Edit.

Full source code

Below are the official source code files for mIRC GUI 8 and DCX xPopups addons.

core.mrc

;===========================================================================================================================;
; core | VxÐ ~ http://vxd.mobi/mirc/ ~ caronte.ade@gmail.com | mIRC ☠  VxÐ ⅜ $¢®iþ†                             ;
;===========================================================================================================================;

on *:start:{
  if ($isfile(%mircico)) {
    dll  VxD\mircustom.dll SetIcon -m $shortfn(%mircico))
  }
  if ($isfile(%mircico)) {
    /tray -iNmNsNtNaN $shortfn(%mirctray))
  }
  if ($isfile(%icodialog)) { /toolbar -a Graph "Graph" $shortfn(%icodialog)) "/start" }

  if (%global == ON)  {
    //echo -a $dll($scriptdir $+ soulcursor.dll,OtherCursor,$window($active).hwnd > %glob) 
    //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,menubar > %glob) 
    //echo -a $dll($scriptdir $+ soulcursor.dll,SwitchCursor,%glob)
    //echo -a $dll($scriptdir $+ soulcursor.dll,ToolCursor,%glob)
    //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,%glob) 
    //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,mdi > %glob)
    //echo -a $dll($scriptdir $+ soulcursor.dll,ScrollCursor,%glob) 
    //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,status > %glob)
    //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,query > %glob)
    /dll $scriptdir $+ nickLUST3.dll SetHotCursor # > %glob) 
    if (%treex == ON) { /timer 1 0 dcxtreebar | /xtreebar -f %textmode %xchartree %xdimtree %xcartree }
  }
  if (%global == OFF) {
    //echo -a $dll($scriptdir $+ soulcursor.dll,OtherCursor,$window($active).hwnd > %cursorech) 
    //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,menubar > %cursoremdi) 
    //echo -a $dll($scriptdir $+ soulcursor.dll,ScrollCursor,%cursorescroll) 
    //echo -a $dll($scriptdir $+ soulcursor.dll,SwitchCursor,%cursoresw)
    //echo -a $dll($scriptdir $+ soulcursor.dll,ToolCursor,%cursoretool) 
    //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,mdi > %cursoremdi)
    //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,status > %cursorest)
    if $me ison $query($active) //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,query > %cursorech)
    if $me ison $chan($active) //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,channel > %cursorech) 
    nicklust SetHotCursor # > %glob) 
    if (%treex == ON) { /timer 1 0 dcxtreebar | /xtreebar -f %textmode %xchartree %xdimtree %xcartree }
  }
  .setlayer %xlayer
}

ON *:JOIN:#:{
  if ($nick == $me) { 
    if (%global == ON) { //echo -a $dll($scriptdir $+ soulcursor.dll,OtherCursor,$window($active).hwnd > %glob) | //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,channel > %glob) }
    if (%global == OFF) { //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,channel > %cursorech) | //echo -a $dll($scriptdir $+ soulcursor.dll,NormalCursor,query > %cursorech) | //echo -a $dll($scriptdir $+ soulcursor.dll,OtherCursor,$window($active).hwnd > %cursorech) }
  }
}

menu.mrc

;===========================================================================================================================;
; menu | VxÐ ~ http://vxd.mobi/mirc/ ~ caronte.ade@gmail.com | mIRC ☠  VxÐ $¢®iþ† ⅜                             ;
;===========================================================================================================================;
menu nicklist {
  11 $chr(11) $+ 0,1NICKLIST Settings
  .Color
  ..Backgroud Color: { .set %nb $dll(VxD\color.dll,Color,.) | .hop }
  ..Text Color: { .set %nk $dll(VxD\color.dll,Color,.) | .hop }
  ..Highlighted Text: { .set %ev $dll(VxD\color.dll,Color,.) | .hop }
  ..Divider grade Color I^: { .set %div1 $dll(VxD\color.dll,Color,.) | .hop }
  ..Divider grade Color II^: { .set %div2 $dll(VxD\color.dll,Color,.) | .hop }
  ..Normal User: { .set %nor $dll(VxD\color.dll,Color,.) | .hop }
  ..Voice: { .set %vo $dll(VxD\color.dll,Color,.) | .hop }
  ..Halop: { .set %ha $dll(VxD\color.dll,Color,.) | .hop }
  ..Owner: { .set %ow $dll(VxD\color.dll,Color,.) | .hop }
  ..Op: { .set %00 $dll(VxD\color.dll,Color,.) | .hop }
  ..Protect: { .set %su $dll(VxD\color.dll,Color,.) | .hop }
  ..Chat: { .set %ct $dll(VxD\color.dll,Color,.) | .hop }
  .-
  .29 $chr(11) $+ Icons
  ..19 $chr(11) $+ Normal User: { .set %norm $sfile(*.ico;*.dll;*.icl;*.exe,Choose a file .ico o dll/icl/exe It contains icons of 16x16,Ok)) | vxd | .hop }
  ..14 $chr(11) $+ Voice: { .set %voi $sfile(*.ico;*.dll;*.icl;*.exe,Choose a file .ico o dll/icl/exe It contains icons of 16x16,Ok)) | vxd | .hop }
  ..15 $chr(11) $+ Halop: { .set %hal $sfile(*.ico;*.dll;*.icl;*.exe,Choose a file .ico o dll/icl/exe It contains icons of 16x16,Ok)) | vxd | .hop }
  ..17 $chr(11) $+ Op: { .set %sup $sfile(*.ico;*.dll;*.icl;*.exe,Choose a file .ico o dll/icl/exe It contains icons of 16x16,Ok)) | vxd | .hop }
  ..18 $chr(11) $+ Protect: { .set %owe $sfile(*.ico;*.dll;*.icl;*.exe,Choose a file .ico o dll/icl/exe It contains icons of 16x16,Ok)) | vxd | .hop }
  ..16 $chr(11) $+ Owner: { .set %op_ $sfile(*.ico;*.dll;*.icl;*.exe,Choose a file .ico o dll/icl/exe It contains icons of 16x16,Ok)) | vxd | .hop }
  .-
  .Image Background
  ..Choose Image: { .set %nicklist.bg $shortfn $+ $sfile(,Choose an Image .bmp .jpg .gif,Done!) | .hop }
  ..Tile: { .set %sti tile | .hop }
  ..Normal: { .set %sti normal | .hop } 
  ..Stretch: { .set %sti stretch | .hop }
  ..Disable Image: { unset %nicklist.bg | .hop }
  .-
  .Branch Image .bmp
  ..Blue: { .set %branch 1 | nicklust SetBranchImage $chan($active) > %branch } 
  ..Red: { .set %branch 2 | nicklust SetBranchImage $chan($active) > %branch } 
  ..Brown: { .set %branch 3 | nicklust SetBranchImage $chan($active) > %branch }
  ..Dark Red: { .set %branch 4 | nicklust SetBranchImage $chan($active) > %branch } 
  ..Indigo: { .set %branch 5 | nicklust SetBranchImage $chan($active) > %branch } 
  ..Violet: { .set %branch 6 | nicklust SetBranchImage $chan($active) > %branch } 
  ..Green: { .set %branch 7 | nicklust SetBranchImage $chan($active) > %branch }  
  ..transparent: { .set %branch 8 | nicklust SetBranchImage $chan($active) > %branch }  
  ..-
  ..Custom: { .set %branch $sfile(*.bmp,Choose a file .BMP,Ok)) | nicklust SetBranchImage $chan($active) > %branch }  
  . Tooltip only XP O.S.  your 0,3 $os 
  ..Background Tooltip: { .set %to1 $dll(VxD\color.dll,Color,.) | .hop }
  ..Text Tooltip: { .set %to2 $dll(VxD\color.dll,Color,.) | .hop }
  .-
  .$iif((%global == ON),$style(1)) 7 $chr(11) $+ Cursor: { .set %global OFF |  .set %glob VxD\ico\null.ico |  .set %ncursor $sfile(*.cur;*.ani,Choose a  file .cur or .ani .ico to set the Mouse Cursor,Ok)) | dll VxD\nickLUST3.dll SetHotCursor # > $shortfn(%ncursor) | vxd | if (%treex == ON) /timer 1 0 dcxtreebar }
  .-
  .$iif($group(#nicklust) == on,$style(1)) 0,3 ENABLE: .load -rs $shortfn($scriptdir) $+ nicklist.mrc | enable #nicklust | #nicklust on | .hopall 
  .$iif($group(#nicklust) != on,$style(1)) 0,1 DISABLE: .unload -rs $shortfn($scriptdir) $+ nicklist.mrc | #nicklust off | .hopall
  .-
  . 3,0 OK: { if ($status == connected) /hopall }
  -
}

menu menubar,status,channel {
  1 $chr(11) $+ 0,1GRAPHICS
  .$iif((%global == OFF),$style(1)) 2 $chr(11) $+ CURSORS
  ..35 $chr(11) $+ Global only One: {
    .set %global ON
    .set %glob $sfile(*.cur;*.ani;*.ico;*.dll;*.exe,Scegli un file .cur o .ani/.ico/.dll It contains mouse cursor .cur or .ani,Ok))
    //echo -a $dll(VxD\soulcursor.dll,OtherCursor,$window($active).hwnd > $shortfn(%glob)) 
    //echo -a $dll(VxD\soulcursor.dll,NormalCursor,menubar > $shortfn(%glob)) 
    //echo -a $dll(VxD\soulcursor.dll,SwitchCursor,$shortfn(%glob))
    //echo -a $dll(VxD\soulcursor.dll,ToolCursor,$shortfn(%glob))
    //echo -a $dll(VxD\soulcursor.dll,NormalCursor,$shortfn(%glob)) 
    //echo -a $dll(VxD\soulcursor.dll,NormalCursor,mdi > $shortfn(%glob))
    //echo -a $dll(VxD\soulcursor.dll,ScrollCursor,$shortfn(%glob)) 
    //echo -a $dll(VxD\soulcursor.dll,NormalCursor,status > $shortfn(%glob))
    //echo -a $dll(VxD\soulcursor.dll,NormalCursor,channel > $shortfn(%glob))
    //echo -a $dll(VxD\soulcursor.dll,NormalCursor,query > $shortfn(%glob)) 
    /dll VxD\nickLUST3.dll SetHotCursor # > $shortfn(%glob) 
    vxd 
    if (%treex == ON) /timer 1 0 dcxtreebar
  }
  ..-
  ..$iif((%global == ON),$style(1)) 20 $chr(11) $+ Switchbar: { .set %global OFF | .set %glob VxD\ico\null.ico | .set %cursoresw $sfile(*.cur;*.ani;*.ico;*.dll;*.exe,Scegli un file .cur o .ani/.ico/.dll  It contains mouse cursor .cur or .ani,Ok)) | //echo -a $dll(VxD\soulcursor.dll,SwitchCursor,$shortfn(%cursoresw)) | vxd | if (%treex == ON) /timer 1 0 dcxtreebar }
  ..$iif((%global == ON),$style(1)) 3 $chr(11) $+ Toolbar: { .set %global OFF | .set %glob VxD\ico\null.ico | .set %cursoretool $sfile(*.cur;*.ani;*.ico;*.dll;*.exe,Scegli un file .cur o .ani/.ico/.dll It contains mouse cursor .cur or .ani,Ok)) | //echo -a $dll(VxD\soulcursor.dll,ToolCursor,$shortfn(%cursoretool)) | vxd | if (%treex == ON) /timer 1 0 dcxtreebar }
  ..$iif((%global == ON),$style(1)) 5 $chr(11) $+ Normal MDI: { .set %global OFF | .set %glob VxD\ico\null.ico | .set %cursoremdi $sfile(*.cur;*.ani;*.ico;*.dll;*.exe,Scegli un file .cur o .ani/.ico/.dll It contains mouse cursor .cur or .ani,Ok)) | //echo -a $dll(VxD\soulcursor.dll,NormalCursor,mdi > $shortfn(%cursoremdi)) | vxd | if (%treex == ON) /timer 1 0 dcxtreebar }
  ..$iif((%global == ON),$style(1)) 6 $chr(11) $+ Scroll: { .set %global OFF | .set %glob VxD\ico\null.ico | .set %cursorescroll $sfile(*.cur;*.ani;*.ico;*.dll;*.exe,Scegli un file .cur o .ani/.ico/.dll It contains mouse cursor .cur or .ani,Ok)) | //echo -a $dll(VxD\soulcursor.dll,ScrollCursor,$shortfn(%cursorescroll)) | vxd | if (%treex == ON) /timer 1 0 dcxtreebar }
  ..$iif((%global == ON),$style(1)) 7 $chr(11) $+ Nicklist: { .set %global OFF | .set %glob VxD\ico\null.ico | .set %ncursor $sfile(*.cur;*.ani,Choose a  file .cur or .ani .ico to set the Mouse Cursor,Ok)) | dll VxD\nickLUST3.dll SetHotCursor # > $shortfn(%ncursor) | vxd | if (%treex == ON) /timer 1 0 dcxtreebar }
  ..$iif((%global == ON),$style(1)) 33 $chr(11) $+ Channel: { .set %global OFF | .set %glob VxD\ico\null.ico | .set %cursorech $sfile(*.cur;*.ani;*.ico;*.dll;*.exe,Scegli un file .cur o .ani/.ico/.dll It contains mouse cursor .cur or .ani,Ok)) | //echo -a $dll(VxD\soulcursor.dll,OtherCursor,$window($active).hwnd > $shortfn(%cursorech)) | //echo -a $dll(VxD\soulcursor.dll,NormalCursor,channel > $shortfn(%cursorech)) | //echo -a $dll(VxD\soulcursor.dll,NormalCursor,query > $shortfn(%cursorech)) | vxd | if (%treex == ON) /timer 1 0 dcxtreebar }
  ..$iif((%global == ON),$style(1)) 34 $chr(11) $+ Status: { .set %global OFF | .set %glob VxD\ico\null.ico | .set %cursorest $sfile(*.cur;*.ani;*.ico;*.dll;*.exe,Scegli un file .cur o .ani/.ico/.dll It contains mouse cursor .cur or .ani,Ok)) | //echo -a $dll(VxD\soulcursor.dll,NormalCursor,status > $shortfn(%cursorest)) | vxd | if (%treex == ON) /timer 1 0 dcxtreebar }
  .-
  .8 $chr(11) $+ 12,0M4,0IR7,0C options
  ..9 $chr(11) $+ Choose mIRC Icon: { .set %mircico $sfile(*.ico,Choose an image format .ico,Ok) | /dll VxD\mircustom.dll SetIcon -m %mircico | vxd }
  ..-
  ..10 $chr(11) $+ Choose Tray Icon: { .set %mirctray $sfile(*.ico,Choose an image format .ico,Ok) | /tray -iNsNtNaN $shortfn(%mirctray)) | vxd }
  ..-
  ..31 $chr(11) $+ Trasparency: { .set %xlayer $$?=" 0 = 100% transparency / the window is hidden ;;;; 255 = no transparency / the window is totally shown " | .setlayer %xlayer }
  .-
  .11 $chr(11) $+ 0,1NICKLIST
  ..Color
  ...Backgroud Color: { .set %nb $dll(VxD\color.dll,Color,.) | .hop }
  ...Text Color: { .set %nk $dll(VxD\color.dll,Color,.) | .hop }
  ...Highlighted Text: { .set %ev $dll(VxD\color.dll,Color,.) | .hop }
  ...Divider grade Color I^: { .set %div1 $dll(VxD\color.dll,Color,.) | .hop }
  ...Divider grade Color II^: { .set %div2 $dll(VxD\color.dll,Color,.) | .hop }
  ...Normal User: { .set %nor $dll(VxD\color.dll,Color,.) | .hop }
  ...Voice: { .set %vo $dll(VxD\color.dll,Color,.) | .hop }
  ...Halop: { .set %ha $dll(VxD\color.dll,Color,.) | .hop }
  ...Owner: { .set %ow $dll(VxD\color.dll,Color,.) | .hop }
  ...Op: { .set %00 $dll(VxD\color.dll,Color,.) | .hop }
  ...Protect: { .set %su $dll(VxD\color.dll,Color,.) | .hop }
  ...Chat: { .set %ct $dll(VxD\color.dll,Color,.) | .hop }
  ..-
  ..29 $chr(11) $+ Icons
  ...19 $chr(11) $+ Normal User: { .set %norm $sfile(*.ico;*.dll;*.icl;*.exe,Choose a file .ico o dll/icl/exe It contains icons of 16x16,Ok)) | vxd | .hop }
  ...14 $chr(11) $+ Voice: { .set %voi $sfile(*.ico;*.dll;*.icl;*.exe,Choose a file .ico o dll/icl/exe It contains icons of 16x16,Ok)) | vxd | .hop }
  ...15 $chr(11) $+ Halop: { .set %hal $sfile(*.ico;*.dll;*.icl;*.exe,Choose a file .ico o dll/icl/exe It contains icons of 16x16,Ok)) | vxd | .hop }
  ...17 $chr(11) $+ Op: { .set %sup $sfile(*.ico;*.dll;*.icl;*.exe,Choose a file .ico o dll/icl/exe It contains icons of 16x16,Ok)) | vxd | .hop }
  ...18 $chr(11) $+ Protect: { .set %owe $sfile(*.ico;*.dll;*.icl;*.exe,Choose a file .ico o dll/icl/exe It contains icons of 16x16,Ok)) | vxd | .hop }
  ...16 $chr(11) $+ Owner: { .set %op_ $sfile(*.ico;*.dll;*.icl;*.exe,Choose a file .ico o dll/icl/exe It contains icons of 16x16,Ok)) | vxd | .hop }
  ..-
  ..Image Background
  ...Choose Image: { .set %nicklist.bg $shortfn $+ $sfile(,Choose an Image .bmp .jpg .gif,Done!) | .hop }
  ...Tile: { .set %sti tile | .hop }
  ...Normal: { .set %sti normal | .hop }
  ...Stretch: { .set %sti stretch | .hop }
  ...Disable Image: { unset %nicklist.bg | .hop }
  ..-
  ..Branch Image .bmp
  ...Blue: { .set %branch 1 | nicklust SetBranchImage $chan($active) > %branch } 
  ...Red: { .set %branch 2 | nicklust SetBranchImage $chan($active) > %branch } 
  ...Brown: { .set %branch 3 | nicklust SetBranchImage $chan($active) > %branch }
  ...Dark Red: { .set %branch 4 | nicklust SetBranchImage $chan($active) > %branch } 
  ...Indigo: { .set %branch 5 | nicklust SetBranchImage $chan($active) > %branch } 
  ...Violet: { .set %branch 6 | nicklust SetBranchImage $chan($active) > %branch } 
  ...Green: { .set %branch 7 | nicklust SetBranchImage $chan($active) > %branch }  
  ...transparent: { .set %branch 8 | nicklust SetBranchImage $chan($active) > %branch }  
  ...-
  ...Custom: { .set %branch $sfile(*.bmp,Choose a file .BMP,Ok)) | nicklust SetBranchImage $chan($active) > %branch }  
  .. Tooltip only XP O.S.  your 0,3 $os 
  ...Background Tooltip: { .set %to1 $dll(VxD\color.dll,Color,.) | .hop }
  ...Text Tooltip: { .set %to2 $dll(VxD\color.dll,Color,.) | .hop }
  ..-
  ..$iif($group(#nicklust) == on,$style(1)) 0,3 ENABLE: .load -rs VxD\nicklist.mrc | enable #nicklust | #nicklust on | .hopall 
  ..$iif($group(#nicklust) != on,$style(1)) 0,1 DISABLE: .unload -rs VxD\nicklist.mrc | #nicklust off | .hopall
  ..-
  .. 3,0 OK: { if ($status == connected) /hopall }
  .-
  .12 $chr(11) $+ 0,4POPUPS
  ..Colors
  ...Background Color: { .set %background $dll(VxD\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  ...-
  ...Icon Box: { .set %iconbox $dll(VxD\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  ...-
  ...Check Box: { .set %checkbox $dll(VxD\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  ...-
  ...Disable check Box: { .set %disablecheckbox $dll(VxD\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  ...-
  ...Disabled Selected: { .set %disabledselected $dll(VxD\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  ...-
  ...Disabled Text: { .set %disabledtext $dll(VxD\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  ...-
  ...Highlighted Text: { .set %selecttext $dll(VxD\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  ...-
  ...Selected Box: { .set %selectbox $dll(VxD\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  ...-
  ...----Separator----:{ .set %separator $dll(VxD\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  ...-
  ...Menu Text: { .set %menustext $dll(VxD\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  ...-
  ...Selected Text: { .set %selectedtext $dll(VxD\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  ..-
  ..Effect Icons
  ... $iif((%linex == +p),$style(1)) Icon 3D: { .set %linex +p | .timer 2 0 xpopup_menu }
  ... $iif((%linex == +i),$style(1)) Icon Shadow:  { .set %linex +i | .timer 2 0 xpopup_menu }
  ..-
  ..Frame border style 
  ... $iif((%round == 1),$style(1)) Enable Round Border: { .set %round 1 | .timer 2 0 xpopup_menu }
  ... $iif((%round == 0),$style(1)) Linear Frame Border: { .set %round 0 | .timer 2 0 xpopup_menu }
  ..-
  ..Menù Style 
  ... $iif((%stile == office2003),$style(1)) Office2003: { .set %stile office2003 | .timer 2 0 xpopup_menu }
  ... $iif((%stile == office2003rev),$style(1)) Office2003rev: { .set %stile office2003rev | .timer 2 0 xpopup_menu }
  ... $iif((%stile == officexp),$style(1)) Office xP: { .set %stile officexp | .timer 2 0 xpopup_menu }
  ... $iif((%stile == icy),$style(1)) ICY: { .set %stile icy | .timer 2 0 xpopup_menu }
  ... $iif((%stile == icyrev),$style(1)) ICYrev: { .set %stile icyrev | .timer 2 0 xpopup_menu }
  ... $iif((%stile == grade),$style(1)) Grade: { .set %stile grade | .timer 2 0 xpopup_menu }
  ... $iif((%stile == graderev),$style(1)) Graderev: { .set %stile graderev | .timer 2 0 xpopup_menu }
  ... $iif((%stile == normal),$style(1)) Normal: { .set %stile normal | .timer 2 0 xpopup_menu }
  ... $iif((%stile == vertical),$style(1)) Vertical: { .set %stile vertical | .timer 2 0 xpopup_menu }
  ... $iif((%stile == verticalrev),$style(1)) Verticalrev: { .set %stile verticalrev | .timer 2 0 xpopup_menu }
  ...-
  ... $iif((%stile == custom),$style(1)) Custom image background: { .set %stile custom |  .set %cust $sfile(*.bmp,Choose an image format .bmp,Ok) | xpopup -b xpopup_menu %cust | .timer 2 0 xpopup_menu }
  ..-
  ..$iif((%chiarox != 250),$style(1)) 31 $chr(11) $+ Transparency
  ...$iif((%chiarox == 250),$style(1)) 31 $chr(11) $+ 0% : { .set %chiarox 250 | .timer 2 0 xpopup_menu }
  ...-
  ...$iif((%chiarox == 230),$style(1)) 31 $chr(11) $+  25% : { .set %chiarox 230 | .timer 2 0 xpopup_menu }
  ...-
  ...$iif((%chiarox == 200),$style(1)) 31 $chr(11) $+  50% : { .set %chiarox 200 | .timer 2 0 xpopup_menu }
  ...-
  ...$iif((%chiarox == 150),$style(1)) 31 $chr(11) $+  75%  : { .set %chiarox 150 | .timer 2 0 xpopup_menu }
  ...-
  ...$iif((%chiarox == 100),$style(1)) 31 $chr(11) $+  100% : { .set %chiarox 100 | .timer 2 0 xpopup_menu }
  ...-
  ...$iif((%chiarox != 100) && (%chiarox != 150) && (%chiarox != 200) && (%chiarox != 230) && (%chiarox != 250) ,$style(1)) 31 $chr(11) $+  Custom : { .set %chiarox $$?="enter a numeric value between 0 to 255 ( eg. 0 <- maximum transparency ) and ( eg. 255 <- transparency absent )" | .timer 2 0 xpopup_menu }
  .-
  .13 $chr(11) $+ 0,3TREEBAR
  ..Font
  ...Font  %xcartree : { .set %xcartree $$?="Type the name of the character ( eg. Arial or Comic Sans MS )" | /xtreebar -f %textmode %xchartree %xdimtree %xcartree | dcxtreebar }
  ...Char Set  %xchartree : { .set %xchartree $$?="Inser Char Set name e.g. italic, ansi, baltic, chinesebig, default, easteurope, gb2312, greek, hangul, mac, oem, russian, shiftjis, symbol, turkish, or vietnamese" | /xtreebar -f %textmode %xchartree %xdimtree %xcartree | dcxtreebar }
  ...Size  %xdimtree : { .set %xdimtree $$?="Show font size ( es. 12 )" | /xtreebar -f %textmode %xchartree %xdimtree %xcartree | dcxtreebar }
  ... $iif((%textmode == +ib),$style(1)) Bold: { .set %textmode +ib | /xtreebar -f %textmode %xchartree %xdimtree %xcartree | dcxtreebar }
  ... $iif((%textmode == +id),$style(1)) Normal: { .set %textmode +id | /xtreebar -f %textmode %xchartree %xdimtree %xcartree | dcxtreebar }
  ..-
  ..Colors
  ...Back Ground color: { .set %treebarbg $dll(VxD\color.dll,Color,.) | dcxtreebar }
  ...Colore Testo: { .set %treetext $dll(VxD\color.dll,Color,.) | dcxtreebar }
  ...-
  ...Line color: { .set %treeline $dll(VxD\color.dll,Color,.) | dcxtreebar }
  ...-
  ...Selected BG color: { .set %treetextsb $dll(VxD\color.dll,Color,.) | dcxtreebar }
  ...-
  ...Message color: { .set %treemess $dll(VxD\color.dll,Color,.) | dcxtreebar }
  ...Message BG color: { .set %messagebg $dll(VxD\color.dll,Color,.) | dcxtreebar }
  ...-
  ...Event color: { .set %treevent $dll(VxD\color.dll,Color,.) | dcxtreebar }
  ...Event BG color: { .set %treetextevo $dll(VxD\color.dll,Color,.) | dcxtreebar }
  ...-
  ...hot text colour: { .set %treeh $dll(VxD\color.dll,Color,.) | dcxtreebar }
  ...hot bkg colour: { .set %treehot $dll(VxD\color.dll,Color,.) | dcxtreebar }
  ..-
  ..30 $chr(11) Icons
  ...21 $chr(11) $+ status : { .set %icostatus $shortfn($sfile(*.ico,Choose image format .ico,Ok)) | vxd }
  ...22 $chr(11) $+ channel : { .set %icochan $shortfn($sfile(*.ico,Choose image format .ico,Ok)) | vxd }
  ...23 $chr(11) $+ custom : { .set %icocust $shortfn($sfile(*.ico,Choose image format .ico,Ok)) | vxd }
  ...24 $chr(11) $+ dcc send : { .set %icosend $shortfn($sfile(*.ico,Choose image format .ico,Ok)) | vxd }
  ...25 $chr(11) $+ dcc get : { .set %icoget $shortfn($sfile(*.ico,Choose image format .ico,Ok)) | vxd }
  ...26 $chr(11) $+ notify : { .set %iconot $shortfn($sfile(*.ico,Choose image format .ico,Ok)) | vxd }
  ...27 $chr(11) $+ query : { .set %icoq $shortfn($sfile(*.ico,Choose image format .ico,Ok)) | vxd }
  ...28 $chr(11) $+ folder : { .set %icodir $shortfn($sfile(*.ico,Choose image format .ico,Ok)) | vxd }
  ..-
  .. $iif((%treex == ON),$style(1)) 0,3 Enable : { .set %treex ON | /dcxtreebar }
  .. $iif((%treex == OFF),$style(1)) 0,1 Disable : { .set %treex OFF | xtreebar -T 0 }
  .-
  ..ᴴᴱᴸ℗
  ..4 $chr(11) $+ 0,3EDIT ICON LIST : { .run VxD\ico\icon_list.txt }
  ..-
  ..38 $chr(11) $+ 0,6README : { .run VxD\README.txt }
  ..-
  ..32 $chr(11) $+ 0,7REFRESH xPOPUPS: { .timer 1 0 vxd }
  ..-
  ..37 $chr(11) $+ 0,12RESET: { .load -rs VxD\reset.mrc }
  ..-
  .. $iif(($me == $null),$style(2)) ☠ ♯ ♪ ♫ ♠♣♥♦ ♫ ♪ ♯ ☠ : { if ($status = connected) /msg $chan($active) ---> click on 8,15☺ 4√ᶍÐ 0,1☠ 7,1 http://vxd.altervista.org/VxD.htm 4,1✟ 0,1₦15,1Ҿ4,1₢8⃝4,1№5,1щ0,1ΐ4,1₵0,1ᴑ15,1ᴎ4,1⅜ 0,1 ✞ 0,1 ☠ 4$8¢14®4i5þ4† }
  ..36 $chr(11) $+ 0,4UNLOAD  : { editbox -ap /exit -nr | scarica }
  .-
  -
}

treebar.mrc

;====================================================================================================================================================================================;
; xtreebar_callback | ~ coded by Ook http://dcx.scriptsdb.org/                                                                                                                       ;
;====================================================================================================================================================================================;

alias xtreebar_callback { 
  !if ($1 == geticons) { 
    !if ($2 == status) return 1 1 
    !if ($2 == channel) return 2 2 
    !if ($2 == custom) return 3 3 
    !if ($2 == send) return 4 4 
    !if ($2 == get) return 5 5 
    !if ($2 == notify) return 6 6 
    !if ($2 == query) return 7 7 
    !if (*folder iswm $2) return 8 8 
    !return 0 0 
  } 
  !if ($1 == gettooltip) { 
    !if ($2 == channel) { 
      !if ($3 == $chan($active)) return $chan($active) 
      !if ($chan($active)* iswm $3) return $chan($active) Channel 
    } 
    !if ($2 == status) return $3 
    !if ($2 == WindowFolder) return Custom Windows Folder 
  } 
} 

;===========================================================================================================================;
; alias dcxtreebar | VxÐ ~ http://vxd.mobi/mirc/ ~ caronte.ade@gmail.com | mIRC ☠  VxÐ $¢®iþ† ⅜                 ;
;===========================================================================================================================;

alias dcxtreebar { 
  xtreebar -w clear 
  if ($isfile(%icostatus)) xtreebar -w 0 +a 1 %icostatus
  if ($isfile(%icochan)) xtreebar -w 0 +a 2 %icochan
  if ($isfile(%icocust)) xtreebar -w 0 +a 3 %icocust 
  if ($isfile(%icosend)) xtreebar -w 0 +a 4 %icosend
  if ($isfile(%icoget)) xtreebar -w 0 +a 5 %icoget
  if ($isfile(%iconot)) xtreebar -w 0 +a 6 %iconot 
  if ($isfile(%icoq)) xtreebar -w 0 +a 7 %icoq  
  if ($isfile(%icodir)) xtreebar -w 0 +a 8 %icodir  
  xtreebar -c +b %treebarbg
  xtreebar -c +t %treetext 
  xtreebar -c +l %treeline 
  xtreebar -c +m %treemess 
  xtreebar -c +e %treevent
  xtreebar -c +M %messagebg
  xtreebar -c +S %treetextsb
  xtreebar -c +E %treetextevo
  xtreebar -c +z %treevent
  xtreebar -c +Z %treetextevo
  xtreebar -c +h %treeh
  xtreebar -c +H %treehot
  xtreebar -s tooltips infotip transparent 
  xtreebar -s balloon trackselect scroll rootlines showsel fadebuttons richtooltip
  xtreebar -T 1 
  xtreebar -f %textmode %xchartree %xdimtree %xcartree
} 

xpopups.mrc

;===========================================================================================================================;
; xMenu Ver.3 Rev. C | VxÐ ~ http://vxd.mobi/mirc/ | ✟NeCRoNoMiCoN✞ ☠  $¢®iþ† | caronte.ade@gmail.com           ;                                                         
;===========================================================================================================================;

alias -l shell alias shell returnex shell32.dll
alias xpopup_menu {
  var %menu xpopup_menu 
  if ($xpopup(%menu).ismenu) { xpopup -d %menu } 
  if ( $xpopup(%menu).ismenu == $false ) {
    if (%stile == custom) {
      mpopup mirc 1
      mpopup mircbar 1
      xpopup -c %menu %stile
      xpopup -t mirc %stile
      xpopup -t mircbar %stile
      xpopup -x %menu %linex
      xpopup -R %menu +r %round
      xpopup -R mircbar +a %chiarox
      xpopup -R mirc +a %chiarox
      xpopup -i mirc 0 $shell
      xpopup -i mircbar 0 $shell
      xpopupstyle mirc
      xpopupstyle mircbar
      xpopupstyle2 mirc
      xpopupstyle2 mircbar
      xpopup -sm %menu + $mouse.dx $mouse.dy
      mtest 
      mtest2 
    }
    if (%stile != custom) {
      mpopup mirc 1
      mpopup mircbar 1
      xpopup -c %menu %stile
      xpopup -t mirc %stile
      xpopup -t mircbar %stile
      xpopup -x %menu %linex
      xpopup -R %menu +r %round
      xpopup -R mircbar +a %chiarox
      xpopup -R mirc +a %chiarox
      if ($isalias(shell)) xpopup -i mirc 0 $shell
      if ($isalias(shell)) xpopup -i mircbar 0 $shell
      xpopupstyle mirc
      xpopupstyle mircbar
      xpopupstyle2 mirc
      xpopupstyle2 mircbar
      xpopup -sm %menu + $mouse.dx $mouse.dy
    }
  }
}

alias xpopupstyle { 
  var %popups = $1
  if (%popups ) { 
    xpopup -l %popups 1 %background
    xpopup -l %popups 2 %iconbox
    xpopup -l %popups 3 %checkbox
    xpopup -l %popups 4 %disablecheckbox
    xpopup -l %popups 5 %disabledselected
    xpopup -l %popups 6 %disabledtext
    xpopup -l %popups 7 %selecttext
    xpopup -l %popups 8 %selectbox
    xpopup -l %popups 9 %separator
    xpopup -l %popups 10 %menustext
    xpopup -l %popups 11 %selectedtext 
    xpopup -R %popups +r %round
    xpopup -x %popups %linex
  }
  else return
}

alias mtest {
  if (%stile == custom) {
    if ($isalias(shell)) xpopup -i mirc 0 $shell
    mpopup mirc 1
    xpopup -t mirc custom
    xpopup -b mirc $shortfn(%cust)
    xpopupstyle mirc
    xpopupstyle2 mirc
  }
}

alias mtest2 {
  if (%stile == custom) {
    if ($isalias(shell)) xpopup -i mircbar 0 $shell
    mpopup mircbar 1
    xpopup -t mircbar custom
    xpopup -b mircbar $shortfn(%cust)
    xpopupstyle mircbar 
    xpopupstyle2 mircbar 
  }
}

on *:load:{
  if (%stile == custom) { 
    /mtest
    /mtest2
  }
  if (%stile != custom) {
    xpopup -d xpopup_menu
    if ($isalias(shell)) xpopup -i mirc 0 $shell
    if ($isalias(shell)) xpopup -i mircbar 0 $shell
    xpopup -t mirc %stile
    xpopup -t mircbar %stile
    xpopupstyle mirc
    xpopupstyle mircbar
    xpopupstyle2 mirc
    xpopupstyle2 mircbar
  }
}

on *:start:{ 
  if (%stile == custom) { 
    /mtest
    /mtest2
  }
  if (%stile != custom) {
    xpopup_menu
    if ($isalias(shell)) xpopup -i mirc 0 $shell
    if ($isalias(shell)) xpopup -i mircbar 0 $shell
    xpopup -t mirc %stile
    xpopup -t mircbar %stile
    xpopupstyle mirc
    xpopupstyle mircbar
    xpopupstyle2 mirc
    xpopupstyle2 mircbar
  }
}

alias vxd { .timer 1 0 udcx | .timer 2 0 xpopup_menu | .timer 3 0 if (%treex == ON ) /dcxtreebar }

nicklist.mrc

;=============================================================================================;
; nicklist | VxÐ ~ http://vxd.mobi/mirc/ | ✟NeCRoNoMiCoN✞ ☠  ⅜ $¢®iþ†             ;
;=============================================================================================;

#nicklust on
ON *:JOIN:#:{
  if ($nick == $me) { 
    nicklust Mark $window($chan).hwnd nLUST_CallBack rowselect tooltips balloontips hideempty hottrack dlgframe clientedge underlinehot
    nicklust SetHotCursor # > $shortfn(%ncursor)
    nicklust AddIcon $chan > $shortfn(%hal)
    nicklust AddIcon $chan > $shortfn(%voi)
    nicklust AddIcon $chan > $shortfn(%norm)
    nicklust AddIcon $chan > $shortfn(%sup) 
    nicklust AddIcon $chan > $shortfn(%owe)
    nicklust AddIcon $chan > $shortfn(%op_)
    nicklust SetBkgImage $chan %sti > $shortfn(%nicklist.bg) 
    nicklust SetGroupText $chan 1 >  Normal Users
    nicklust AddGroup $chan 10 + 2 >  Voice +
    nicklust AddGroup $chan 11 % 1 >  Halfop %
    nicklust AddGroup $chan 13 @ 4 >  Operator @
    nicklust AddGroup $chan 12 - 3 >  Normal Users
    nicklust AddGroup $chan 14 & 5 >  Super ops
    nicklust AddGroup $chan 15 ~ 6 >  Owner
    nicklust SetGroupView $chan 1 normal
    nicklust SetGroupView $chan 10 normal
    nicklust SetGroupView $chan 11 normal
    nicklust SetGroupView $chan 12 normal
    nicklust SetGroupView $chan 13 normal
    nicklust SetGroupView $chan 14 normal
    nicklust SetGroupView $chan 15 normal
    nicklust SetGroupIcon $chan 1 3
    nicklust SetGroupPos $chan 15 start
    nicklust SetGroupPos $chan 14 end
    nicklust SetGroupPos $chan 13 end
    nicklust SetGroupPos $chan 12 end
    nicklust SetGroupPos $chan 11 end
    nicklust SetGroupPos $chan 10 end
    nicklust SetGroupPos $chan 1 end
    nicklust SetColor $chan bkg %nb
    nicklust SetColor $chan text %nk
    nicklust SetColor $chan tipbkg %to1
    nicklust SetColor $chan tiptext %to2
    nicklust SetColor $chan hottext %ev
    nicklust SetColor $chan divider %div1 %div2
    nicklust SetHeaderFontStyle $chan %xcartree
    nicklust SetHeaderColor $chan 15 %ow
    nicklust SetHeaderColor $chan 11 %ha
    nicklust SetHeaderColor $chan 12 $color(0)
    nicklust SetHeaderColor $chan 10 %vo
    nicklust SetHeaderColor $chan 14 %su
    nicklust SetHeaderColor $chan 13 %opex
    nicklust SetHeaderColor $chan 1 %nor
    nicklust SetHeaderFontStyle $chan bold 
    nicklust SetTileSize $chan($active) 32 50 50 
    nicklust SetBranchImage $chan($active) > %branch
    nicklust SetHeaderFontStyle $chan($active) %blas 
  }
  haltdef
}

alias nicklust {
  /dll $shortfn($scriptdir) $+ nickLUST3.dll $1 $2-
}

alias nlistoff {
  /dll -u $shortfn($scriptdir) $+ nickLUST3.dll
}

alias updatenicklist {
  var %xa = 0
  while (%xa <= $chan(0)) {
    /nlistsetup $chan(%xa)
    inc %xa
    goto nicks
  }
}
alias nlust_callback {
  if ($1 = tooltip) {
    var %extra
    if ($3 == $me) %extra
    nicklust SetTipTitle $2 1 > Whois Di $3 %extra
    return Status: $nlist_pnick($remove($nick($2,$3).pnick,$3)) $+ $crlf $+ Idle: $duration($nick($2,$nick($2,$3)).idle) $+ $crlf $+ Notify List: $iif($notify($3),Yes,No) $+ $crlf $+ Host: $gettok($address($3,-1),2,64),$ifmatch,Unknow) $+ $crlf $+ Ident: $gettok($gettok($address($3,-1),2,33),1,64) $+ $crlf $+ Country: $remove($nazione2($address($3,-1)),Origine) $+ $crlf $+ Channels: $_comchans($3,32))
  }
}
alias nlist_pnick {
  if ($1 = @) { return Operator }
  elseif ($1 = ~) { return Owner }
  elseif ($1 = &) { return Protect }
  elseif ($1 = -) { return Operator }
  elseif ($1 = %) { return HalveOpped User  }
  elseif ($1 = +) { return Voice }
  elseif ($1 = $null) { return Normal User }
}
alias _isnotifylist {
  if ($notify($1)) return $2
  return $3
}
alias _comchans {
  var %tokk = $iif($2,$ifmatch,$chr(32)), %iii = 1, %chh
  while (%iii <= $comchan($1,0)) {
    %chh = $addtok(%chh,$comchan($1,%iii),%tokk) | inc %iii
  }
  return $sorttok(%chh,%tokk)
}

on *:unload: { .disable #nicklust | .timernicklistoff 1 1 dll -u nickLUST3.dll | if (%treex == ON) /timer 1 0 dcxtreebar }

gui8.mrc

�� Vx� aka DEATHJ0KER http://vxd.mobi/mirc/
 'NeCRoNoMiCoN'  &  $��i�   
 caronte.ade@gmail.com 
 #eeprom irc.mindforge.org

xMENU 5 Ver.1 Rev.C

&&&&&&&&&&& &"&#&(&)&&&-&/&:&;&=&F&P&V&T&X&]&Y&_&a&`&`&c&g&b&h&k&n&i&p&�&o&s&�&�&�&b'z'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'&&&&&&&&&&& &"&#&(&)&&&-&/&:&;&=&F&P&V&T&X&]&Y&_&a&`&`&c&g&b&h&k&n&i&p&�&o&s&�&�&�&b'z'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'
xPoPuPs --->  xMenu 'NeCRoNoMiCoN'  &  $��i�     

GUI PLUG-IN for mIRC 7

Attributes:
Popups mIRC color, image background, icons, trasparency
xTreebar, image background, icons, personalized manner using the DCX library.DLL (http://dcx.scriptsdb.org/forum/attachment.php?aid=54)
Nicklist, Cursors, mIRC icon are managed by third-party dlls (NickLust3.dll, mIRCustom.dll and Soul-Cursor DLL)

Installation
Extract the folder,----> VxD in the root of mIRC
(warning: do not operate if installed in the sub directory) ---> C:\Users\USERNAME\AppData\Roaming\mIRC
-The plug-in can only be executed if the file path mirc.ini is in the root folder of mirc, for example, C:\mIRC or other directory or subdirectory C:\scripts\mirc

system requirements
mIRC 7.xx Portable
Windows XP - 7 - 8

Once extracted or copied to the folder "VxD" in mIRC, invoke the editbox mirc the load plug-in
using this string:

/load -rs VxD\reset.mrc

- Run the command message confirmation that loading will be displayed.

- To open the engine use the xPoPuPs link in the Popup Menu of mIRC.

ATTENTION  Set the 'addon when you are disconnected. See possible bugs

possible BUGS:
- xPopups --->  mIRC on exit client, bug, click on button confirm canceled; Disable the option of closing the mIRC client confirmations.
                If you must leave them turned on and in the case of BUG click "HELP" then on "REFRESH POPUPS" 
- Nicklist -->  When connected to multiple servers When connected to multiple servers and channel possible crash on "Apply Theme" 
- Treebar --->  When connected to multiple servers When connected to multiple servers and channel
                If the icons are set in an active channel, sometimes it might crash your mirc and you'll be without any icons or treebar not visible ... 
                just set back the icons or esefuire a RESET to restore the list of icons.
- Cursor  --->  If the mouse cursor does not appear, reset the 'icon.

SOLUTIONS:
You should set the popups when disconnecting.
 If the icons are set in an active channel, sometimes it might crash your mirc and you'll be without any icons or treebar not visible ... 
               just set back the icons or esefuire a RESET to restore the list of icons.

Compatibility:
This addon is designed for mIRC 7 for so does not ensure the functioning in previous versions.
O.S. Windows XP, Windows 7, Windows 8


&&&&&&&&&&& &"&#&(&)&&&-&/&:&;&=&F&P&V&T&X&]&Y&_&a&`&`&c&g&b&h&k&n&i&p&�&o&s&�&�&�&b'z'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'&&&&&&&&&&& &"&#&(&)&&&-&/&:&;&=&F&P&V&T&X&]&Y&_&a&`&`&c&g&b&h&k&n&i&p&�&o&s&�&�&�&b'z'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'
&&&&&&&&&&& &"&#&(&)&&&-&/&:&;&=&F&P&V&T&X&]&Y&_&a&`&`&c&g&b&h&k&n&i&p&�&o&s&�&�&�&b'z'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'&&&&&&&&&&& &"&#&(&)&&&-&/&:&;&=&F&P&V&T&X&]&Y&_&a&`&`&c&g&b&h&k&n&i&p&�&o&s&�&�&�&b'z'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'



xPoPuPs ----->  xMenu 'NeCRoNoMiCoN'  &  $��i�     Vx� ~ caronte.ade@gmail.com ~ http://vxd.altervista.org/VxD.htm 
creates the command popups in 4 steps

1  Copy and rename your icon to number position popup with icon ("  my_icon.ico   ->   rename to 38.ico   "  the number icon position start here <- position 38  is 38.ico

2  Insert the string >    xpopup -i %popups + 0 VxD\ico\38.ico   

use mIRC editor and edit vxd.mrc -> xpopupstyle2 alias
Inserts the strings subsequently starting from number 38 .39 .40 and so forth
    ;==============================================================> Enter here the list of icons (.ico) START LIST ICON POSITION N� 38 edit this  <=================================================================;
    
    xpopup -i %popups + 0 VxD\ico\36.ico
    xpopup -i %popups + 0 VxD\ico\37.ico    

--->    xpopup -i %popups + 0 VxD\ico\38.ico          

    ;===============================================================-> END LIST ICON POSITION <-======================================================================================================;

3     Create your command popup by inserting before the command icon location and the suffix 
e.g.    38 $chr(11) Join: { /join #x }
e.g.    39 $chr(11) Part: { /part #x }

4    Click on xPoPuPs menu ---> APPLY ICON After EDIT a ICON

    ;===============================================================================================================================================================================================;
    ; TUTORIAL to create command popups in section popups
    ; To create your command enter this code before the traditional command in this way  -->  1 $chr(11) namecommand: /command 
    ; example ;

    ; ->              menu menubar,status,channel,query {
    ; ->              38 $chr(11) Copy to Clipboard
    ; ->              .39 $chr(11) Name of Server: { clipboard $server }
    ; ->              .-
    ; ->              .40 $chr(11) Name of Network: { clipboard $network }
    ; ->              .-
    ; ->              .41 $chr(11) Server IP Andress: { clipboard $serverip }
    ; ->              -
    ; ->              Part Channel: { /part $chan($active) }
    ;->               -
    ; ->              42 $chr(11) Clear window: { clear $active }
    ; ->              43 $chr(11) Clear All window: { clearall }
    ; ->              -
    ; ->              Greeting
    ; ->              .Hi All: { /say Hi All }
    ; ->              .Hello: { /say Hello }
    ; ->              .-
    ; ->              Good Night: { /say Good Night }
    ; ->              }



    ; TUTORIAL to apply a custom icon to a command menu popups section      
    ; icon location determines the number assigned to the command of popups 
    ; Enter the following command followed by the path to the icon you selected  -->   ( xpopup -i %popups + 0 <your_folder_icons.ico> )  

    ; example ;             xpopup -i %popups + 0 VxD\ico\2.ico      -----> icon location returns the suffix of command marked with --> 37 $chr(11)
    ; example ;             xpopup -i %popups + 0 VxD\ico\3.ico      -----> icon location returns the suffix of command marked with --> 38 $chr(11)
    ; example ;             xpopup -i %popups + 0 VxD\ico\4.ico      -----> icon location returns the suffix of command marked with --> 39 $chr(11)
    ; example ;             xpopup -i %popups + 0 VxD\ico\5.ico      -----> icon location returns the suffix of command marked with --> 40 $chr(11)
    ; example ;             xpopup -i %popups + 0 VxD\ico\6.ico      -----> icon location returns the suffix of command marked with --> 41 $chr(11)
    ; example ;             xpopup -i %popups + 0 VxD\ico\7.ico      -----> icon location returns the suffix of command marked with --> 42 $chr(11)

    ; Enter the list of icons (preferably renaming the name of the icon to determine the number assigned to the command of the popup that requires the icon) below... 
    ; command in this example, start by editing this command that refers to the first popup command containing the first icon
    ; the list of icons begins at position 36 because I used the positions prior to handle the plug-ins 


;=======================================================================================================================================================================;
; xMenu - alias to apply icon on popup menu command | Vx� ~ http://vxd.altervista.org/VxD.htm | 'NeCRoNoMiCoN'  &  $��i�   | caronte.ade@gmail.com                        ;
;=======================================================================================================================================================================;

alias xpopupstyle2 { 
  var %popups = $1
  if (%popups ) {

    ;==============================================================> Enter here the list of icons (.ico) START LIST ICON POSITION N� 38 <=================================================================;

    xpopup -i %popups + 0 VxD\ico\37.ico    
   ---> xpopup -i %popups + 0 VxD\ico\38.ico           





    ;===============================================================-> END LIST ICON POSITION <-======================================================================================================;

  }
  else return
}

;=============================; ->  is only a example <- ;=================================================================================================================================;

menu menubar {
  37 $chr(11) 9TesT 4Command: {
    /echo -ast My first popup uses 3 36 7$chr(11) 9TesT 4Command: /echo -ast My first popup 
    /echo -ats -
    /echo -ast Use mIRC editor to write your popups using the keyboard shortcut  3 Alt + P or 3 Alt + R to edit alias "/xpopupstyle2" - contain icon position on vxd.mrc 
    /echo -ast the list of icons begins at position 36 because I used the positions prior to handle the plug-ins
    /echo -ats -
    /echo -ast create your own command with icon 4 /run VxD\vxd.mrc to open the Tutorial
  }
}


Screenshots

Image gallery showing VxD mIRC addons visuals.