home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 June / ccd0605.iso / Software / Freeware / Comunicatii / jIRCii / jerk.jar / resource / menus.irc < prev    next >
Text File  |  2005-05-08  |  11KB  |  696 lines

  1. ##################################################################################
  2. # menu.irc - Default jIRC Menu Items and Keyboard Shortcuts
  3. ##################################################################################
  4.  
  5. bind Ctrl+X
  6. {
  7.    cycleQuery();
  8. }
  9.  
  10. bind Ctrl+W
  11. {
  12.    if (strlen($active) > 0)
  13.    {
  14.       call("/window $active");
  15.    }
  16. }
  17.  
  18. bind Ctrl+D
  19. {
  20.    closeWindow(getActiveWindow());
  21. }
  22.  
  23. bind Ctrl+N
  24. {
  25.    call("/newserver");
  26. }
  27.  
  28. bind Alt+H
  29. {
  30.    showHelpDialog("");
  31. }
  32.  
  33. bind Home
  34. {
  35.    setCursorPosition(getActiveWindow(), 0);
  36. }
  37.  
  38. bind End
  39. {
  40.    setCursorPosition(getActiveWindow(), strlen(getInputText(getActiveWindow())));
  41. }
  42.  
  43. bind Meta+N
  44. {
  45.    call("/newserver");
  46. }
  47.  
  48. bind Meta+T
  49. {
  50.    call("/newserver");
  51. }
  52.  
  53. bind Alt+O
  54. {
  55.    showOptionDialog("");
  56. }
  57.  
  58. bind Escape
  59. {
  60.    setInputText($active, "");
  61. #    setWindowState(getActiveWindow(), "MINIMIZED");
  62. }
  63.  
  64. bind Page_Up
  65. {
  66.    scrollWindow(getActiveWindow(), -5);
  67. }
  68.  
  69. bind Page_Down
  70. {
  71.    scrollWindow(getActiveWindow(), 5);
  72. }
  73.  
  74.  
  75. sub generateCommandString
  76. {
  77.    local('$string');
  78.    $string = "/server";
  79.  
  80.    if (isServerSecure())
  81.    {
  82.       $string = "$string -ssl";
  83.    }
  84.  
  85.    if (getServerPassword() ne $null)
  86.    {
  87.       $string = "$string -pass " . getServerPassword();
  88.    }
  89.  
  90.    $string = "$string " . getServerHost() . " " . getServerPort();
  91.  
  92.    return $string;
  93. }
  94.  
  95. on connect
  96. {
  97.    local('@server_list');
  98.    @server_list = getPropertyList("saved.servers");
  99.  
  100.    # note to /luser: $server !isin @server_list only works because @server_list is converted to a string as isin
  101.    #      is a string comparison operator.
  102.    if ($server !isin @server_list)
  103.    {
  104.       push(@server_list, $server . " " . generateCommandString());
  105.    }
  106.  
  107.    while (size(@server_list) > 5)
  108.    {
  109.       shift(@server_list);
  110.    }
  111.    setPropertyList("saved.servers", @server_list);
  112. }
  113.  
  114. menubar "&Connection"
  115. {
  116.    item "&New Server"
  117.    {
  118.       call("/newserver");
  119.    }
  120.  
  121.    addSeparator();
  122.  
  123.    menu "&Connect"
  124.    {
  125.       local('@saved_servers $x @stemp $v');
  126.       @saved_servers = getPropertyList("saved.servers");
  127.  
  128.       $x = 0;
  129.       foreach $var (@saved_servers)
  130.       {
  131.          @stemp = split(" ", $var);
  132.          $v = @stemp[0];
  133.         
  134.          item "& $+ $x $v"
  135.          {
  136.             local('@server_list $var $tokens $temp');
  137.  
  138.             $temp        = substr($command, 2);
  139.             @server_list = getPropertyList("saved.servers");
  140.             $tokens      = tokenize($var);
  141.  
  142.             foreach $var (@server_list)
  143.             {
  144.                if (getToken($tokens, 0) eq $temp && getTotalTokens($tokens) > 1)
  145.                {
  146.                   call(getTokenFrom(tokenize($var), 1));
  147.                   return;
  148.                }
  149.             }
  150.  
  151.             call("/server $temp"); # just in case we didn't find the server
  152.          }
  153.  
  154.          $x++;
  155.       }      
  156.  
  157.       if (size(@saved_servers) > 0)
  158.       {
  159.          addSeparator();
  160.       }
  161.  
  162.       item "&Servers..."
  163.       {
  164.          showOptionDialog("jIRCii Setup");
  165.       }
  166.    }
  167.  
  168.    item "&Disconnect" 
  169.    { 
  170.       call("/quit");
  171.    }
  172.  
  173.    addSeparator();
  174.  
  175.    item "&Close"
  176.    {
  177.       closeWindow("%STATUS%");
  178.    }
  179.  
  180.    item "&Exit"
  181.    {
  182.      exit();
  183.    }
  184. }
  185.  
  186. menubar "&View"
  187. {
  188.    item "&DCC Sessions"
  189.    {
  190.       call("/dcc stats");
  191.    }
  192.  
  193.    item "&Options"
  194.    {
  195.       showOptionDialog("");
  196.    }
  197. }
  198.  
  199. menubar "C&ommands"
  200. {
  201.    awayMenu();
  202.    joinMenu();
  203.    listMenu();
  204.    serverMenu();
  205. }
  206.  
  207. sub awayMenu
  208. {
  209.    menu "&Away"
  210.    {
  211.       item "&Set Away..."
  212.       {
  213.          $reason = showInputDialog("Away message:", "Away");
  214.          &call("/away $reason");
  215.       }
  216.  
  217.       item "&Set Back"
  218.       {
  219.          &call("/back");
  220.       }
  221.    }
  222. }
  223.  
  224. sub joinMenu
  225. {
  226.    menu "&Join"
  227.    {
  228.       @channel_list = getPropertyList("channel.list");
  229.  
  230.       foreach $var (@channel_list)
  231.       {
  232.          item "$var"
  233.          {
  234.             call("/join $command");
  235.          }
  236.       }
  237.  
  238.       if (size(@channel_list) > 0)
  239.       {
  240.          addSeparator();
  241.       }
  242.  
  243.       item "Add..."
  244.       {
  245.          $filter = showInputDialog("Name of channel:", "Add to Join List");
  246.          push(@channel_list, $filter);
  247.          setPropertyList("channel.list", @channel_list);
  248.       }
  249.  
  250.       if (size(@channel_list) > 0)
  251.       {
  252.          menu "&Remove"
  253.          {
  254.              foreach $var (@channel_list)
  255.              {
  256.                 item "$var"
  257.                 {
  258.                    remove(@channel_list, $command);
  259.                    setPropertyList("channel.list", @channel_list);
  260.                 }
  261.              }
  262.          }
  263.       }
  264.    }
  265. }
  266.  
  267. sub listMenu
  268. {
  269.    item "&List"
  270.    {
  271.      call("/list -gui");
  272.    }
  273. }
  274.  
  275. menubar "&Window"
  276. {
  277.    item "&Tile"
  278.    {
  279.       tileWindows();
  280.    }
  281.  
  282.    item "&Cascade"
  283.    {
  284.       cascadeWindows();
  285.    }
  286.  
  287.    addSeparator();
  288.  
  289.    item "&1 Status"
  290.    {
  291.       activateWindow("%STATUS%");
  292.    }
  293.  
  294.    @windows = getWindows();
  295.  
  296.    $x = 2;
  297.    foreach $var (@windows)
  298.    {
  299.       item "& $+ $x $var"
  300.       {
  301.          $temp = substr($command, indexOf($command, " ") + 1);
  302.          activateWindow($temp);
  303.       }
  304.       $x++;
  305.    }
  306. }
  307.  
  308. menubar "&Help"
  309. {
  310.    item "&Help"
  311.    {
  312.       showHelpDialog("");
  313.    }
  314.  
  315.    item "&About"
  316.    {
  317.       showAboutDialog();
  318.    }
  319. }
  320.  
  321. sub ctcpDccMenu
  322. {
  323.    menu "&Ctcp"
  324.    {
  325.       item "&Ping"
  326.       {
  327.         call("/ctcp $1 PING");
  328.       }
  329.  
  330.       item "&Time"
  331.       {
  332.         call("/ctcp $1 TIME");
  333.       }
  334.  
  335.       item "&Version"
  336.       {
  337.         call("/ctcp $1 VERSION");
  338.       }
  339.    }
  340.  
  341.    menu "&DCC"
  342.    {
  343.       item "&Chat"
  344.       {
  345.         call("/dcc chat $1");
  346.       }
  347.  
  348.       item "&Send"
  349.       {
  350.         call("/dcc send $1");
  351.       }
  352.    }
  353.  
  354. }
  355.  
  356. menu channel
  357. {
  358.    item "Show &Names"
  359.    {
  360.       call("/sc");
  361.    }
  362. }
  363.  
  364. menu query
  365. {
  366.    &addItem("&Whois", "/whois $1");
  367.    ctcpDccMenu();
  368. }
  369.  
  370. menu chat
  371. {
  372.    item "&Close Chat"
  373.    {
  374.       call("/dcc close " . substr($active, 1, strlen($active)));
  375.    }
  376. }
  377.  
  378. menu nicklist
  379. {
  380.    &addItem("&Whois", "/whois $1");
  381.    &addItem("&Query", "/window $1");
  382.  
  383.    &addSeparator();
  384.  
  385.    if ($me isop $0 || 1 == 1)
  386.    {
  387.       menu "&Control"
  388.       {
  389.          menu "&Give"
  390.          {
  391.             &addItem("+&o", "/op $1-");
  392.             &addItem("+&v", "/v $1-");
  393.             &addItem("+&h", "/ho $1-");
  394.          }
  395.          menu "&Take"
  396.          {
  397.             &addItem("-&o", "/do $1-");
  398.             &addItem("-&v", "/dv $1-");
  399.             &addItem("-&h", "/dh $1-");
  400.          }
  401.       }
  402.    }
  403.  
  404.    ctcpDccMenu();
  405.  
  406. menu input
  407. {
  408.    item "&Cut"
  409.    {
  410.       cutSelectedText();
  411.    }
  412.  
  413.    item "&Copy"
  414.    {
  415.       copySelectedText();
  416.    }
  417.  
  418.    item "&Paste"
  419.    {
  420.       pasteText();
  421.    }
  422.  
  423.    item "&Clear"
  424.    {
  425.       setInputText($active, "");
  426.    }
  427. }
  428.  
  429. menu status
  430. {
  431.    if ($me ison $active)
  432.    {
  433.       menu "$active"
  434.       {
  435.          item "&Window" { &call("/window $active"); }
  436.          &addSeparator();
  437.          item "&Part" { &call("/part $active"); }
  438.          item "&Cycle" { &call("/cycle"); }
  439.       }
  440.       &addSeparator();
  441.    }
  442.  
  443.    awayMenu();
  444.    joinMenu();
  445.    listMenu();
  446.    serverMenu();
  447. }
  448.  
  449. sub serverMenu
  450. {
  451.    menu "&Server"
  452.    {
  453.       item "&links" { &call("links"); }
  454.       item "l&users" { &call("lusers"); }
  455.       item "&motd" { &call("motd"); }
  456.       item "&time" { &call("time"); }
  457.    }
  458. }
  459.  
  460. menu tab
  461. {
  462.    item "&Close Session"
  463.    {
  464.       closeWindow("%STATUS%");
  465.    }
  466. }
  467.  
  468. bind Alt+1
  469. {
  470.    activateWindow("%STATUS%");
  471.    halt;
  472. }
  473.  
  474. bind Alt+2
  475. {
  476.    local('@windows');
  477.    @windows = getWindows();
  478.    if (size(@windows) > 0)
  479.    {
  480.       activateWindow(@windows[0]);
  481.       halt;
  482.    }
  483. }
  484.  
  485. bind Alt+3
  486. {
  487.    local('@windows');
  488.    @windows = getWindows();
  489.    if (size(@windows) > 1)
  490.    {
  491.       activateWindow(@windows[1]);
  492.       halt;
  493.    }
  494. }
  495.  
  496. bind Alt+4
  497. {
  498.    local('@windows');
  499.    @windows = getWindows();
  500.    if (size(@windows) > 2)
  501.    {
  502.       activateWindow(@windows[2]);
  503.       halt;
  504.    }
  505. }
  506.  
  507. bind Alt+5
  508. {
  509.    local('@windows');
  510.    @windows = getWindows();
  511.    if (size(@windows) > 3)
  512.    {
  513.       activateWindow(@windows[3]);
  514.       halt;
  515.    }
  516. }
  517.  
  518. bind Alt+6
  519. {
  520.    local('@windows');
  521.    @windows = getWindows();
  522.    if (size(@windows) > 4)
  523.    {
  524.       activateWindow(@windows[4]);
  525.       halt;
  526.    }
  527. }
  528.  
  529.  
  530. bind Alt+7
  531. {
  532.    local('@windows');
  533.    @windows = getWindows();
  534.    if (size(@windows) > 5)
  535.    {
  536.       activateWindow(@windows[5]);
  537.       halt;
  538.    }
  539. }
  540.  
  541.  
  542. bind Alt+8
  543. {
  544.    local('@windows');
  545.    @windows = getWindows();
  546.    if (size(@windows) > 6)
  547.    {
  548.       activateWindow(@windows[6]);
  549.       halt;
  550.    }
  551. }
  552.  
  553.  
  554. bind Alt+9
  555. {
  556.    local('@windows');
  557.    @windows = getWindows();
  558.    if (size(@windows) > 7)
  559.    {
  560.       activateWindow(@windows[7]);
  561.       halt;
  562.    }
  563. }
  564.  
  565. bind Alt+Left
  566. {
  567.    local('@windows $x');
  568.    @windows = copy(getWindows()); # pop is destructive and won't work on a r/o array
  569.  
  570.    for ($x = 0; @windows[$x] ne getActiveWindow() && $x < size(@windows); $x++) { }
  571.  
  572.    if ($x == 0)
  573.    {
  574.       activateWindow(pop(@windows));
  575.    }
  576.    else
  577.    {
  578.       activateWindow(@windows[($x - 1) % size(@windows)]);
  579.    }
  580. }
  581.  
  582. bind Alt+Right
  583. {
  584.    local('@windows $x');
  585.    @windows = getWindows();
  586.  
  587.    for ($x = 0; @windows[$x] ne getActiveWindow() && $x < size(@windows); $x++) { }
  588.  
  589.    activateWindow(@windows[($x + 1) % size(@windows)]);
  590. }
  591.  
  592.  
  593. bind Ctrl+Left
  594. {
  595.    if (getActiveSessionId() == 0)
  596.    {
  597.       activateSession(getTotalSessions() - 1);
  598.    }
  599.    else
  600.    {
  601.       activateSession((getActiveSessionId() - 1) % getTotalSessions());
  602.    }
  603. }
  604.  
  605. bind Ctrl+Right
  606. {
  607.    activateSession((getActiveSessionId() + 1) % getTotalSessions());
  608. }
  609.  
  610. bind Ctrl+1
  611. {
  612.    activateSession(0);
  613. }
  614.  
  615. bind Ctrl+2
  616. {
  617.    if (getTotalSessions() > 1)
  618.    {     
  619.       activateSession(1);
  620.    }
  621. }
  622.  
  623. bind Ctrl+3
  624. {
  625.    if (getTotalSessions() > 2)
  626.    {     
  627.       activateSession(2);
  628.    }
  629. }
  630.  
  631. bind Ctrl+4
  632. {
  633.    if (getTotalSessions() > 3)
  634.    {     
  635.       activateSession(3);
  636.    }
  637. }
  638.  
  639. bind Ctrl+5
  640. {
  641.    if (getTotalSessions() > 4)
  642.    {     
  643.       activateSession(4);
  644.    }
  645. }
  646.  
  647. bind Ctrl+6
  648. {
  649.    if (getTotalSessions() > 5)
  650.    {     
  651.       activateSession(5);
  652.    }
  653. }
  654.  
  655. bind Ctrl+7
  656. {
  657.    if (getTotalSessions() > 6)
  658.    {     
  659.       activateSession(6);
  660.    }
  661. }
  662.  
  663. bind Ctrl+8
  664. {
  665.    if (getTotalSessions() > 7)
  666.    {     
  667.       activateSession(7);
  668.    }
  669. }
  670.  
  671. bind Ctrl+9
  672. {
  673.    if (getTotalSessions() > 8)
  674.    {     
  675.       activateSession(8);
  676.    }
  677. }
  678.  
  679. menu dcc
  680. {
  681.    item "&Close"
  682.    {
  683.      closeDCC(getDCCConnection($this));
  684.    }
  685. }
  686.  
  687. menu switchbar
  688. {
  689.    item "&Close Window"
  690.    {
  691.       closeWindow($parms);
  692.    }
  693. }
  694.  
  695.