Popups

mIRC permet de créer vos propres menus popups pour les fenêtres status, privé/chat, canal, liste de nicks et menubar. Pour créer ces différents menus vous devez savoir comment utiliser les Commandes IRC, comment créer des Aliases et comment utiliser des Identifieurs et Variables. Si vous faites un clique-droit dans une fenêtre, un menu popup pour cette fenêtre va apparaître et vous pouvez sélectionner des items de celui-ci, comme des opérations que vous avez défini vous-mêmes comme donner le status de op, ou joindre un canal particulier.

Exemples
Les définitions des menus popups utilisent ce format: <item_de_menu>:<commandes> Aide:/join #aide Les mots devant le ":" sont la définition de l'objet dans le menu. Les mots après le ":" sont les commandes à exécuter. Dans ce cas, dans le menu vous verriez "Aide". La commande exécuté serait "/join #aide", comme si vous l'aviez tapé. Le format de la commande suit exactement le même que pour un alias normal. Voir la section Aliases pour apprendre sur les alias. Pour créer un Sous-menu, utilisez un ".".
Canaux
.Aide:/join #aide
.Scriptsdb.org:/join #scriptsdb.org
.Canal ?:/join #$?
Dans ce cas, le menu est "Canaux". Tous les éléments avec un "." devant font parti du sous-menu. Pour créer des menus dans des sous-menus, la procédure est semblable:
Canaux
.Aide
..Aide:/join #aide
..mIRC:/join #mIRC
.Musique
..Mp3quebec:/join #mp3quebec
..Mp3Jukebox:/join #mp3jukebox
..Mp3cafe:/join #mp3cafe
Pour séparer des menus, vous pouvez utiliser un "-" sur une ligne par lui-même.
Canaux
.Aide
..Aide:/join #aide
..mIRC:/join #mIRC
.-
.Musique
..Mp3quebec:/join #mp3quebec
..Mp3Jukebox:/join #mp3jukebox
..Mp3cafe:/join #mp3cafe
-
Liste Des Canaux:/list
Pour pouvoir utiliser le menu popup pour la liste de nicks, il faut que vous sélectionnez un nick avant. Voici un exemple simple de menu pour la liste des nicks:
Whois:/whois $1
-
Modes d'usager
.Op:/mode # +o $1
.Deop:/mode # -o $1
.Kick n BaN:/kick $1 | /ban $1 3
-
DCC Send:/dcc send $1
DCC Chat:/dcc chat $1
Si vous voulez créer un item de menu popup qui contient plusieurs commandes, vous pouvez utiliser les {}. Référez-vous à la section Aliases pour plus d'information sur leur utilisation.
Away:{
  var %awaynick = $$?="Nick?"
  var %raison = $$?="Raison?"
  away %raison
  nick %awaynick
}
Les menus popups pour Query/Chat et Menubar fonctionne de la même façon.

Identifieurs et Variables
Les identifieurs et variables faisant partie d'un menu sont évalués à chaque fois que le menu est ouvert. Ceci permet de créer des menus dynamiques qui varie selon des conditions particulières. Si une évaluation d'un menu donne $null, alors il ne sera pas affiché.

Remote Scripts
Vous pouvez placer des définitions de menu dans des scripts remote en utilisant le préfix menu.
menu status {
  Serveur
  .Links:/links
  .Lusers:/lusers
  .Motd:/motd
  .Time:/time
}
Ceci ajouterais un sous-menu à votre menu popup status. Vous pouvez aussi spécifier channel, query, nicklist et menubar comme nom de menu et ceci ajoutera des items de menu pour les menus de chaque type.
menu nicklist {
  Slap
  .Claque:/me donne une claque à $1
}
Cette définition ajoute un sous-menu au menu popup nicklist. Vous pouvez aussi spécifier des menus popups pour des fenêtres personnalisés en spécifiant le nom de la fenêtre.
menu @test {
  dclick:/echo double-clique
}
Le dclick permet de spécifier la commande à être exécuté lorsque vous double-cliquez dans la liste de la fenêtre. Vous pouvez aussi référer à $1 qui contient le numéro de la ligne qui à été double-cliqué. Vous pouvez aussi spécifier des noms multiples pour les menus:
menu @dogs,@cats,@goats {
  dclick: /echo double-clique dans $active
  fermer: window -c $active
}
Vous pouvez utiliser l'identifieur $menu pour référer au menu qui est sur le point d'ouvrir ou qui est associé avec le script qui est exécuté. Ceci permet de modifier la forme du menu dépendant de celui que l'on choisit, par exemple channel, query, etc.
menu query,nicklist {
  $iif($menu == nicklist,Op):/mode # +o $$1
}


Styles de Menus
Vous pouvez placer une crochet ou créer un menu inactif en utilisant l'identifieur $style(N), où N = 1 pour le crochet, N = 2 inactif et N = 3 pour les deux. L'identifieur $style(N) doit être le premier mot dans la définition du menu.
menu status {
  $iif($server == $null,$style(2)) Server Info
  .Motd:/motd
  .Time:/time
}
La définition ci-haut crée un sous-menu de la fenêtre status qui est actif seulement si vous êtes branché à un serveur mIRC.

$submenu($id($1))
Cette indentifieur permet de créer dynamiquement des items de menu, mais ne peut être appelé que par un popup. Il appel $id($1), ou $id() est le nom de l'identifieur, et $1 = 1, et s'incrémente de 1 à chaque appel, ajoutant tout ce qui est retourné par $id au menu popup. La veleur de retour de $id() doit être une ligne de définition complète de menu popup. L'itération se termine lorsque $id() ne retourne aucune valeur.
menu status {
  Animal
  .$submenu($animal($1))
}

alias animal {
  if ($1 == begin) return -
  if ($1 == 1) return Cow:echo Cow
  if ($1 == 2) return Llama:echo Llama
  if ($1 == 3) return Emu:echo Emu
  if ($1 == end) return -
}
Les valeurs de begin et end dont là pour vérifier si l'item devrait être entouré de séparateurs pour menus. Note: Vous ne pouvez utiliser ceci pour créer des sous-menus de menus utilisant déja submenu.