rumai 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. data/Rakefile +1 -1
  2. data/doc/api/classes/Integer.src/M000002.html +1 -1
  3. data/doc/api/classes/Rumai.html +1 -1
  4. data/doc/api/classes/Rumai.src/M000015.html +1 -1
  5. data/doc/api/classes/Rumai.src/M000016.html +1 -1
  6. data/doc/api/classes/Rumai.src/M000017.html +1 -1
  7. data/doc/api/classes/Rumai.src/M000018.html +1 -1
  8. data/doc/api/classes/Rumai.src/M000019.html +1 -1
  9. data/doc/api/classes/Rumai.src/M000020.html +1 -1
  10. data/doc/api/classes/Rumai.src/M000021.html +1 -1
  11. data/doc/api/classes/Rumai.src/M000022.html +1 -1
  12. data/doc/api/classes/Rumai.src/M000023.html +1 -1
  13. data/doc/api/classes/Rumai.src/M000024.html +1 -1
  14. data/doc/api/classes/Rumai.src/M000025.html +1 -1
  15. data/doc/api/classes/Rumai.src/M000026.html +1 -1
  16. data/doc/api/classes/Rumai/Area.html +87 -87
  17. data/doc/api/classes/Rumai/Area.src/{M000091.html → M000079.html} +5 -8
  18. data/doc/api/classes/Rumai/Area.src/M000080.html +4 -5
  19. data/doc/api/classes/Rumai/Area.src/M000081.html +3 -3
  20. data/doc/api/classes/Rumai/Area.src/M000082.html +5 -5
  21. data/doc/api/classes/Rumai/Area.src/M000083.html +3 -3
  22. data/doc/api/classes/Rumai/Area.src/M000084.html +3 -3
  23. data/doc/api/classes/Rumai/Area.src/M000085.html +4 -4
  24. data/doc/api/classes/Rumai/Area.src/M000086.html +4 -4
  25. data/doc/api/classes/Rumai/Area.src/M000087.html +4 -4
  26. data/doc/api/classes/Rumai/Area.src/M000088.html +4 -4
  27. data/doc/api/classes/Rumai/Area.src/M000089.html +4 -4
  28. data/doc/api/classes/Rumai/Area.src/M000090.html +7 -3
  29. data/doc/api/classes/Rumai/Area.src/M000092.html +23 -0
  30. data/doc/api/classes/Rumai/Area.src/M000093.html +8 -3
  31. data/doc/api/classes/Rumai/Area.src/M000094.html +4 -14
  32. data/doc/api/classes/Rumai/Area.src/M000095.html +17 -4
  33. data/doc/api/classes/Rumai/Chain.html +18 -18
  34. data/doc/api/classes/Rumai/Chain.src/{M000079.html → M000076.html} +4 -4
  35. data/doc/api/classes/Rumai/Chain.src/M000077.html +4 -4
  36. data/doc/api/classes/Rumai/Chain.src/M000078.html +4 -4
  37. data/doc/api/classes/Rumai/Client.html +48 -30
  38. data/doc/api/classes/Rumai/Client.src/M000113.html +18 -0
  39. data/doc/api/classes/Rumai/Client.src/M000114.html +4 -4
  40. data/doc/api/classes/Rumai/Client.src/M000115.html +5 -5
  41. data/doc/api/classes/Rumai/Client.src/M000116.html +26 -5
  42. data/doc/api/classes/Rumai/Client.src/M000117.html +5 -25
  43. data/doc/api/classes/Rumai/Client.src/M000118.html +4 -13
  44. data/doc/api/classes/Rumai/Client.src/M000119.html +4 -5
  45. data/doc/api/classes/Rumai/Client.src/M000120.html +1 -1
  46. data/doc/api/classes/Rumai/Client.src/M000121.html +1 -1
  47. data/doc/api/classes/Rumai/Client.src/M000122.html +1 -1
  48. data/doc/api/classes/Rumai/Client.src/M000123.html +1 -1
  49. data/doc/api/classes/Rumai/Client.src/M000124.html +1 -1
  50. data/doc/api/classes/Rumai/Client.src/M000125.html +1 -1
  51. data/doc/api/classes/Rumai/Client.src/M000126.html +1 -1
  52. data/doc/api/classes/Rumai/Client.src/M000127.html +1 -1
  53. data/doc/api/classes/Rumai/Client.src/M000128.html +1 -1
  54. data/doc/api/classes/Rumai/Client.src/M000129.html +1 -1
  55. data/doc/api/classes/Rumai/Client.src/M000130.html +1 -1
  56. data/doc/api/classes/Rumai/ClientContainer.src/M000027.html +1 -1
  57. data/doc/api/classes/Rumai/ClientContainer.src/M000028.html +1 -1
  58. data/doc/api/classes/Rumai/ClientContainer.src/M000029.html +1 -1
  59. data/doc/api/classes/Rumai/IXP/Agent.html +77 -77
  60. data/doc/api/classes/Rumai/IXP/Agent.src/M000044.html +53 -0
  61. data/doc/api/classes/Rumai/IXP/Agent.src/M000045.html +36 -0
  62. data/doc/api/classes/Rumai/IXP/Agent.src/M000046.html +20 -28
  63. data/doc/api/classes/Rumai/IXP/Agent.src/M000047.html +5 -29
  64. data/doc/api/classes/Rumai/IXP/Agent.src/M000048.html +7 -24
  65. data/doc/api/classes/Rumai/IXP/Agent.src/M000049.html +5 -5
  66. data/doc/api/classes/Rumai/IXP/Agent.src/M000050.html +18 -7
  67. data/doc/api/classes/Rumai/IXP/Agent.src/M000051.html +5 -6
  68. data/doc/api/classes/Rumai/IXP/Agent.src/M000052.html +4 -19
  69. data/doc/api/classes/Rumai/IXP/Agent.src/M000053.html +7 -5
  70. data/doc/api/classes/Rumai/IXP/Agent.src/M000054.html +6 -4
  71. data/doc/api/classes/Rumai/IXP/Agent.src/M000055.html +6 -7
  72. data/doc/api/classes/Rumai/IXP/Agent.src/M000056.html +8 -6
  73. data/doc/api/classes/Rumai/IXP/Agent.src/M000057.html +9 -6
  74. data/doc/api/classes/Rumai/IXP/Agent.src/M000058.html +5 -8
  75. data/doc/api/classes/Rumai/IXP/Agent/FidStream.html +93 -35
  76. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000060.html +23 -0
  77. data/doc/api/classes/Rumai/IXP/{Struct/Field.src/M000040.html → Agent/FidStream.src/M000061.html} +5 -4
  78. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000062.html +8 -8
  79. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000063.html +4 -7
  80. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000064.html +12 -9
  81. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000065.html +21 -11
  82. data/doc/api/classes/Rumai/IXP/Agent/MODES.html +5 -5
  83. data/doc/api/classes/Rumai/IXP/Agent/MODES.src/{M000061.html → M000059.html} +0 -0
  84. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.html +16 -16
  85. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000067.html +22 -0
  86. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000068.html +21 -8
  87. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000069.html +4 -18
  88. data/doc/api/classes/Rumai/IXP/Fcall.html +21 -21
  89. data/doc/api/classes/Rumai/IXP/Fcall.src/M000070.html +20 -0
  90. data/doc/api/classes/Rumai/IXP/Fcall.src/M000071.html +11 -6
  91. data/doc/api/classes/Rumai/IXP/Fcall.src/M000072.html +4 -11
  92. data/doc/api/classes/Rumai/IXP/Fcall.src/M000073.html +3 -3
  93. data/doc/api/classes/Rumai/IXP/Stat.html +5 -5
  94. data/doc/api/classes/Rumai/IXP/Stat.src/{M000076.html → M000075.html} +1 -1
  95. data/doc/api/classes/Rumai/IXP/Stream.html +5 -5
  96. data/doc/api/classes/Rumai/IXP/Stream.src/{M000045.html → M000043.html} +1 -2
  97. data/doc/api/classes/Rumai/IXP/Struct.html +11 -47
  98. data/doc/api/classes/Rumai/IXP/Struct.src/M000030.html +1 -1
  99. data/doc/api/classes/Rumai/IXP/Struct.src/M000031.html +4 -4
  100. data/doc/api/classes/Rumai/IXP/Struct.src/M000032.html +5 -3
  101. data/doc/api/classes/Rumai/IXP/Struct.src/M000033.html +43 -4
  102. data/doc/api/classes/Rumai/IXP/Struct/Field.html +34 -42
  103. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000034.html +21 -0
  104. data/doc/api/classes/Rumai/IXP/Struct/Field.src/{M000041.html → M000035.html} +7 -4
  105. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000036.html +6 -7
  106. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000037.html +13 -5
  107. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000038.html +4 -6
  108. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000039.html +4 -15
  109. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.html +12 -12
  110. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.src/{M000043.html → M000041.html} +3 -3
  111. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.src/{M000044.html → M000042.html} +4 -4
  112. data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.html +6 -6
  113. data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.src/{M000042.html → M000040.html} +3 -3
  114. data/doc/api/classes/Rumai/IXP/Terror.html +5 -5
  115. data/doc/api/classes/Rumai/IXP/Terror.src/{M000075.html → M000074.html} +1 -1
  116. data/doc/api/classes/Rumai/Node.html +88 -88
  117. data/doc/api/classes/Rumai/Node.src/M000096.html +18 -0
  118. data/doc/api/classes/Rumai/Node.src/M000097.html +4 -4
  119. data/doc/api/classes/Rumai/Node.src/M000098.html +8 -4
  120. data/doc/api/classes/Rumai/Node.src/M000099.html +4 -8
  121. data/doc/api/classes/Rumai/Node.src/M000100.html +4 -4
  122. data/doc/api/classes/Rumai/Node.src/M000101.html +4 -4
  123. data/doc/api/classes/Rumai/Node.src/M000102.html +4 -4
  124. data/doc/api/classes/Rumai/Node.src/M000103.html +8 -4
  125. data/doc/api/classes/Rumai/Node.src/M000104.html +4 -8
  126. data/doc/api/classes/Rumai/Node.src/M000105.html +4 -4
  127. data/doc/api/classes/Rumai/Node.src/M000106.html +4 -4
  128. data/doc/api/classes/Rumai/Node.src/M000107.html +4 -4
  129. data/doc/api/classes/Rumai/Node.src/M000108.html +4 -4
  130. data/doc/api/classes/Rumai/Node.src/M000109.html +4 -4
  131. data/doc/api/classes/Rumai/Node.src/M000110.html +5 -5
  132. data/doc/api/classes/Rumai/Node.src/M000111.html +7 -5
  133. data/doc/api/classes/Rumai/Node.src/M000112.html +12 -5
  134. data/doc/api/classes/Rumai/View.html +2 -2
  135. data/doc/api/classes/Rumai/View.src/M000131.html +1 -1
  136. data/doc/api/classes/Rumai/View.src/M000132.html +1 -1
  137. data/doc/api/classes/Rumai/View.src/M000133.html +1 -1
  138. data/doc/api/classes/Rumai/View.src/M000134.html +1 -1
  139. data/doc/api/classes/Rumai/View.src/M000135.html +1 -1
  140. data/doc/api/classes/Rumai/View.src/M000136.html +1 -1
  141. data/doc/api/classes/Rumai/View.src/M000137.html +1 -1
  142. data/doc/api/classes/Rumai/View.src/M000138.html +1 -1
  143. data/doc/api/classes/Rumai/View.src/M000139.html +1 -1
  144. data/doc/api/classes/Rumai/View.src/M000140.html +1 -1
  145. data/doc/api/classes/Rumai/View.src/M000141.html +3 -3
  146. data/doc/api/classes/Rumai/View.src/M000142.html +1 -1
  147. data/doc/api/classes/Rumai/View.src/M000143.html +1 -1
  148. data/doc/api/classes/Rumai/View.src/M000144.html +1 -1
  149. data/doc/api/classes/Rumai/View.src/M000145.html +1 -1
  150. data/doc/api/classes/Rumai/View.src/M000146.html +1 -1
  151. data/doc/api/classes/String.src/M000005.html +1 -1
  152. data/doc/api/classes/String.src/M000006.html +2 -3
  153. data/doc/api/classes/Time.src/M000003.html +1 -1
  154. data/doc/api/classes/Time.src/M000004.html +1 -1
  155. data/doc/api/created.rid +1 -1
  156. data/doc/api/files/lib/rumai/fs_rb.html +1 -1
  157. data/doc/api/files/lib/rumai/ixp/message_rb.html +1 -1
  158. data/doc/api/files/lib/rumai/ixp/transport_rb.html +1 -1
  159. data/doc/api/files/lib/rumai/nfo_rb.html +1 -1
  160. data/doc/api/files/lib/rumai/wm_rb.html +1 -1
  161. data/doc/api/fr_method_index.html +91 -91
  162. data/doc/guide.erb +2 -2
  163. data/doc/guide.html +49 -41
  164. data/lib/rumai/fs.rb +3 -3
  165. data/lib/rumai/ixp/message.rb +19 -36
  166. data/lib/rumai/ixp/transport.rb +98 -85
  167. data/lib/rumai/nfo.rb +2 -2
  168. data/lib/rumai/wm.rb +15 -25
  169. metadata +24 -25
  170. data/doc/api/classes/Rumai/Area.src/M000096.html +0 -31
  171. data/doc/api/classes/Rumai/IXP/Agent.src/M000059.html +0 -23
  172. data/doc/api/classes/Rumai/IXP/Agent.src/M000060.html +0 -19
  173. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000066.html +0 -36
  174. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000070.html +0 -20
  175. data/doc/api/classes/Rumai/IXP/Fcall.src/M000074.html +0 -18
  176. data/doc/api/classes/Rumai/IXP/Struct.src/M000034.html +0 -20
  177. data/doc/api/classes/Rumai/IXP/Struct.src/M000035.html +0 -57
  178. data/doc/api/classes/Rumai/Node.src/M000113.html +0 -27
  179. data/doc/index.html +0 -2035
data/doc/guide.erb CHANGED
@@ -51,7 +51,7 @@
51
51
 
52
52
  |_. Software |_. Notes |
53
53
  | "Ruby":<%= ruby_url %> | Version 1.8.x is required. |
54
- | "wmii":<%= wmii_url %> | wmii-snap20070516 or newer is required. |
54
+ | "wmii":<%= wmii_url %> | Version 3.6 or newer is required. |
55
55
  <% end %>
56
56
 
57
57
  <% section "Installation" do %>
@@ -144,7 +144,7 @@
144
144
  Close the terminals we launched earlier:
145
145
  <code>
146
146
  terms = curr_view.clients.select {|c| colors.include? c.label.read }
147
- terms.each {|c| c.ctl.write "kill" }
147
+ terms.each {|c| c.kill }
148
148
  </code>
149
149
  }.gsub(/^\s+/, '')
150
150
  %>
data/doc/guide.html CHANGED
@@ -2,11 +2,11 @@
2
2
  <html>
3
3
  <head>
4
4
  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
5
- <meta name="date" content="26 January 2008"/>
5
+ <meta name="date" content="04 February 2008"/>
6
6
  <meta name="author" content="Suraj N. Kurapati"/>
7
- <meta name="generator" content="Gerbil 1.1.0"/>
7
+ <meta name="generator" content="Gerbil 2.0.0"/>
8
8
  <link rel="alternate" type="application/rss+xml" href="http://rumai.rubyforge.org/news.xml"/>
9
- <title>Rumai 1.0.0 user guide</title>
9
+ <title>Rumai 2.0.0 user guide</title>
10
10
 
11
11
  <style type="text/css" media="screen">
12
12
  body
@@ -754,15 +754,19 @@
754
754
  </style>
755
755
  </head>
756
756
  <body>
757
+
757
758
  <div id="header">
759
+
758
760
 
759
- <h1 class="title">Rumai 1.0.0 user guide</h1>
761
+ <h1 class="title">Rumai 2.0.0 user guide</h1>
760
762
  <h2 class="authors"><a href="http://snk.tuxfamily.org">Suraj N. Kurapati</a></h2>
761
- <h3 class="date">26 January 2008</h3>
763
+ <h3 class="date">04 February 2008</h3>
764
+
762
765
  </div>
766
+
763
767
 
764
768
 
765
- <div id="toc"><h1>Contents</h1> <ul><li>1&nbsp;&nbsp;<a id="a-606956178" href="#Introduction">Introduction</a><ul><li>1.1&nbsp;&nbsp;<a id="a-606960438" href="#Resources">Resources</a></li><li>1.2&nbsp;&nbsp;<a id="a-606963908" href="#License">License</a></li></ul></li><li>2&nbsp;&nbsp;<a id="a-606966618" href="#Setup">Setup</a><ul><li>2.1&nbsp;&nbsp;<a id="a-606968098" href="#Requirements">Requirements</a></li><li>2.2&nbsp;&nbsp;<a id="a-606970128" href="#Installation">Installation</a></li><li>2.3&nbsp;&nbsp;<a id="a-606973738" href="#Manifest">Manifest</a></li><li>2.4&nbsp;&nbsp;<a id="a-606975918" href="#Version-numbering-system">Version numbering system</a></li></ul></li><li>3&nbsp;&nbsp;<a id="a-606978438" href="#Usage">Usage</a><ul><li>3.1&nbsp;&nbsp;<a id="a-606979948" href="#Concepts">Concepts</a></li><li>3.2&nbsp;&nbsp;<a id="a-606981988" href="#shell">Interactive shell</a><ul><li>3.2.1&nbsp;&nbsp;<a id="a-606983728" href="#Live-demonstration">Live demonstration</a><ul><li>3.2.1.1&nbsp;&nbsp;<a id="a-606985418" href="#Automated-client-arrangement">Automated client arrangement</a></li><li>3.2.1.2&nbsp;&nbsp;<a id="a-606092078" href="#Multiple-client-grouping">Multiple client grouping</a></li><li>3.2.1.3&nbsp;&nbsp;<a id="a-606113088" href="#Easy-column-manipulation">Easy column manipulation</a></li><li>3.2.1.4&nbsp;&nbsp;<a id="a-606129268" href="#Easy-client-manipulation">Easy client manipulation</a></li><li>3.2.1.5&nbsp;&nbsp;<a id="a-606134168" href="#Traversing-the-file-system">Traversing the file system</a></li></ul></li><li>3.2.2&nbsp;&nbsp;<a id="a-606141278" href="#Available-commands">Available commands</a></li></ul></li><li>3.3&nbsp;&nbsp;<a id="a-607083858" href="#wmiirc">Scripting your wmiirc</a></li></ul></li></ul></div>
769
+ <div id="toc"><h1>Contents</h1> <ul><li>1&nbsp;&nbsp;<a id="a-606974828" href="#Introduction">Introduction</a><ul><li>1.1&nbsp;&nbsp;<a id="a-606979088" href="#Resources">Resources</a></li><li>1.2&nbsp;&nbsp;<a id="a-606982558" href="#License">License</a></li></ul></li><li>2&nbsp;&nbsp;<a id="a-606985268" href="#Setup">Setup</a><ul><li>2.1&nbsp;&nbsp;<a id="a-606986748" href="#Requirements">Requirements</a></li><li>2.2&nbsp;&nbsp;<a id="a-606988778" href="#Installation">Installation</a></li><li>2.3&nbsp;&nbsp;<a id="a-606992388" href="#Manifest">Manifest</a></li><li>2.4&nbsp;&nbsp;<a id="a-606994568" href="#Version-numbering-system">Version numbering system</a></li></ul></li><li>3&nbsp;&nbsp;<a id="a-606997088" href="#Usage">Usage</a><ul><li>3.1&nbsp;&nbsp;<a id="a-606998598" href="#Concepts">Concepts</a></li><li>3.2&nbsp;&nbsp;<a id="a-607000638" href="#shell">Interactive shell</a><ul><li>3.2.1&nbsp;&nbsp;<a id="a-607002378" href="#Live-demonstration">Live demonstration</a><ul><li>3.2.1.1&nbsp;&nbsp;<a id="a-607004068" href="#Automated-client-arrangement">Automated client arrangement</a></li><li>3.2.1.2&nbsp;&nbsp;<a id="a-607006288" href="#Multiple-client-grouping">Multiple client grouping</a></li><li>3.2.1.3&nbsp;&nbsp;<a id="a-607008668" href="#Easy-column-manipulation">Easy column manipulation</a></li><li>3.2.1.4&nbsp;&nbsp;<a id="a-607011198" href="#Easy-client-manipulation">Easy client manipulation</a></li><li>3.2.1.5&nbsp;&nbsp;<a id="a-607013848" href="#Traversing-the-file-system">Traversing the file system</a></li></ul></li><li>3.2.2&nbsp;&nbsp;<a id="a-607016918" href="#Available-commands">Available commands</a></li></ul></li><li>3.3&nbsp;&nbsp;<a id="a-607024218" href="#wmiirc">Scripting your wmiirc</a></li></ul></li></ul></div>
766
770
 
767
771
 
768
772
 
@@ -770,7 +774,7 @@
770
774
  <div class="chapter">
771
775
  <h1 class="title">
772
776
  Chapter
773
- <a class="toc" id="Introduction" href="#a-606956178">1</a>
777
+ <a class="toc" id="Introduction" href="#a-606974828">1</a>
774
778
 
775
779
  <br/>
776
780
 
@@ -791,7 +795,7 @@
791
795
 
792
796
  <p><div class="section">
793
797
  <h2 class="title">
794
- <a class="toc" id="Resources" href="#a-606960438">1.1</a>&nbsp;&nbsp;Resources
798
+ <a class="toc" id="Resources" href="#a-606979088">1.1</a>&nbsp;&nbsp;Resources
795
799
  </h2>
796
800
  <div class="content"><ul>
797
801
  <li><a href="http://rumai.rubyforge.org/news.xml">News feed</a>
@@ -806,7 +810,7 @@
806
810
  </div>
807
811
  <div class="section">
808
812
  <h2 class="title">
809
- <a class="toc" id="License" href="#a-606963908">1.2</a>&nbsp;&nbsp;License
813
+ <a class="toc" id="License" href="#a-606982558">1.2</a>&nbsp;&nbsp;License
810
814
  </h2>
811
815
  <div class="content"><p>Copyright 2006 Suraj N. Kurapati &lt;SNK at GNA dot ORG&gt;</p>
812
816
 
@@ -844,7 +848,7 @@ IMPLIED, INCLUDING <span class="caps">BUT NOT LIMITED TO THE WARRANTIES OF MERCH
844
848
  <div class="chapter">
845
849
  <h1 class="title">
846
850
  Chapter
847
- <a class="toc" id="Setup" href="#a-606966618">2</a>
851
+ <a class="toc" id="Setup" href="#a-606985268">2</a>
848
852
 
849
853
  <br/>
850
854
 
@@ -853,7 +857,7 @@ IMPLIED, INCLUDING <span class="caps">BUT NOT LIMITED TO THE WARRANTIES OF MERCH
853
857
 
854
858
  <div class="content"><div class="section">
855
859
  <h2 class="title">
856
- <a class="toc" id="Requirements" href="#a-606968098">2.1</a>&nbsp;&nbsp;Requirements
860
+ <a class="toc" id="Requirements" href="#a-606986748">2.1</a>&nbsp;&nbsp;Requirements
857
861
  </h2>
858
862
  <div class="content">Your system needs the following software to run Rumai.
859
863
 
@@ -869,13 +873,13 @@ IMPLIED, INCLUDING <span class="caps">BUT NOT LIMITED TO THE WARRANTIES OF MERCH
869
873
  </tr>
870
874
  <tr>
871
875
  <td> <a href="http://www.suckless.org/wiki/wmii">wmii</a> </td>
872
- <td> wmii-snap20070516 or newer is required. </td>
876
+ <td> Version 3.6 or newer is required. </td>
873
877
  </tr>
874
878
  </table></div>
875
879
  </div>
876
880
  <div class="section">
877
881
  <h2 class="title">
878
- <a class="toc" id="Installation" href="#a-606970128">2.2</a>&nbsp;&nbsp;Installation
882
+ <a class="toc" id="Installation" href="#a-606988778">2.2</a>&nbsp;&nbsp;Installation
879
883
  </h2>
880
884
  <div class="content"><p>If your system has <a href="http://rubygems.org/">RubyGems</a>, then you can install Rumai by running the following commands:</p>
881
885
 
@@ -895,7 +899,7 @@ Otherwise, follow these instructions:
895
899
  <pre>ruby bin/rumai -v</pre>
896
900
 
897
901
 
898
- <p>If the installation was successful, then you will see output like this: <pre>Rumai 1.0.0 (2008-01-26) http://rumai.rubyforge.org /home/sun/src/rumai
902
+ <p>If the installation was successful, then you will see output like this: <pre>Rumai 2.0.0 (2008-02-04) http://rumai.rubyforge.org /home/sun/src/rumai
899
903
  </pre></p>
900
904
 
901
905
 
@@ -903,7 +907,7 @@ Otherwise, follow these instructions:
903
907
  </div>
904
908
  <div class="section">
905
909
  <h2 class="title">
906
- <a class="toc" id="Manifest" href="#a-606973738">2.3</a>&nbsp;&nbsp;Manifest
910
+ <a class="toc" id="Manifest" href="#a-606992388">2.3</a>&nbsp;&nbsp;Manifest
907
911
  </h2>
908
912
  <div class="content">Now that Rumai is installed on your system, let us examine its installation directory.
909
913
  <ul>
@@ -940,7 +944,7 @@ Inside Rumai&#8217;s installation directory, you will see (among other things) t
940
944
  </div>
941
945
  <div class="section">
942
946
  <h2 class="title">
943
- <a class="toc" id="Version-numbering-system" href="#a-606975918">2.4</a>&nbsp;&nbsp;Version numbering system
947
+ <a class="toc" id="Version-numbering-system" href="#a-606994568">2.4</a>&nbsp;&nbsp;Version numbering system
944
948
  </h2>
945
949
  <div class="content">Rumai uses the <a href="http://www.rubygems.org/read/chapter/7">RubyGems rational versioning policy</a> to number its releases. This <strong>major.minor.patch</strong> numbering policy <a href="http://ablog.apress.com/?p=738">is summarized</a> as follows.
946
950
 
@@ -976,7 +980,7 @@ Inside Rumai&#8217;s installation directory, you will see (among other things) t
976
980
  <div class="chapter">
977
981
  <h1 class="title">
978
982
  Chapter
979
- <a class="toc" id="Usage" href="#a-606978438">3</a>
983
+ <a class="toc" id="Usage" href="#a-606997088">3</a>
980
984
 
981
985
  <br/>
982
986
 
@@ -985,7 +989,7 @@ Inside Rumai&#8217;s installation directory, you will see (among other things) t
985
989
 
986
990
  <div class="content"><div class="section">
987
991
  <h2 class="title">
988
- <a class="toc" id="Concepts" href="#a-606979948">3.1</a>&nbsp;&nbsp;Concepts
992
+ <a class="toc" id="Concepts" href="#a-606998598">3.1</a>&nbsp;&nbsp;Concepts
989
993
  </h2>
990
994
  <div class="content">If you wish to wield the power of Rumai more effectively, you should understand the following basic concepts:
991
995
  <ul>
@@ -1001,7 +1005,7 @@ Inside Rumai&#8217;s installation directory, you will see (among other things) t
1001
1005
  </div>
1002
1006
  <div class="section">
1003
1007
  <h2 class="title">
1004
- <a class="toc" id="shell" href="#a-606981988">3.2</a>&nbsp;&nbsp;Interactive shell
1008
+ <a class="toc" id="shell" href="#a-607000638">3.2</a>&nbsp;&nbsp;Interactive shell
1005
1009
  </h2>
1006
1010
  <div class="content"><p>Run the following command to start Rumai&#8217;s interactive shell (IRB):</p>
1007
1011
 
@@ -1029,14 +1033,14 @@ Inside Rumai&#8217;s installation directory, you will see (among other things) t
1029
1033
 
1030
1034
  <p><div class="section">
1031
1035
  <h3 class="title">
1032
- <a class="toc" id="Live-demonstration" href="#a-606983728">3.2.1</a>&nbsp;&nbsp;Live demonstration
1036
+ <a class="toc" id="Live-demonstration" href="#a-607002378">3.2.1</a>&nbsp;&nbsp;Live demonstration
1033
1037
  </h3>
1034
1038
  <div class="content"><p>Now that you have a command prompt, let us walk through a quick demonstration that highlights the main features of Rumai. You can follow along by copying &#38; pasting the presented commands into the interactive shell.</p>
1035
1039
 
1036
1040
 
1037
1041
  <p><div class="section">
1038
1042
  <h4 class="title">
1039
- <a class="toc" id="Automated-client-arrangement" href="#a-606985418">3.2.1.1</a>&nbsp;&nbsp;Automated client arrangement
1043
+ <a class="toc" id="Automated-client-arrangement" href="#a-607004068">3.2.1.1</a>&nbsp;&nbsp;Automated client arrangement
1040
1044
  </h4>
1041
1045
  <div class="content"><p>Launch a few terminals so that we have something to work with:
1042
1046
  <pre class="code">
@@ -1066,12 +1070,12 @@ curr_view.arrange_as_larswm
1066
1070
  <p>Close the terminals we launched earlier:
1067
1071
  <pre class="code">
1068
1072
  terms = curr_view.clients.select {|c| colors.include? c.label.read }
1069
- terms.each {|c| c.ctl.write <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">kill</span><span style="color:#710">&quot;</span></span> }
1073
+ terms.each {|c| c.kill }
1070
1074
  </pre></p></div>
1071
1075
  </div>
1072
1076
  <div class="section">
1073
1077
  <h4 class="title">
1074
- <a class="toc" id="Multiple-client-grouping" href="#a-606092078">3.2.1.2</a>&nbsp;&nbsp;Multiple client grouping
1078
+ <a class="toc" id="Multiple-client-grouping" href="#a-607006288">3.2.1.2</a>&nbsp;&nbsp;Multiple client grouping
1075
1079
  </h4>
1076
1080
  <div class="content"><p>Launch a few terminals so that we have something to work with:
1077
1081
  <pre class="code">
@@ -1112,7 +1116,7 @@ grouping.each {|c| c.send <span style="background-color:#fff0f0"><span style="co
1112
1116
  <p>Close the terminals we launched earlier:
1113
1117
  <pre class="code">
1114
1118
  terms = curr_view.clients.select {|c| colors.include? c.label.read }
1115
- terms.each {|c| c.ctl.write <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">kill</span><span style="color:#710">&quot;</span></span> }
1119
+ terms.each {|c| c.kill }
1116
1120
  </pre></p>
1117
1121
 
1118
1122
 
@@ -1123,7 +1127,7 @@ terms.each {|c| c.ctl.write <span style="background-color:#fff0f0"><span style="
1123
1127
  </div>
1124
1128
  <div class="section">
1125
1129
  <h4 class="title">
1126
- <a class="toc" id="Easy-column-manipulation" href="#a-606113088">3.2.1.3</a>&nbsp;&nbsp;Easy column manipulation
1130
+ <a class="toc" id="Easy-column-manipulation" href="#a-607008668">3.2.1.3</a>&nbsp;&nbsp;Easy column manipulation
1127
1131
  </h4>
1128
1132
  <div class="content"><p>Launch a few terminals so that we have something to work with:
1129
1133
  <pre class="code">
@@ -1183,12 +1187,12 @@ curr_view.areas[<span style="color:#00D; font-weight:bold">3</span>].push terms
1183
1187
  <p>Close the terminals we launched earlier:
1184
1188
  <pre class="code">
1185
1189
  terms = curr_view.clients.select {|c| colors.include? c.label.read }
1186
- terms.each {|c| c.ctl.write <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">kill</span><span style="color:#710">&quot;</span></span> }
1190
+ terms.each {|c| c.kill }
1187
1191
  </pre></p></div>
1188
1192
  </div>
1189
1193
  <div class="section">
1190
1194
  <h4 class="title">
1191
- <a class="toc" id="Easy-client-manipulation" href="#a-606129268">3.2.1.4</a>&nbsp;&nbsp;Easy client manipulation
1195
+ <a class="toc" id="Easy-client-manipulation" href="#a-607011198">3.2.1.4</a>&nbsp;&nbsp;Easy client manipulation
1192
1196
  </h4>
1193
1197
  <div class="content"><p>Launch a few terminals so that we have something to work with:
1194
1198
  <pre class="code">
@@ -1259,12 +1263,12 @@ red.send curr_view.areas.last
1259
1263
  <p>Close the terminals we launched earlier:
1260
1264
  <pre class="code">
1261
1265
  terms = curr_view.clients.select {|c| colors.include? c.label.read }
1262
- terms.each {|c| c.ctl.write <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">kill</span><span style="color:#710">&quot;</span></span> }
1266
+ terms.each {|c| c.kill }
1263
1267
  </pre></p></div>
1264
1268
  </div>
1265
1269
  <div class="section">
1266
1270
  <h4 class="title">
1267
- <a class="toc" id="Traversing-the-file-system" href="#a-606134168">3.2.1.5</a>&nbsp;&nbsp;Traversing the file system
1271
+ <a class="toc" id="Traversing-the-file-system" href="#a-607013848">3.2.1.5</a>&nbsp;&nbsp;Traversing the file system
1268
1272
  </h4>
1269
1273
  <div class="content"><p>Show the root node of wmii&#8217;s IXP file system:
1270
1274
  <pre class="code">
@@ -1331,7 +1335,7 @@ b.exist? <span style="color:#888">#=&gt; false</span>
1331
1335
  </div>
1332
1336
  <div class="section">
1333
1337
  <h3 class="title">
1334
- <a class="toc" id="Available-commands" href="#a-606141278">3.2.2</a>&nbsp;&nbsp;Available commands
1338
+ <a class="toc" id="Available-commands" href="#a-607016918">3.2.2</a>&nbsp;&nbsp;Available commands
1335
1339
  </h3>
1336
1340
  <div class="content">The following table lists all methods provided by the <code class="code"><span style="color:#036; font-weight:bold">Rumai</span></code> module and its subordinates. See the <a href="api/index.html">API documentation</a> for more extensive documentation.
1337
1341
 
@@ -1476,13 +1480,6 @@ Checks if this area is a column in the managed area.
1476
1480
  <td> <code class="code"><span style="color:#036; font-weight:bold">Rumai</span>::<span style="color:#036; font-weight:bold">Area</span><span style="color:#888">#concat(aArea)</span></code> </td>
1477
1481
  <td> <p>
1478
1482
  Concatenates the given area to the bottom of this area.
1479
- </p>
1480
- </td>
1481
- </tr>
1482
- <tr>
1483
- <td> <code class="code"><span style="color:#036; font-weight:bold">Rumai</span>::<span style="color:#036; font-weight:bold">Area</span><span style="color:#888">#ctl_id()</span></code> </td>
1484
- <td> <p>
1485
- Makes the ID usable in wmii&#8216;s /ctl commands.
1486
1483
  </p>
1487
1484
  </td>
1488
1485
  </tr>
@@ -1649,6 +1646,13 @@ Adds this client to the current grouping.
1649
1646
  <td> <code class="code"><span style="color:#036; font-weight:bold">Rumai</span>::<span style="color:#036; font-weight:bold">Client</span><span style="color:#888">#group?()</span></code> </td>
1650
1647
  <td> <p>
1651
1648
  Checks if this client is included in the current grouping.
1649
+ </p>
1650
+ </td>
1651
+ </tr>
1652
+ <tr>
1653
+ <td> <code class="code"><span style="color:#036; font-weight:bold">Rumai</span>::<span style="color:#036; font-weight:bold">Client</span><span style="color:#888">#kill()</span></code> </td>
1654
+ <td> <p>
1655
+ Terminates this client nicely (requests this window to be closed).
1652
1656
  </p>
1653
1657
  </td>
1654
1658
  </tr>
@@ -1841,7 +1845,7 @@ Returns the parent node of this node.
1841
1845
  </td>
1842
1846
  </tr>
1843
1847
  <tr>
1844
- <td> <code class="code"><span style="color:#036; font-weight:bold">Rumai</span>::<span style="color:#036; font-weight:bold">Node</span><span style="color:#888">#read()</span></code> </td>
1848
+ <td> <code class="code"><span style="color:#036; font-weight:bold">Rumai</span>::<span style="color:#036; font-weight:bold">Node</span><span style="color:#888">#read(*aArgs)</span></code> </td>
1845
1849
  <td> <p>
1846
1850
  Returns the entire content of this node. See Rumai::IXP::Client#read for
1847
1851
  details.
@@ -1959,7 +1963,7 @@ processed in the iteration.
1959
1963
  </td>
1960
1964
  </tr>
1961
1965
  <tr>
1962
- <td> <code class="code"><span style="color:#036; font-weight:bold">Rumai</span>::<span style="color:#036; font-weight:bold">View</span><span style="color:#888">#floating_area()</span></code> </td>
1966
+ <td> <code class="code"><span style="color:#036; font-weight:bold">Rumai</span>::<span style="color:#036; font-weight:bold">View</span><span style="color:#888">#floater()</span></code> </td>
1963
1967
  <td> <p>
1964
1968
  Returns the floating area of this view.
1965
1969
  </p>
@@ -2010,7 +2014,7 @@ Returns the currently focused view.
2010
2014
  </div>
2011
2015
  <div class="section">
2012
2016
  <h2 class="title">
2013
- <a class="toc" id="wmiirc" href="#a-607083858">3.3</a>&nbsp;&nbsp;Scripting your wmiirc
2017
+ <a class="toc" id="wmiirc" href="#a-607024218">3.3</a>&nbsp;&nbsp;Scripting your wmiirc
2014
2018
  </h2>
2015
2019
  <div class="content"><p>One important application of Rumai is the support of Ruby-based <tt>wmiirc</tt> configuration files. For a solid example of such application, take a look at my personal <tt>wmiirc</tt> which uses Rumai extensively:</p>
2016
2020
 
@@ -2027,9 +2031,13 @@ Returns the currently focused view.
2027
2031
  <hr style="display: none"/>
2028
2032
  <br style="display: none"/>
2029
2033
 
2034
+
2030
2035
  <div id="footer">
2031
- Generated on Sat Jan 26 19:52:45 -0800 2008 by <a href="http://gerbil.rubyforge.org">Gerbil</a> 1.1.0.
2036
+
2037
+ Generated on Mon Feb 04 22:22:40 -0800 2008 by <a href="http://gerbil.rubyforge.org">Gerbil</a> 2.0.0.
2032
2038
 
2039
+
2033
2040
  </div>
2041
+
2034
2042
  </body>
2035
2043
  </html>
data/lib/rumai/fs.rb CHANGED
@@ -67,14 +67,14 @@ module Rumai
67
67
 
68
68
  # Returns the entire content of this node.
69
69
  # See Rumai::IXP::Client#read for details.
70
- def read
71
- AGENT.read @path
70
+ def read *aArgs
71
+ AGENT.read @path, *aArgs
72
72
  end
73
73
 
74
74
  # Invokes the given block for every line in the content of this node.
75
75
  def each_line &aBlock #:yields: line
76
76
  open do |file|
77
- until (chunk = file.read_partial).empty?
77
+ until (chunk = file.read(true)).empty?
78
78
  chunk.each_line(&aBlock)
79
79
  end
80
80
  end
@@ -29,8 +29,7 @@ module Rumai
29
29
 
30
30
  # Unpacks the given number of bytes from this 9P2000 byte stream.
31
31
  def read_9p aNumBytes
32
- fmt = PACKING_FLAGS[aNumBytes]
33
- read(aNumBytes).unpack(fmt)[0]
32
+ read(aNumBytes).unpack(PACKING_FLAGS[aNumBytes])[0]
34
33
  end
35
34
  end
36
35
 
@@ -49,26 +48,16 @@ module Rumai
49
48
  @values = aFieldValues
50
49
  end
51
50
 
52
- # Returns the value of the given field inside this structure.
53
- def [] aField
54
- @values[aField.name]
55
- end
56
-
57
- # Sets the value of the given field inside this structure.
58
- def []= aField, aValue
59
- @values[aField.name] = aValue
60
- end
61
-
62
51
  # Transforms this object into a string of 9P2000 bytes.
63
52
  def to_9p
64
- fields.inject('') {|s,f| s << f.to_9p(self) }
53
+ @fields.inject('') {|s,f| s << f.to_9p(@values) }
65
54
  end
66
55
 
67
56
  # Populates this object with information
68
57
  # from the given 9P2000 byte stream.
69
58
  def load_9p aStream
70
- fields.each do |f|
71
- f.load_9p aStream, self
59
+ @fields.each do |f|
60
+ f.load_9p aStream, @values
72
61
  end
73
62
  end
74
63
 
@@ -119,14 +108,9 @@ module Rumai
119
108
 
120
109
  private
121
110
 
122
- # A field inside a Struct.
123
- #
124
- # * A field's value is considered to be:
125
- # * array of format when <code>counter && format.is_a? Class</code>
126
- # * raw byte string when <code>counter && format.nil?</code>
127
- #
128
- # Field values are stored as instance variables inside a structure.
129
- #
111
+ # A field inside a Struct. A field's value is considered to be:
112
+ # * array of format when <code>counter && format.is_a? Class</code>
113
+ # * raw byte string when <code>counter && format.nil?</code>
130
114
  class Field
131
115
  attr_reader :name, :format, :counter, :countee
132
116
 
@@ -174,14 +158,14 @@ module Rumai
174
158
  end
175
159
 
176
160
  # Transforms this object into a string of 9P2000 bytes.
177
- def to_9p aStruct
178
- value_to_9p aStruct[self]
161
+ def to_9p aFieldValues
162
+ value_to_9p aFieldValues[@name]
179
163
  end
180
164
 
181
165
  # Populates this object with information
182
166
  # taken from the given 9P2000 byte stream.
183
- def load_9p aStream, aStruct
184
- aStruct[self] = value_from_9p aStream
167
+ def load_9p aStream, aFieldValues
168
+ aFieldValues[@name] = value_from_9p aStream
185
169
  end
186
170
 
187
171
  private
@@ -200,15 +184,15 @@ module Rumai
200
184
 
201
185
  # Methods for a field that counts the length of another field.
202
186
  module CounterField
203
- def to_9p aStruct
204
- value_to_9p aStruct[@countee].length
187
+ def to_9p aFieldValues
188
+ value_to_9p aFieldValues[@countee.name].length
205
189
  end
206
190
  end
207
191
 
208
192
  # Methods for a field whose length is counted by another field.
209
193
  module CounteeField
210
- def to_9p aStruct
211
- value = aStruct[self]
194
+ def to_9p aFieldValues
195
+ value = aFieldValues[@name]
212
196
 
213
197
  if @format
214
198
  value.map {|v| value_to_9p v}.join
@@ -217,10 +201,10 @@ module Rumai
217
201
  end
218
202
  end
219
203
 
220
- def load_9p aStream, aStruct
221
- count = aStruct[@counter].to_i
204
+ def load_9p aStream, aFieldValues
205
+ count = aFieldValues[@counter.name].to_i
222
206
 
223
- aStruct[self] =
207
+ aFieldValues[@name] =
224
208
  if @format
225
209
  Array.new(count) { value_from_9p aStream }
226
210
  else
@@ -614,8 +598,7 @@ class String
614
598
  # Creates a new instance of this class from the
615
599
  # given 9P2000 byte stream and returns the instance.
616
600
  def self.from_9p aStream
617
- count = aStream.read_9p(2)
618
- aStream.read(count)
601
+ aStream.read(aStream.read_9p(2))
619
602
  end
620
603
  end
621
604