| 1 | <?xml version="1.0" encoding="UTF-8"?> |
|---|
| 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
|---|
| 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> |
|---|
| 4 | <head> |
|---|
| 5 | <title>IIrcv - 汎用通知サーバ with dRuby</title> |
|---|
| 6 | |
|---|
| 7 | <link rel="stylesheet" type="text/css" href="style.css" media="screen,tv,projection"/> |
|---|
| 8 | |
|---|
| 9 | <link rev="made" href="mailto:cho45@lowreal.net"/> |
|---|
| 10 | |
|---|
| 11 | <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/> |
|---|
| 12 | |
|---|
| 13 | </head> |
|---|
| 14 | <body id="home"> |
|---|
| 15 | <div id="whole"> |
|---|
| 16 | <h1 id="top">IIrcv - Generic Notify Server with dRuby</h1> |
|---|
| 17 | |
|---|
| 18 | <hr /> |
|---|
| 19 | |
|---|
| 20 | |
|---|
| 21 | <h1>IIrcv.app</h1> |
|---|
| 22 | |
|---|
| 23 | <p>Imitation of Ircv. <a href='index.html.en'>English</a> <a href='index.html.ja'>Japanese</a></p> |
|---|
| 24 | |
|---|
| 25 | <h2>Summary</h2> |
|---|
| 26 | |
|---|
| 27 | <p> |
|---|
| 28 | IIrcv.app is alternate software (but not few changes) with <a href="http://www.misuzilla.org/dist/net/ircv/">Ircv</a> for Mac OS X. |
|---|
| 29 | </p> |
|---|
| 30 | <p> |
|---|
| 31 | Notification application, most famous is Growl. |
|---|
| 32 | Growl is very good application but showing the messages is not chronical. |
|---|
| 33 | For example, notifying IRC messages confuse you. IIrcv.app resolve this. |
|---|
| 34 | </p> |
|---|
| 35 | <p> |
|---|
| 36 | IIrcv.app don't <string>not</strong> have any IRC client functions. How does notify messages? |
|---|
| 37 | Yes, IIrcv.app works as dRuby server for show messages. Another scripts are connect |
|---|
| 38 | that and call simple method. |
|---|
| 39 | </p> |
|---|
| 40 | |
|---|
| 41 | <p id="screenshot"><img src="images/screenshot.png" alt="screenshot" /></p> |
|---|
| 42 | |
|---|
| 43 | |
|---|
| 44 | <p> |
|---|
| 45 | In default, IIrcv.app listens port 9876. |
|---|
| 46 | So, the below is most simple script for showing message. |
|---|
| 47 | </p> |
|---|
| 48 | |
|---|
| 49 | <pre><code>require 'drb/drb' |
|---|
| 50 | |
|---|
| 51 | o = DRbObject.new_with_uri("druby://localhost:9876") |
|---|
| 52 | o.call("Hello!\n") |
|---|
| 53 | </code></pre> |
|---|
| 54 | |
|---|
| 55 | <p> |
|---|
| 56 | Run this script, and you see 'Hello!' on fadeined window of IIrcv.app. |
|---|
| 57 | </p> |
|---|
| 58 | |
|---|
| 59 | <h2>Functions</h2> |
|---|
| 60 | <p>IIrcv.app has..</p> |
|---|
| 61 | <ul> |
|---|
| 62 | <li>Notify messages from dRuby interface.</li> |
|---|
| 63 | <li>Hilight strings (or lines) by Regexp.</li> |
|---|
| 64 | <li>Transparent mouse events.</li> |
|---|
| 65 | <li>Toggle display mode by hotkey</li> |
|---|
| 66 | </ul> |
|---|
| 67 | |
|---|
| 68 | <h2>Download</h2> |
|---|
| 69 | <p><a href="http://lowreal.net/2006/IIrcv/pkg/">Latest release.</a></p> |
|---|
| 70 | <p>Compiled with Universal Binary rev510 and above, but I can't test with PowerPC. |
|---|
| 71 | </p> |
|---|
| 72 | <p><a href="http://lowreal.net/2006/IIrcv/pkg/CHANGES">Changes</a></p> |
|---|
| 73 | |
|---|
| 74 | <h2>Install</h2> |
|---|
| 75 | |
|---|
| 76 | <p>IIrcv.app requires <a href="http://rubycocoa.sourceforge.net/">Ruby/Cocoa</a>. |
|---|
| 77 | <a href="http://rubycocoa.sourceforge.net/">Download</a> and install first.</p> |
|---|
| 78 | |
|---|
| 79 | <p> |
|---|
| 80 | And put IIrcv.app somewhere. |
|---|
| 81 | </p> |
|---|
| 82 | |
|---|
| 83 | <h2>Samples</h2> |
|---|
| 84 | <p>Including some samples.</p> |
|---|
| 85 | <dl> |
|---|
| 86 | <dt>ircv.rb</dt> |
|---|
| 87 | <dd>Show IRC messages to IIrcv.app</dd> |
|---|
| 88 | <dt>sample.rb</dt> |
|---|
| 89 | <dd>Simple sample.</dd> |
|---|
| 90 | <dt>iircvstdout.rb</dt> |
|---|
| 91 | <dd>Pipe stdout to IIrcv.app. |
|---|
| 92 | <kdb>tail -f /var/log/httpd/access_log | iircvstdout.rb</kbd> |
|---|
| 93 | </dd> |
|---|
| 94 | </dl> |
|---|
| 95 | |
|---|
| 96 | <h3>DRb Front Object</h3> |
|---|
| 97 | |
|---|
| 98 | <p>IIrcv.app provides IO#write compatibe proc object.</p> |
|---|
| 99 | |
|---|
| 100 | <pre><code>require 'drb/drb' |
|---|
| 101 | |
|---|
| 102 | class OutIO < IO |
|---|
| 103 | def initialize(write_proc) |
|---|
| 104 | @proc = write_proc |
|---|
| 105 | end |
|---|
| 106 | |
|---|
| 107 | def write(arg) |
|---|
| 108 | @proc.call(arg) |
|---|
| 109 | end |
|---|
| 110 | end |
|---|
| 111 | |
|---|
| 112 | o = DRbObject.new_with_uri("druby://localhost:9876") |
|---|
| 113 | $stdout = OutIO.new(o) |
|---|
| 114 | puts "Hello!" |
|---|
| 115 | </code></pre> |
|---|
| 116 | |
|---|
| 117 | <h2>License</h2> |
|---|
| 118 | <p>Creative-Commons by</p> |
|---|
| 119 | <dl> |
|---|
| 120 | <dt>Author</dt> |
|---|
| 121 | <dt>cho45(さとう) <a href="http://lowreal.net/">http://lowreal.net/</a></dt> |
|---|
| 122 | </dl> |
|---|
| 123 | |
|---|
| 124 | <script type="text/javascript"><!-- |
|---|
| 125 | google_ad_client = "pub-4629424540171624"; |
|---|
| 126 | google_ad_width = 728; |
|---|
| 127 | google_ad_height = 90; |
|---|
| 128 | google_ad_format = "728x90_as"; |
|---|
| 129 | google_ad_type = "text_image"; |
|---|
| 130 | google_ad_channel = ""; |
|---|
| 131 | google_color_border = "FFFFFF"; |
|---|
| 132 | google_color_bg = "FFFFFF"; |
|---|
| 133 | google_color_link = "0000FF"; |
|---|
| 134 | google_color_text = "191919"; |
|---|
| 135 | google_color_url = "000000"; |
|---|
| 136 | //--></script> |
|---|
| 137 | <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> |
|---|
| 138 | |
|---|
| 139 | <hr /> |
|---|
| 140 | <div id="footer"> |
|---|
| 141 | <p>Author: cho45(さとう) <a href="http://lowreal.net/">http://lowreal.net/</a></p> |
|---|
| 142 | </div> |
|---|
| 143 | </div> |
|---|
| 144 | </body> |
|---|
| 145 | </html> |
|---|
| 146 | |
|---|