rumai 1.0.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/doc/api/classes/Integer.src/M000002.html +1 -1
- data/doc/api/classes/Rumai.html +1 -1
- data/doc/api/classes/Rumai.src/M000015.html +1 -1
- data/doc/api/classes/Rumai.src/M000016.html +1 -1
- data/doc/api/classes/Rumai.src/M000017.html +1 -1
- data/doc/api/classes/Rumai.src/M000018.html +1 -1
- data/doc/api/classes/Rumai.src/M000019.html +1 -1
- data/doc/api/classes/Rumai.src/M000020.html +1 -1
- data/doc/api/classes/Rumai.src/M000021.html +1 -1
- data/doc/api/classes/Rumai.src/M000022.html +1 -1
- data/doc/api/classes/Rumai.src/M000023.html +1 -1
- data/doc/api/classes/Rumai.src/M000024.html +1 -1
- data/doc/api/classes/Rumai.src/M000025.html +1 -1
- data/doc/api/classes/Rumai.src/M000026.html +1 -1
- data/doc/api/classes/Rumai/Area.html +87 -87
- data/doc/api/classes/Rumai/Area.src/{M000091.html → M000079.html} +5 -8
- data/doc/api/classes/Rumai/Area.src/M000080.html +4 -5
- data/doc/api/classes/Rumai/Area.src/M000081.html +3 -3
- data/doc/api/classes/Rumai/Area.src/M000082.html +5 -5
- data/doc/api/classes/Rumai/Area.src/M000083.html +3 -3
- data/doc/api/classes/Rumai/Area.src/M000084.html +3 -3
- data/doc/api/classes/Rumai/Area.src/M000085.html +4 -4
- data/doc/api/classes/Rumai/Area.src/M000086.html +4 -4
- data/doc/api/classes/Rumai/Area.src/M000087.html +4 -4
- data/doc/api/classes/Rumai/Area.src/M000088.html +4 -4
- data/doc/api/classes/Rumai/Area.src/M000089.html +4 -4
- data/doc/api/classes/Rumai/Area.src/M000090.html +7 -3
- data/doc/api/classes/Rumai/Area.src/M000092.html +23 -0
- data/doc/api/classes/Rumai/Area.src/M000093.html +8 -3
- data/doc/api/classes/Rumai/Area.src/M000094.html +4 -14
- data/doc/api/classes/Rumai/Area.src/M000095.html +17 -4
- data/doc/api/classes/Rumai/Chain.html +18 -18
- data/doc/api/classes/Rumai/Chain.src/{M000079.html → M000076.html} +4 -4
- data/doc/api/classes/Rumai/Chain.src/M000077.html +4 -4
- data/doc/api/classes/Rumai/Chain.src/M000078.html +4 -4
- data/doc/api/classes/Rumai/Client.html +48 -30
- data/doc/api/classes/Rumai/Client.src/M000113.html +18 -0
- data/doc/api/classes/Rumai/Client.src/M000114.html +4 -4
- data/doc/api/classes/Rumai/Client.src/M000115.html +5 -5
- data/doc/api/classes/Rumai/Client.src/M000116.html +26 -5
- data/doc/api/classes/Rumai/Client.src/M000117.html +5 -25
- data/doc/api/classes/Rumai/Client.src/M000118.html +4 -13
- data/doc/api/classes/Rumai/Client.src/M000119.html +4 -5
- data/doc/api/classes/Rumai/Client.src/M000120.html +1 -1
- data/doc/api/classes/Rumai/Client.src/M000121.html +1 -1
- data/doc/api/classes/Rumai/Client.src/M000122.html +1 -1
- data/doc/api/classes/Rumai/Client.src/M000123.html +1 -1
- data/doc/api/classes/Rumai/Client.src/M000124.html +1 -1
- data/doc/api/classes/Rumai/Client.src/M000125.html +1 -1
- data/doc/api/classes/Rumai/Client.src/M000126.html +1 -1
- data/doc/api/classes/Rumai/Client.src/M000127.html +1 -1
- data/doc/api/classes/Rumai/Client.src/M000128.html +1 -1
- data/doc/api/classes/Rumai/Client.src/M000129.html +1 -1
- data/doc/api/classes/Rumai/Client.src/M000130.html +1 -1
- data/doc/api/classes/Rumai/ClientContainer.src/M000027.html +1 -1
- data/doc/api/classes/Rumai/ClientContainer.src/M000028.html +1 -1
- data/doc/api/classes/Rumai/ClientContainer.src/M000029.html +1 -1
- data/doc/api/classes/Rumai/IXP/Agent.html +77 -77
- data/doc/api/classes/Rumai/IXP/Agent.src/M000044.html +53 -0
- data/doc/api/classes/Rumai/IXP/Agent.src/M000045.html +36 -0
- data/doc/api/classes/Rumai/IXP/Agent.src/M000046.html +20 -28
- data/doc/api/classes/Rumai/IXP/Agent.src/M000047.html +5 -29
- data/doc/api/classes/Rumai/IXP/Agent.src/M000048.html +7 -24
- data/doc/api/classes/Rumai/IXP/Agent.src/M000049.html +5 -5
- data/doc/api/classes/Rumai/IXP/Agent.src/M000050.html +18 -7
- data/doc/api/classes/Rumai/IXP/Agent.src/M000051.html +5 -6
- data/doc/api/classes/Rumai/IXP/Agent.src/M000052.html +4 -19
- data/doc/api/classes/Rumai/IXP/Agent.src/M000053.html +7 -5
- data/doc/api/classes/Rumai/IXP/Agent.src/M000054.html +6 -4
- data/doc/api/classes/Rumai/IXP/Agent.src/M000055.html +6 -7
- data/doc/api/classes/Rumai/IXP/Agent.src/M000056.html +8 -6
- data/doc/api/classes/Rumai/IXP/Agent.src/M000057.html +9 -6
- data/doc/api/classes/Rumai/IXP/Agent.src/M000058.html +5 -8
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.html +93 -35
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000060.html +23 -0
- data/doc/api/classes/Rumai/IXP/{Struct/Field.src/M000040.html → Agent/FidStream.src/M000061.html} +5 -4
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000062.html +8 -8
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000063.html +4 -7
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000064.html +12 -9
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000065.html +21 -11
- data/doc/api/classes/Rumai/IXP/Agent/MODES.html +5 -5
- data/doc/api/classes/Rumai/IXP/Agent/MODES.src/{M000061.html → M000059.html} +0 -0
- data/doc/api/classes/Rumai/IXP/Agent/RangedPool.html +16 -16
- data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000067.html +22 -0
- data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000068.html +21 -8
- data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000069.html +4 -18
- data/doc/api/classes/Rumai/IXP/Fcall.html +21 -21
- data/doc/api/classes/Rumai/IXP/Fcall.src/M000070.html +20 -0
- data/doc/api/classes/Rumai/IXP/Fcall.src/M000071.html +11 -6
- data/doc/api/classes/Rumai/IXP/Fcall.src/M000072.html +4 -11
- data/doc/api/classes/Rumai/IXP/Fcall.src/M000073.html +3 -3
- data/doc/api/classes/Rumai/IXP/Stat.html +5 -5
- data/doc/api/classes/Rumai/IXP/Stat.src/{M000076.html → M000075.html} +1 -1
- data/doc/api/classes/Rumai/IXP/Stream.html +5 -5
- data/doc/api/classes/Rumai/IXP/Stream.src/{M000045.html → M000043.html} +1 -2
- data/doc/api/classes/Rumai/IXP/Struct.html +11 -47
- data/doc/api/classes/Rumai/IXP/Struct.src/M000030.html +1 -1
- data/doc/api/classes/Rumai/IXP/Struct.src/M000031.html +4 -4
- data/doc/api/classes/Rumai/IXP/Struct.src/M000032.html +5 -3
- data/doc/api/classes/Rumai/IXP/Struct.src/M000033.html +43 -4
- data/doc/api/classes/Rumai/IXP/Struct/Field.html +34 -42
- data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000034.html +21 -0
- data/doc/api/classes/Rumai/IXP/Struct/Field.src/{M000041.html → M000035.html} +7 -4
- data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000036.html +6 -7
- data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000037.html +13 -5
- data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000038.html +4 -6
- data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000039.html +4 -15
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.html +12 -12
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.src/{M000043.html → M000041.html} +3 -3
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.src/{M000044.html → M000042.html} +4 -4
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.html +6 -6
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.src/{M000042.html → M000040.html} +3 -3
- data/doc/api/classes/Rumai/IXP/Terror.html +5 -5
- data/doc/api/classes/Rumai/IXP/Terror.src/{M000075.html → M000074.html} +1 -1
- data/doc/api/classes/Rumai/Node.html +88 -88
- data/doc/api/classes/Rumai/Node.src/M000096.html +18 -0
- data/doc/api/classes/Rumai/Node.src/M000097.html +4 -4
- data/doc/api/classes/Rumai/Node.src/M000098.html +8 -4
- data/doc/api/classes/Rumai/Node.src/M000099.html +4 -8
- data/doc/api/classes/Rumai/Node.src/M000100.html +4 -4
- data/doc/api/classes/Rumai/Node.src/M000101.html +4 -4
- data/doc/api/classes/Rumai/Node.src/M000102.html +4 -4
- data/doc/api/classes/Rumai/Node.src/M000103.html +8 -4
- data/doc/api/classes/Rumai/Node.src/M000104.html +4 -8
- data/doc/api/classes/Rumai/Node.src/M000105.html +4 -4
- data/doc/api/classes/Rumai/Node.src/M000106.html +4 -4
- data/doc/api/classes/Rumai/Node.src/M000107.html +4 -4
- data/doc/api/classes/Rumai/Node.src/M000108.html +4 -4
- data/doc/api/classes/Rumai/Node.src/M000109.html +4 -4
- data/doc/api/classes/Rumai/Node.src/M000110.html +5 -5
- data/doc/api/classes/Rumai/Node.src/M000111.html +7 -5
- data/doc/api/classes/Rumai/Node.src/M000112.html +12 -5
- data/doc/api/classes/Rumai/View.html +2 -2
- data/doc/api/classes/Rumai/View.src/M000131.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000132.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000133.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000134.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000135.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000136.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000137.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000138.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000139.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000140.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000141.html +3 -3
- data/doc/api/classes/Rumai/View.src/M000142.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000143.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000144.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000145.html +1 -1
- data/doc/api/classes/Rumai/View.src/M000146.html +1 -1
- data/doc/api/classes/String.src/M000005.html +1 -1
- data/doc/api/classes/String.src/M000006.html +2 -3
- data/doc/api/classes/Time.src/M000003.html +1 -1
- data/doc/api/classes/Time.src/M000004.html +1 -1
- data/doc/api/created.rid +1 -1
- data/doc/api/files/lib/rumai/fs_rb.html +1 -1
- data/doc/api/files/lib/rumai/ixp/message_rb.html +1 -1
- data/doc/api/files/lib/rumai/ixp/transport_rb.html +1 -1
- data/doc/api/files/lib/rumai/nfo_rb.html +1 -1
- data/doc/api/files/lib/rumai/wm_rb.html +1 -1
- data/doc/api/fr_method_index.html +91 -91
- data/doc/guide.erb +2 -2
- data/doc/guide.html +49 -41
- data/lib/rumai/fs.rb +3 -3
- data/lib/rumai/ixp/message.rb +19 -36
- data/lib/rumai/ixp/transport.rb +98 -85
- data/lib/rumai/nfo.rb +2 -2
- data/lib/rumai/wm.rb +15 -25
- metadata +24 -25
- data/doc/api/classes/Rumai/Area.src/M000096.html +0 -31
- data/doc/api/classes/Rumai/IXP/Agent.src/M000059.html +0 -23
- data/doc/api/classes/Rumai/IXP/Agent.src/M000060.html +0 -19
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000066.html +0 -36
- data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000070.html +0 -20
- data/doc/api/classes/Rumai/IXP/Fcall.src/M000074.html +0 -18
- data/doc/api/classes/Rumai/IXP/Struct.src/M000034.html +0 -20
- data/doc/api/classes/Rumai/IXP/Struct.src/M000035.html +0 -57
- data/doc/api/classes/Rumai/Node.src/M000113.html +0 -27
- 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 %> |
|
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.
|
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="
|
5
|
+
<meta name="date" content="04 February 2008"/>
|
6
6
|
<meta name="author" content="Suraj N. Kurapati"/>
|
7
|
-
<meta name="generator" content="Gerbil
|
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
|
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
|
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">
|
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 <a id="a-
|
769
|
+
<div id="toc"><h1>Contents</h1> <ul><li>1 <a id="a-606974828" href="#Introduction">Introduction</a><ul><li>1.1 <a id="a-606979088" href="#Resources">Resources</a></li><li>1.2 <a id="a-606982558" href="#License">License</a></li></ul></li><li>2 <a id="a-606985268" href="#Setup">Setup</a><ul><li>2.1 <a id="a-606986748" href="#Requirements">Requirements</a></li><li>2.2 <a id="a-606988778" href="#Installation">Installation</a></li><li>2.3 <a id="a-606992388" href="#Manifest">Manifest</a></li><li>2.4 <a id="a-606994568" href="#Version-numbering-system">Version numbering system</a></li></ul></li><li>3 <a id="a-606997088" href="#Usage">Usage</a><ul><li>3.1 <a id="a-606998598" href="#Concepts">Concepts</a></li><li>3.2 <a id="a-607000638" href="#shell">Interactive shell</a><ul><li>3.2.1 <a id="a-607002378" href="#Live-demonstration">Live demonstration</a><ul><li>3.2.1.1 <a id="a-607004068" href="#Automated-client-arrangement">Automated client arrangement</a></li><li>3.2.1.2 <a id="a-607006288" href="#Multiple-client-grouping">Multiple client grouping</a></li><li>3.2.1.3 <a id="a-607008668" href="#Easy-column-manipulation">Easy column manipulation</a></li><li>3.2.1.4 <a id="a-607011198" href="#Easy-client-manipulation">Easy client manipulation</a></li><li>3.2.1.5 <a id="a-607013848" href="#Traversing-the-file-system">Traversing the file system</a></li></ul></li><li>3.2.2 <a id="a-607016918" href="#Available-commands">Available commands</a></li></ul></li><li>3.3 <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-
|
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-
|
798
|
+
<a class="toc" id="Resources" href="#a-606979088">1.1</a> 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-
|
813
|
+
<a class="toc" id="License" href="#a-606982558">1.2</a> License
|
810
814
|
</h2>
|
811
815
|
<div class="content"><p>Copyright 2006 Suraj N. Kurapati <SNK at GNA dot ORG></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-
|
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-
|
860
|
+
<a class="toc" id="Requirements" href="#a-606986748">2.1</a> 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>
|
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-
|
882
|
+
<a class="toc" id="Installation" href="#a-606988778">2.2</a> 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
|
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-
|
910
|
+
<a class="toc" id="Manifest" href="#a-606992388">2.3</a> 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’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-
|
947
|
+
<a class="toc" id="Version-numbering-system" href="#a-606994568">2.4</a> 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’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-
|
983
|
+
<a class="toc" id="Usage" href="#a-606997088">3</a>
|
980
984
|
|
981
985
|
<br/>
|
982
986
|
|
@@ -985,7 +989,7 @@ Inside Rumai’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-
|
992
|
+
<a class="toc" id="Concepts" href="#a-606998598">3.1</a> 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’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-
|
1008
|
+
<a class="toc" id="shell" href="#a-607000638">3.2</a> Interactive shell
|
1005
1009
|
</h2>
|
1006
1010
|
<div class="content"><p>Run the following command to start Rumai’s interactive shell (IRB):</p>
|
1007
1011
|
|
@@ -1029,14 +1033,14 @@ Inside Rumai’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-
|
1036
|
+
<a class="toc" id="Live-demonstration" href="#a-607002378">3.2.1</a> 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 & 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-
|
1043
|
+
<a class="toc" id="Automated-client-arrangement" href="#a-607004068">3.2.1.1</a> 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.
|
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-
|
1078
|
+
<a class="toc" id="Multiple-client-grouping" href="#a-607006288">3.2.1.2</a> 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.
|
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-
|
1130
|
+
<a class="toc" id="Easy-column-manipulation" href="#a-607008668">3.2.1.3</a> 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.
|
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-
|
1195
|
+
<a class="toc" id="Easy-client-manipulation" href="#a-607011198">3.2.1.4</a> 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.
|
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-
|
1271
|
+
<a class="toc" id="Traversing-the-file-system" href="#a-607013848">3.2.1.5</a> Traversing the file system
|
1268
1272
|
</h4>
|
1269
1273
|
<div class="content"><p>Show the root node of wmii’s IXP file system:
|
1270
1274
|
<pre class="code">
|
@@ -1331,7 +1335,7 @@ b.exist? <span style="color:#888">#=> false</span>
|
|
1331
1335
|
</div>
|
1332
1336
|
<div class="section">
|
1333
1337
|
<h3 class="title">
|
1334
|
-
<a class="toc" id="Available-commands" href="#a-
|
1338
|
+
<a class="toc" id="Available-commands" href="#a-607016918">3.2.2</a> 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‘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">#
|
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-
|
2017
|
+
<a class="toc" id="wmiirc" href="#a-607024218">3.3</a> 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
|
-
|
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.
|
77
|
+
until (chunk = file.read(true)).empty?
|
78
78
|
chunk.each_line(&aBlock)
|
79
79
|
end
|
80
80
|
end
|
data/lib/rumai/ixp/message.rb
CHANGED
@@ -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
|
-
|
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(
|
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,
|
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
|
-
# *
|
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
|
178
|
-
value_to_9p
|
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,
|
184
|
-
|
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
|
204
|
-
value_to_9p
|
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
|
211
|
-
value =
|
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,
|
221
|
-
count =
|
204
|
+
def load_9p aStream, aFieldValues
|
205
|
+
count = aFieldValues[@counter.name].to_i
|
222
206
|
|
223
|
-
|
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
|
-
|
618
|
-
aStream.read(count)
|
601
|
+
aStream.read(aStream.read_9p(2))
|
619
602
|
end
|
620
603
|
end
|
621
604
|
|