rumai 2.1.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. data/CREDITS +1 -0
  2. data/doc/api/classes/Integer.html +5 -5
  3. data/doc/api/classes/Rumai.html +178 -215
  4. data/doc/api/classes/Rumai/Area.html +194 -126
  5. data/doc/api/classes/Rumai/Chain.html +21 -21
  6. data/doc/api/classes/Rumai/Client.html +506 -142
  7. data/doc/api/classes/Rumai/ClientContainer.html +22 -22
  8. data/doc/api/classes/Rumai/IXP/Agent.html +55 -55
  9. data/doc/api/classes/Rumai/IXP/Agent/FidStream.html +30 -30
  10. data/doc/api/classes/Rumai/IXP/Agent/MODES.html +5 -5
  11. data/doc/api/classes/Rumai/IXP/Fcall.html +25 -25
  12. data/doc/api/classes/Rumai/IXP/Stat.html +5 -5
  13. data/doc/api/classes/Rumai/IXP/Stream.html +5 -5
  14. data/doc/api/classes/Rumai/IXP/Struct.html +20 -20
  15. data/doc/api/classes/Rumai/IXP/Struct/Field.html +30 -30
  16. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.html +10 -10
  17. data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.html +5 -5
  18. data/doc/api/classes/Rumai/IXP/Terror.html +5 -5
  19. data/doc/api/classes/Rumai/Node.html +45 -45
  20. data/doc/api/classes/Rumai/View.html +226 -125
  21. data/doc/api/classes/Rumai/WidgetImpl.html +1 -1
  22. data/doc/api/classes/String.html +10 -10
  23. data/doc/api/classes/Time.html +10 -10
  24. data/doc/api/created.rid +1 -1
  25. data/doc/api/files/CREDITS.html +4 -1
  26. data/doc/api/files/lib/rumai/fs_rb.html +1 -1
  27. data/doc/api/files/lib/rumai/wm_rb.html +1 -1
  28. data/doc/api/files/lib/rumai_rb.html +1 -1
  29. data/doc/api/panel/search_index.js +1 -1
  30. data/doc/history.erb +63 -0
  31. data/doc/index.erb +2 -2
  32. data/doc/index.xhtml +215 -67
  33. data/doc/intro.erb +4 -1
  34. data/doc/usage.erb +1 -1
  35. data/lib/rumai.rb +2 -2
  36. data/lib/rumai/wm.rb +200 -130
  37. metadata +2 -2
@@ -33,7 +33,7 @@
33
33
  The basic building block of the WM hierarchy.
34
34
  </p>
35
35
  <p>
36
- NOTE: Inheritors must have a &#8216;current&#8217; class method. NOTE:
36
+ NOTE: Inheritors must define a &#8216;curr&#8217; class method. NOTE:
37
37
  Inheritors must override the &#8216;focus&#8217; method.
38
38
  </p>
39
39
 
@@ -56,7 +56,7 @@ count[2] s[count]
56
56
  <dd>
57
57
  <ul>
58
58
 
59
- <li><a href="#M000156">from_9p</a></li>
59
+ <li><a href="#M000171">from_9p</a></li>
60
60
 
61
61
  </ul>
62
62
  </dd>
@@ -65,7 +65,7 @@ count[2] s[count]
65
65
  <dd>
66
66
  <ul>
67
67
 
68
- <li><a href="#M000155">to_9p</a></li>
68
+ <li><a href="#M000170">to_9p</a></li>
69
69
 
70
70
  </ul>
71
71
  </dd>
@@ -87,9 +87,9 @@ count[2] s[count]
87
87
  <div class="sectiontitle">Class Public methods</div>
88
88
 
89
89
  <div class="method">
90
- <div class="title" id="M000156">
90
+ <div class="title" id="M000171">
91
91
 
92
- <a name="M000156"></a><b>from_9p</b>(stream)
92
+ <a name="M000171"></a><b>from_9p</b>(stream)
93
93
 
94
94
  </div>
95
95
 
@@ -106,12 +106,12 @@ returns the instance.
106
106
 
107
107
  <div class="sourcecode">
108
108
  <p class="source-link">
109
- Source: <a href="javascript:toggleSource('M000156_source')" id="l_M000156_source">show</a>
109
+ Source: <a href="javascript:toggleSource('M000171_source')" id="l_M000171_source">show</a>
110
110
 
111
111
  | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/ixp/message.rb#L690" target="_blank" class="github_url">on GitHub</a>
112
112
 
113
113
  </p>
114
- <div id="M000156_source" class="dyn-source">
114
+ <div id="M000171_source" class="dyn-source">
115
115
  <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/message.rb, line 690</span>
116
116
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_9p</span> <span class="ruby-identifier">stream</span>
117
117
  <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">stream</span>.<span class="ruby-identifier">read_9p</span>(<span class="ruby-value">2</span>))
@@ -124,9 +124,9 @@ returns the instance.
124
124
  <div class="sectiontitle">Instance Public methods</div>
125
125
 
126
126
  <div class="method">
127
- <div class="title" id="M000155">
127
+ <div class="title" id="M000170">
128
128
 
129
- <a name="M000155"></a><b>to_9p</b>()
129
+ <a name="M000170"></a><b>to_9p</b>()
130
130
 
131
131
  </div>
132
132
 
@@ -142,12 +142,12 @@ Transforms this object into a string of 9P2000 bytes.
142
142
 
143
143
  <div class="sourcecode">
144
144
  <p class="source-link">
145
- Source: <a href="javascript:toggleSource('M000155_source')" id="l_M000155_source">show</a>
145
+ Source: <a href="javascript:toggleSource('M000170_source')" id="l_M000170_source">show</a>
146
146
 
147
147
  | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/ixp/message.rb#L682" target="_blank" class="github_url">on GitHub</a>
148
148
 
149
149
  </p>
150
- <div id="M000155_source" class="dyn-source">
150
+ <div id="M000170_source" class="dyn-source">
151
151
  <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/message.rb, line 682</span>
152
152
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_9p</span>
153
153
  <span class="ruby-identifier">length</span>.<span class="ruby-identifier">to_9p</span>(<span class="ruby-value">2</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-value">0</span>, <span class="ruby-constant">Rumai</span><span class="ruby-operator">::</span><span class="ruby-constant">IXP</span><span class="ruby-operator">::</span><span class="ruby-constant">BYTE2_MASK</span>]
@@ -49,7 +49,7 @@
49
49
  <dd>
50
50
  <ul>
51
51
 
52
- <li><a href="#M000158">from_9p</a></li>
52
+ <li><a href="#M000173">from_9p</a></li>
53
53
 
54
54
  </ul>
55
55
  </dd>
@@ -58,7 +58,7 @@
58
58
  <dd>
59
59
  <ul>
60
60
 
61
- <li><a href="#M000157">to_9p</a></li>
61
+ <li><a href="#M000172">to_9p</a></li>
62
62
 
63
63
  </ul>
64
64
  </dd>
@@ -80,9 +80,9 @@
80
80
  <div class="sectiontitle">Class Public methods</div>
81
81
 
82
82
  <div class="method">
83
- <div class="title" id="M000158">
83
+ <div class="title" id="M000173">
84
84
 
85
- <a name="M000158"></a><b>from_9p</b>(stream)
85
+ <a name="M000173"></a><b>from_9p</b>(stream)
86
86
 
87
87
  </div>
88
88
 
@@ -99,12 +99,12 @@ returns the instance.
99
99
 
100
100
  <div class="sourcecode">
101
101
  <p class="source-link">
102
- Source: <a href="javascript:toggleSource('M000158_source')" id="l_M000158_source">show</a>
102
+ Source: <a href="javascript:toggleSource('M000173_source')" id="l_M000173_source">show</a>
103
103
 
104
104
  | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/ixp/message.rb#L707" target="_blank" class="github_url">on GitHub</a>
105
105
 
106
106
  </p>
107
- <div id="M000158_source" class="dyn-source">
107
+ <div id="M000173_source" class="dyn-source">
108
108
  <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/message.rb, line 707</span>
109
109
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_9p</span> <span class="ruby-identifier">stream</span>
110
110
  <span class="ruby-identifier">at</span> <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">read_9p</span>(<span class="ruby-value">4</span>)
@@ -117,9 +117,9 @@ returns the instance.
117
117
  <div class="sectiontitle">Instance Public methods</div>
118
118
 
119
119
  <div class="method">
120
- <div class="title" id="M000157">
120
+ <div class="title" id="M000172">
121
121
 
122
- <a name="M000157"></a><b>to_9p</b>()
122
+ <a name="M000172"></a><b>to_9p</b>()
123
123
 
124
124
  </div>
125
125
 
@@ -135,12 +135,12 @@ Transforms this object into a string of 9P2000 bytes.
135
135
 
136
136
  <div class="sourcecode">
137
137
  <p class="source-link">
138
- Source: <a href="javascript:toggleSource('M000157_source')" id="l_M000157_source">show</a>
138
+ Source: <a href="javascript:toggleSource('M000172_source')" id="l_M000172_source">show</a>
139
139
 
140
140
  | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/ixp/message.rb#L699" target="_blank" class="github_url">on GitHub</a>
141
141
 
142
142
  </p>
143
- <div id="M000157_source" class="dyn-source">
143
+ <div id="M000172_source" class="dyn-source">
144
144
  <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/message.rb, line 699</span>
145
145
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_9p</span>
146
146
  <span class="ruby-identifier">to_i</span>.<span class="ruby-identifier">to_9p</span>(<span class="ruby-value">4</span>)
data/doc/api/created.rid CHANGED
@@ -1 +1 @@
1
- Sat, 09 May 2009 00:32:57 -0700
1
+ Mon, 11 May 2009 21:23:05 -0700
@@ -19,7 +19,7 @@
19
19
  </h1>
20
20
  <ul class="files">
21
21
  <li>CREDITS</li>
22
- <li>Last modified: Sat May 09 00:31:54 -0700 2009</li>
22
+ <li>Last modified: Sun May 10 20:13:31 -0700 2009</li>
23
23
  </ul>
24
24
  </div>
25
25
 
@@ -28,6 +28,9 @@
28
28
 
29
29
  <div class="description">
30
30
  <ul>
31
+ <li>[Christoph Blank](<a href="http://textmode.at">textmode.at</a>)
32
+
33
+ </li>
31
34
  <li>Michael Andrus
32
35
 
33
36
  </li>
@@ -19,7 +19,7 @@
19
19
  </h1>
20
20
  <ul class="files">
21
21
  <li>lib/rumai/fs.rb</li>
22
- <li>Last modified: Sat May 09 00:31:52 -0700 2009</li>
22
+ <li>Last modified: Sun May 10 19:16:50 -0700 2009</li>
23
23
  </ul>
24
24
  </div>
25
25
 
@@ -19,7 +19,7 @@
19
19
  </h1>
20
20
  <ul class="files">
21
21
  <li>lib/rumai/wm.rb</li>
22
- <li>Last modified: Sat May 09 00:31:52 -0700 2009</li>
22
+ <li>Last modified: Mon May 11 01:26:50 -0700 2009</li>
23
23
  </ul>
24
24
  </div>
25
25
 
@@ -19,7 +19,7 @@
19
19
  </h1>
20
20
  <ul class="files">
21
21
  <li>lib/rumai.rb</li>
22
- <li>Last modified: Sat May 09 00:31:54 -0700 2009</li>
22
+ <li>Last modified: Mon May 11 01:27:00 -0700 2009</li>
23
23
  </ul>
24
24
  </div>
25
25
 
@@ -1 +1 @@
1
- var search_data = {"index":{"info":[["IO","lib\/rumai\/ixp\/message.rb","classes\/IO.html"," < Object","",1],["Integer","lib\/rumai\/ixp\/message.rb","classes\/Integer.html"," < Object","",1],["Rumai","lib\/rumai\/ixp\/message.rb","classes\/Rumai.html","","Primitives for the 9P2000 protocol. See http:\/\/cm.bell-labs.com\/sys\/man\/5\/INDEX.html See http:\/\/swtch.com\/plan9port\/man\/man9\/",1],["Area","Rumai","classes\/Rumai\/Area.html"," < Object","A region that contains clients. This can be either the floating area or a column in the managed area.",1],["Chain","Rumai","classes\/Rumai\/Chain.html","","NOTE: Inheritors must override the 'chain' method. ",1],["Client","Rumai","classes\/Rumai\/Client.html"," < WidgetNode","A graphical program that is running in your current X Windows session. ",1],["ClientContainer","Rumai","classes\/Rumai\/ClientContainer.html","","NOTE: Inheritors should override the 'client_ids' method. ",1],["ExportInstanceMethods","Rumai","classes\/Rumai\/ExportInstanceMethods.html","","Makes instance methods accessible through class methods. This is done to emulate the File class: File.exist?",1],["IXP","Rumai","classes\/Rumai\/IXP.html","","",1],["Agent","Rumai::IXP","classes\/Rumai\/IXP\/Agent.html"," < Object","A thread-safe proxy that multiplexes many threads onto a single 9P2000 connection. ",1],["FidStream","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent\/FidStream.html"," < Object","Encapsulates I\/O access over a file handle (fid). NOTE: this class is NOT thread-safe. ",1],["MODES","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent\/MODES.html","","",1],["RangedPool","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent\/RangedPool.html"," < Object","A finite, thread-safe pool of range members. ",1],["Error","Rumai::IXP","classes\/Rumai\/IXP\/Error.html"," < StandardError","A common container for exceptions concerning IXP. ",1],["Fcall","Rumai::IXP","classes\/Rumai\/IXP\/Fcall.html"," < Object","A remote function call (fcall). ",1],["Qid","Rumai::IXP","classes\/Rumai\/IXP\/Qid.html"," < Object","Holds information about a file being accessed on a 9P2000 server. See http:\/\/cm.bell-labs.com\/magic\/man2html\/5\/intro",1],["Rattach","Rumai::IXP","classes\/Rumai\/IXP\/Rattach.html"," < Fcall","size[4] Rattach tag[2] qid[13] ",1],["Rauth","Rumai::IXP","classes\/Rumai\/IXP\/Rauth.html"," < Fcall","size[4] Rauth tag[2] aqid[13] ",1],["Rclunk","Rumai::IXP","classes\/Rumai\/IXP\/Rclunk.html"," < Fcall","size[4] Rclunk tag[2] ",1],["Rcreate","Rumai::IXP","classes\/Rumai\/IXP\/Rcreate.html"," < Fcall","size[4] Rcreate tag[2] qid[13] iounit[4] ",1],["Rerror","Rumai::IXP","classes\/Rumai\/IXP\/Rerror.html"," < Fcall","size[4] Rerror tag[2] ename[s] ",1],["Rflush","Rumai::IXP","classes\/Rumai\/IXP\/Rflush.html"," < Fcall","size[4] Rflush tag[2] ",1],["Ropen","Rumai::IXP","classes\/Rumai\/IXP\/Ropen.html"," < Fcall","size[4] Ropen tag[2] qid[13] iounit[4] ",1],["Rread","Rumai::IXP","classes\/Rumai\/IXP\/Rread.html"," < Fcall","size[4] Rread tag[2] count[4] data[count] ",1],["Rremove","Rumai::IXP","classes\/Rumai\/IXP\/Rremove.html"," < Fcall","size[4] Rremove tag[2] ",1],["Rstat","Rumai::IXP","classes\/Rumai\/IXP\/Rstat.html"," < Fcall","size[4] Rstat tag[2] stat[n] ",1],["Rversion","Rumai::IXP","classes\/Rumai\/IXP\/Rversion.html"," < Fcall","size[4] Rversion tag[2] msize[4] version[s] ",1],["Rwalk","Rumai::IXP","classes\/Rumai\/IXP\/Rwalk.html"," < Fcall","size[4] Rwalk tag[2] nwqid[2] nwqid*(wqid[13]) ",1],["Rwrite","Rumai::IXP","classes\/Rumai\/IXP\/Rwrite.html"," < Fcall","size[4] Rwrite tag[2] count[4] ",1],["Rwstat","Rumai::IXP","classes\/Rumai\/IXP\/Rwstat.html"," < Fcall","size[4] Rwstat tag[2] ",1],["Stat","Rumai::IXP","classes\/Rumai\/IXP\/Stat.html"," < Object","Holds information about a file on a 9P2000 server. See http:\/\/cm.bell-labs.com\/magic\/man2html\/5\/stat",1],["Stream","Rumai::IXP","classes\/Rumai\/IXP\/Stream.html","","A 9P2000 byte stream. ",1],["Struct","Rumai::IXP","classes\/Rumai\/IXP\/Struct.html","","A serializable 9P2000 data structure. ",1],["Field","Rumai::IXP::Struct","classes\/Rumai\/IXP\/Struct\/Field.html"," < Object","A field inside a Struct. A field's value is considered to be either: * array of format when <code>counter",1],["CounteeField","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field\/CounteeField.html","","Methods for a field whose length is counted by another field. ",1],["CounterField","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field\/CounterField.html","","Methods for a field that counts the length of another field. ",1],["Tattach","Rumai::IXP","classes\/Rumai\/IXP\/Tattach.html"," < Fcall","size[4] Tattach tag[2] fid[4] afid[4] uname[s] aname[s] ",1],["Tauth","Rumai::IXP","classes\/Rumai\/IXP\/Tauth.html"," < Fcall","size[4] Tauth tag[2] afid[4] uname[s] aname[s] ",1],["Tclunk","Rumai::IXP","classes\/Rumai\/IXP\/Tclunk.html"," < Fcall","size[4] Tclunk tag[2] fid[4] ",1],["Tcreate","Rumai::IXP","classes\/Rumai\/IXP\/Tcreate.html"," < Fcall","size[4] Tcreate tag[2] fid[4] name[s] perm[4] mode[1] ",1],["Terror","Rumai::IXP","classes\/Rumai\/IXP\/Terror.html"," < Fcall","illegal ",1],["Tflush","Rumai::IXP","classes\/Rumai\/IXP\/Tflush.html"," < Fcall","size[4] Tflush tag[2] oldtag[2] ",1],["Topen","Rumai::IXP","classes\/Rumai\/IXP\/Topen.html"," < Fcall","size[4] Topen tag[2] fid[4] mode[1] ",1],["Tread","Rumai::IXP","classes\/Rumai\/IXP\/Tread.html"," < Fcall","size[4] Tread tag[2] fid[4] offset[8] count[4] ",1],["Tremove","Rumai::IXP","classes\/Rumai\/IXP\/Tremove.html"," < Fcall","size[4] Tremove tag[2] fid[4] ",1],["Tstat","Rumai::IXP","classes\/Rumai\/IXP\/Tstat.html"," < Fcall","size[4] Tstat tag[2] fid[4] ",1],["Tversion","Rumai::IXP","classes\/Rumai\/IXP\/Tversion.html"," < Fcall","size[4] Tversion tag[2] msize[4] version[s] ",1],["Twalk","Rumai::IXP","classes\/Rumai\/IXP\/Twalk.html"," < Fcall","size[4] Twalk tag[2] fid[4] newfid[4] nwname[2] nwname*(wname[s]) ",1],["Twrite","Rumai::IXP","classes\/Rumai\/IXP\/Twrite.html"," < Fcall","size[4] Twrite tag[2] fid[4] offset[8] count[4] data[count] ",1],["Twstat","Rumai::IXP","classes\/Rumai\/IXP\/Twstat.html"," < Fcall","size[4] Twstat tag[2] fid[4] stat[n] ",1],["Node","Rumai","classes\/Rumai\/Node.html"," < Object","An entry in the IXP file system. ",1],["View","Rumai","classes\/Rumai\/View.html"," < WidgetNode","The visualization of a tag. ",1],["String","lib\/rumai\/ixp\/message.rb","classes\/String.html"," < Object","count[2] s[count] ",1],["StringIO","lib\/rumai\/ixp\/message.rb","classes\/StringIO.html"," < Object","",1],["Time","lib\/rumai\/ixp\/message.rb","classes\/Time.html"," < Object","",1],["<<","Rumai::Area","classes\/Rumai\/Area.html#M000075","(*clients)","Alias for #push",2],["<<","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000083","(content)","Alias for #write",2],["[]","Rumai::Node","classes\/Rumai\/Node.html#M000014","(sub_path)","Returns the given sub-path as a Node object. ",2],["__from_9p__","Rumai::IXP::Fcall","classes\/Rumai\/IXP\/Fcall.html#M000150","(stream)","Alias for #from_9p",2],["area","Rumai::Client","classes\/Rumai\/Client.html#M000037","(view = View.curr)","Returns the area that contains this client within the given view. ",2],["area_ids","Rumai::View","classes\/Rumai\/View.html#M000099","()","Returns the IDs of all areas in this view. ",2],["area_of_client","Rumai::View","classes\/Rumai\/View.html#M000096","(client_or_id)","Returns the area which contains the given client in this view. ",2],["areas","Rumai::View","classes\/Rumai\/View.html#M000101","()","Returns all areas in this view. ",2],["arrange_as_larswm","Rumai::View","classes\/Rumai\/View.html#M000109","()","Arranges the clients in this view, while maintaining their relative order, in the tiling fashion of LarsWM.",2],["arrange_in_diamond","Rumai::View","classes\/Rumai\/View.html#M000113","()","Arranges the clients in this view, while maintaining their relative order, in a (at best) equilateral",2],["arrange_in_grid","Rumai::View","classes\/Rumai\/View.html#M000111","(max_clients_per_column = nil)","Arranges the clients in this view, while maintaining their relative order, in a (at best) square grid.",2],["attach","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000108","(root_fid, auth_fid = Fcall::NOFID, auth_name = ENV['USER'])","Associates the given FID with the FS root. ",2],["chain","Rumai::Area","classes\/Rumai\/Area.html#M000063","()","Returns a list of all areas in the current view. ",2],["chain","Rumai::Chain","classes\/Rumai\/Chain.html#M000024","()","Returns an array of objects related to this one. ",2],["chain","Rumai::Client","classes\/Rumai\/Client.html#M000032","()","Returns a list of all clients in the current view. ",2],["chain","Rumai::View","classes\/Rumai\/View.html#M000090","()","Returns a list of all views. ",2],["children","Rumai::Node","classes\/Rumai\/Node.html#M000019","()","Returns all child nodes of this node. ",2],["clear","Rumai::Node","classes\/Rumai\/Node.html#M000023","()","Deletes all child nodes. ",2],["client_ids","Rumai","classes\/Rumai.html#M000015","()","Returns the IDs of the current set of clients. ",2],["client_ids","Rumai::Area","classes\/Rumai\/Area.html#M000065","()","Returns the IDs of the clients in this area. ",2],["client_ids","Rumai::ClientContainer","classes\/Rumai\/ClientContainer.html#M000053","()","Returns the IDs of the clients in this container. ",2],["client_ids","Rumai::View","classes\/Rumai\/View.html#M000092","(area_id = '\\S+')","Returns the IDs of the clients contained in the given area within this view. ",2],["clients","Rumai::ClientContainer","classes\/Rumai\/ClientContainer.html#M000054","()","Returns the clients contained in this container. ",2],["close","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000073","()","Closes this stream. ",2],["closed?","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000074","()","Returns true if this stream is closed. ",2],["clunk","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000110","(fid)","Retires the given FID from use. ",2],["column?","Rumai::Area","classes\/Rumai\/Area.html#M000060","()","Checks if this is a managed area (a column). ",2],["columns","Rumai::View","classes\/Rumai\/View.html#M000105","()","Returns all columns (managed areas) in this view. ",2],["concat","Rumai::Area","classes\/Rumai\/Area.html#M000079","(area)","Concatenates the given area to the bottom of this area. ",2],["countee=","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field.html#M000138","(field)","Sets the countee for this field (implying that this field counts the length of the given field). ",2],["counter=","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field.html#M000137","(field)","Sets the counter for this field (implying that the length of this field is counted by the given field).",2],["create","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000091","(path, mode = 'rw', perm = 0644)","Creates a new file at the given path that is accessible using the given modes for a user having the given",2],["create","Rumai::Node","classes\/Rumai\/Node.html#M000011","(*args)","Creates a file corresponding to this node on the IXP server. See Rumai::IXP::Client#create for details.",2],["curr","Rumai::Area","classes\/Rumai\/Area.html#M000061","()","Returns the currently focused area. ",2],["curr","Rumai::Client","classes\/Rumai\/Client.html#M000031","()","Returns the currently focused client. ",2],["curr","Rumai::View","classes\/Rumai\/View.html#M000087","()","Returns the currently focused view. ",2],["curr_area","Rumai","classes\/Rumai.html#M000119","()","",2],["curr_client","Rumai","classes\/Rumai.html#M000116","()","",2],["curr_tag","Rumai","classes\/Rumai.html#M000016","()","Returns the name of the currently focused tag. ",2],["curr_view","Rumai","classes\/Rumai.html#M000122","()","",2],["directory?","Rumai::IXP::Stat","classes\/Rumai\/IXP\/Stat.html#M000147","()","Tests if this file is a directory. ",2],["directory?","Rumai::Node","classes\/Rumai\/Node.html#M000003","()","Tests if this node is a directory. ",2],["each","Rumai::Area","classes\/Rumai\/Area.html#M000066","(&block)","Iterates through each client in this container. ",2],["each","Rumai::Node","classes\/Rumai\/Node.html#M000022","(&block)","Iterates through each child of this directory. ",2],["each","Rumai::View","classes\/Rumai\/View.html#M000093","(&block)","Iterates through each area in this view. ",2],["each_column","Rumai::View","classes\/Rumai\/View.html#M000106","(starting_column_id = 1)","Resiliently iterates through possibly destructive changes to each column. That is, if the given block",2],["each_line","Rumai::Node","classes\/Rumai\/Node.html#M000007","(&block)","Invokes the given block for every line in the content of this node. ",2],["entries","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000086","(path)","Returns the names of all files inside the directory whose path is given. ",2],["entries","Rumai::Node","classes\/Rumai\/Node.html#M000004","()","Returns the names of all files in this directory. ",2],["exist?","Rumai::Area","classes\/Rumai\/Area.html#M000064","()","Checks if this object exists in the chain. ",2],["exist?","Rumai::Node","classes\/Rumai\/Node.html#M000002","()","Tests if this node exists on the IXP server. ",2],["factory","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field.html#M000139","(format)","Returns a Field class that best represents the given format. ",2],["float?","Rumai::Area","classes\/Rumai\/Area.html#M000059","()","Checks if this area is the floating area. ",2],["floater","Rumai::View","classes\/Rumai\/View.html#M000102","()","Returns the floating area of this view. ",2],["focus","Rumai::Area","classes\/Rumai\/Area.html#M000068","()","Puts focus on this area. ",2],["focus","Rumai::Client","classes\/Rumai\/Client.html#M000033","(view = nil)","Focuses this client within the given view. ",2],["focus","Rumai::View","classes\/Rumai\/View.html#M000088","()","Focuses this view. ",2],["focus_area","Rumai","classes\/Rumai.html#M000127","(id)","",2],["focus_client","Rumai","classes\/Rumai.html#M000126","(id)","",2],["focus_view","Rumai","classes\/Rumai.html#M000128","(id)","",2],["from_9p","Rumai::IXP::Fcall","classes\/Rumai\/IXP\/Fcall.html#M000149","(stream)","Creates a new instance of this class from the given 9P2000 byte stream and returns the instance. ",2],["from_9p","String","classes\/String.html#M000156","(stream)","Creates a new instance of this class from the given 9P2000 byte stream and returns the instance. ",2],["from_9p","Time","classes\/Time.html#M000158","(stream)","Creates a new instance of this class from the given 9P2000 byte stream and returns the instance. ",2],["fs","Rumai","classes\/Rumai.html#M000008","()","Returns the root of IXP file system hierarchy. ",2],["group","Rumai::Client","classes\/Rumai\/Client.html#M000047","()","Adds this client to the current grouping. ",2],["group?","Rumai::Client","classes\/Rumai\/Client.html#M000046","()","Checks if this client is included in the current grouping. ",2],["grouping","Rumai","classes\/Rumai.html#M000021","()","Returns a list of all grouped clients in the currently focused view. If there are no grouped clients,",2],["grouping","Rumai::ClientContainer","classes\/Rumai\/ClientContainer.html#M000056","()","Returns all grouped clients in this container. ",2],["included","Rumai::IXP::Struct","classes\/Rumai\/IXP\/Struct.html#M000132","(target)","Provides a convenient DSL (for defining fields) to all objects which *include* this module. ",2],["insert","Rumai::Area","classes\/Rumai\/Area.html#M000076","(*clients)","Inserts the given clients after the currently focused client in this area. ",2],["kill","Rumai::Client","classes\/Rumai\/Client.html#M000036","()","Terminates this client nicely (requests this window to be closed). ",2],["layout=","Rumai::Area","classes\/Rumai\/Area.html#M000067","(mode)","Sets the layout of clients in this column. ",2],["length","Rumai::Area","classes\/Rumai\/Area.html#M000070","()","Returns the number of clients in this area. ",2],["length=","Rumai::Area","classes\/Rumai\/Area.html#M000080","(max_clients)","Ensures that this area has at most the given number of clients. Areas to the right of this one serve",2],["load_9p","Rumai::IXP::Struct","classes\/Rumai\/IXP\/Struct.html#M000131","(stream)","Populates this object with information from the given 9P2000 byte stream. ",2],["load_9p","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field.html#M000141","(stream, field_values)","Populates this object with information taken from the given 9P2000 byte stream. ",2],["load_9p","Rumai::IXP::Struct::Field::CounteeField","classes\/Rumai\/IXP\/Struct\/Field\/CounteeField.html#M000146","(stream, field_values)","",2],["manifest","Rumai::View","classes\/Rumai\/View.html#M000095","()","Returns the manifest of all areas and clients in this view. ",2],["method_missing","Rumai::Node","classes\/Rumai\/Node.html#M000025","(meth, *args)","Provides access to child nodes through method calls. ",2],["new","Rumai::Area","classes\/Rumai\/Area.html#M000058","(area_id, view = View.curr)","[view] the view object which contains this area ",2],["new","Rumai::Client","classes\/Rumai\/Client.html#M000030","(client_id)","",2],["new","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000038","(stream)","",2],["new","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000069","(agent, path_fid, message_size)","",2],["new","Rumai::IXP::Agent::RangedPool","classes\/Rumai\/IXP\/Agent\/RangedPool.html#M000045","(range)","",2],["new","Rumai::IXP::Struct","classes\/Rumai\/IXP\/Struct.html#M000129","(field_values = {})","Allows field values to be initialized via the constructor. [field_values] a mapping from field name to",2],["new","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field.html#M000136","(name, format = nil, counter = nil)","[name] unique (among all fields in a struct) name for the field [format] number of bytes, a class, or",2],["new","Rumai::Node","classes\/Rumai\/Node.html#M000000","(path)","",2],["new","Rumai::View","classes\/Rumai\/View.html#M000094","(view_id)","",2],["next","Rumai::Chain","classes\/Rumai\/Chain.html#M000026","()","Returns the object after this one in the chain. ",2],["next_area","Rumai","classes\/Rumai.html#M000120","()","",2],["next_client","Rumai","classes\/Rumai.html#M000117","()","",2],["next_tag","Rumai","classes\/Rumai.html#M000017","()","Returns the name of the next tag. ",2],["next_view","Rumai","classes\/Rumai.html#M000123","()","",2],["obtain","Rumai::IXP::Agent::RangedPool","classes\/Rumai\/IXP\/Agent\/RangedPool.html#M000048","()","Returns an unoccupied range member from the pool. ",2],["open","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000062","(path, mode = 'r')","Opens the given path for I\/O access through a FidStream object. If a block is given, it is invoked with",2],["open","Rumai::Node","classes\/Rumai\/Node.html#M000005","(mode = 'r', &block)","Opens this node for I\/O access. See Rumai::IXP::Client#open for details. ",2],["parent","Rumai::Node","classes\/Rumai\/Node.html#M000018","()","Returns the parent node of this node. ",2],["parse","Rumai::IXP::Agent::MODES","classes\/Rumai\/IXP\/Agent\/MODES.html#M000057","(mode)","Converts the given mode string into an integer. ",2],["prev","Rumai::Chain","classes\/Rumai\/Chain.html#M000027","()","Returns the object before this one in the chain. ",2],["prev_area","Rumai","classes\/Rumai.html#M000121","()","",2],["prev_client","Rumai","classes\/Rumai.html#M000118","()","",2],["prev_tag","Rumai","classes\/Rumai.html#M000020","()","Returns the name of the previous tag. ",2],["prev_view","Rumai","classes\/Rumai.html#M000125","()","",2],["push","Rumai::Area","classes\/Rumai\/Area.html#M000071","(*clients)","Inserts the given clients at the bottom of this area. ",2],["read","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000085","(path, *args)","Returns the content of the file\/directory at the given path. ",2],["read","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000077","(partial = false)","Reads some data from this stream at the current position. [partial] When false, the entire content of",2],["read","Rumai::Node","classes\/Rumai\/Node.html#M000006","(*args)","Returns the entire content of this node. See Rumai::IXP::Client#read for details. ",2],["read_9p","Rumai::IXP::Stream","classes\/Rumai\/IXP\/Stream.html#M000124","(num_bytes)","Unpacks the given number of bytes from this 9P2000 byte stream. ",2],["release","Rumai::IXP::Agent::RangedPool","classes\/Rumai\/IXP\/Agent\/RangedPool.html#M000052","(member)","Marks the given member as being unoccupied so that it may be occupied again in the future. ",2],["remove","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000097","(path)","Deletes the file at the given path. ",2],["remove","Rumai::Node","classes\/Rumai\/Node.html#M000013","()","Deletes the file corresponding to this node on the IXP server. ",2],["remove_fid","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000098","(path_fid)","Deletes the file corresponding to the given FID and clunks the given FID. ",2],["rewind","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000072","()","Rewinds the stream to the beginning. ",2],["send","Rumai::Client","classes\/Rumai\/Client.html#M000034","(area_or_id, view = View.curr)","Sends this client to the given destination within the given view. ",2],["stat","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000100","(path)","Returns information about the file at the given path. ",2],["stat","Rumai::Node","classes\/Rumai\/Node.html#M000001","()","Returns file statistics about this node. See Rumai::IXP::Client#stat for details. ",2],["stat_fid","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000103","(path_fid)","Returns information about the file referenced by the given FID. ",2],["swap","Rumai::Client","classes\/Rumai\/Client.html#M000035","(area_or_id, view = View.curr)","Swaps this client with the given destination within the given view. ",2],["tag","Rumai::Client","classes\/Rumai\/Client.html#M000043","(*tags)","Adds the given tags to this client. ",2],["tags","Rumai","classes\/Rumai.html#M000009","()","Returns the current set of tags. ",2],["tags","Rumai::Client","classes\/Rumai\/Client.html#M000040","()","Returns the tags associated with this client. ",2],["tags=","Rumai::Client","classes\/Rumai\/Client.html#M000041","(*tags)","Modifies the tags associated with this client. ",2],["talk","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000055","(request)","Sends the given message (Rumai::IXP::Fcall) and returns its response. This method allows you to perform",2],["to_9p","Integer","classes\/Integer.html#M000154","(num_bytes)","Transforms this object into a string of 9P2000 bytes. ",2],["to_9p","Rumai::IXP::Fcall","classes\/Rumai\/IXP\/Fcall.html#M000148","()","Transforms this object into a string of 9P2000 bytes. ",2],["to_9p","Rumai::IXP::Struct","classes\/Rumai\/IXP\/Struct.html#M000130","()","Transforms this object into a string of 9P2000 bytes. ",2],["to_9p","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field.html#M000140","(field_values)","Transforms this object into a string of 9P2000 bytes. ",2],["to_9p","Rumai::IXP::Struct::Field::CounteeField","classes\/Rumai\/IXP\/Struct\/Field\/CounteeField.html#M000145","(field_values)","",2],["to_9p","Rumai::IXP::Struct::Field::CounterField","classes\/Rumai\/IXP\/Struct\/Field\/CounterField.html#M000144","(field_values)","",2],["to_9p","Rumai::IXP::Terror","classes\/Rumai\/IXP\/Terror.html#M000151","()","",2],["to_9p","String","classes\/String.html#M000155","()","Transforms this object into a string of 9P2000 bytes. ",2],["to_9p","Time","classes\/Time.html#M000157","()","Transforms this object into a string of 9P2000 bytes. ",2],["toggle_group","Rumai::Client","classes\/Rumai\/Client.html#M000050","()","Toggles the presence of this client in the current grouping. ",2],["type","Rumai::IXP::Fcall","classes\/Rumai\/IXP\/Fcall.html#M000153","()","Returns the value of the 'type' field for this fcall. ",2],["type","Rumai::IXP::Fcall","classes\/Rumai\/IXP\/Fcall.html#M000152","()","Returns the value of the 'type' field for this fcall. ",2],["ungroup","Rumai::Client","classes\/Rumai\/Client.html#M000049","()","Removes this client to the current grouping. ",2],["unshift","Rumai::Area","classes\/Rumai\/Area.html#M000078","(*clients)","Inserts the given clients at the top of this area. ",2],["untag","Rumai::Client","classes\/Rumai\/Client.html#M000044","(*tags)","Removes the given tags from this client. ",2],["views","Rumai","classes\/Rumai.html#M000012","()","Returns the current set of views. ",2],["views","Rumai::Client","classes\/Rumai\/Client.html#M000039","()","Returns the views that contain this client. ",2],["walk","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000104","(path)","Returns an FID corresponding to the given path. ",2],["walk_fid","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000107","(path_fid, path)","Associates the given FID to the given path. ",2],["with_tags","Rumai::Client","classes\/Rumai\/Client.html#M000042","(&block)","Evaluates the given block within the context of this client's list of tags. ",2],["write","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000089","(path, content)","Returns the content of the file\/directory at the given path. ",2],["write","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000081","(content)","Writes the given content at the current position in this stream. ",2],["write","Rumai::Node","classes\/Rumai\/Node.html#M000010","(content)","Writes the given content to this node. ",2],["CREDITS","files\/CREDITS.html","files\/CREDITS.html","","* Michael Andrus * [Simon Hafner](http:\/\/github.com\/Tass) ",3],["LICENSE","files\/LICENSE.html","files\/LICENSE.html","","(the ISC license) Copyright 2006 Suraj N. Kurapati <sunaku@gmail.com> Permission to use, copy, modify,",3],["rumai.rb","files\/lib\/rumai_rb.html","files\/lib\/rumai_rb.html",""," ",3],["fs.rb","files\/lib\/rumai\/fs_rb.html","files\/lib\/rumai\/fs_rb.html","","File system abstractions over the 9P2000 protocol. ",3],["ixp.rb","files\/lib\/rumai\/ixp_rb.html","files\/lib\/rumai\/ixp_rb.html","","An interface to wmii's IXP library for Rumai. ",3],["message.rb","files\/lib\/rumai\/ixp\/message_rb.html","files\/lib\/rumai\/ixp\/message_rb.html","","Primitives for the 9P2000 protocol. See http:\/\/cm.bell-labs.com\/sys\/man\/5\/INDEX.html See http:\/\/swtch.com\/plan9port\/man\/man9\/",3],["transport.rb","files\/lib\/rumai\/ixp\/transport_rb.html","files\/lib\/rumai\/ixp\/transport_rb.html","","Transport layer for 9P2000 protocol. ",3],["wm.rb","files\/lib\/rumai\/wm_rb.html","files\/lib\/rumai\/wm_rb.html","","Abstractions for the window manager. ",3]],"searchIndex":["io","integer","rumai","area","chain","client","clientcontainer","exportinstancemethods","ixp","agent","fidstream","modes","rangedpool","error","fcall","qid","rattach","rauth","rclunk","rcreate","rerror","rflush","ropen","rread","rremove","rstat","rversion","rwalk","rwrite","rwstat","stat","stream","struct","field","counteefield","counterfield","tattach","tauth","tclunk","tcreate","terror","tflush","topen","tread","tremove","tstat","tversion","twalk","twrite","twstat","node","view","string","stringio","time","<<()","<<()","[]()","__from_9p__()","area()","area_ids()","area_of_client()","areas()","arrange_as_larswm()","arrange_in_diamond()","arrange_in_grid()","attach()","chain()","chain()","chain()","chain()","children()","clear()","client_ids()","client_ids()","client_ids()","client_ids()","clients()","close()","closed?()","clunk()","column?()","columns()","concat()","countee=()","counter=()","create()","create()","curr()","curr()","curr()","curr_area()","curr_client()","curr_tag()","curr_view()","directory?()","directory?()","each()","each()","each()","each_column()","each_line()","entries()","entries()","exist?()","exist?()","factory()","float?()","floater()","focus()","focus()","focus()","focus_area()","focus_client()","focus_view()","from_9p()","from_9p()","from_9p()","fs()","group()","group?()","grouping()","grouping()","included()","insert()","kill()","layout=()","length()","length=()","load_9p()","load_9p()","load_9p()","manifest()","method_missing()","new()","new()","new()","new()","new()","new()","new()","new()","new()","next()","next_area()","next_client()","next_tag()","next_view()","obtain()","open()","open()","parent()","parse()","prev()","prev_area()","prev_client()","prev_tag()","prev_view()","push()","read()","read()","read()","read_9p()","release()","remove()","remove()","remove_fid()","rewind()","send()","stat()","stat()","stat_fid()","swap()","tag()","tags()","tags()","tags=()","talk()","to_9p()","to_9p()","to_9p()","to_9p()","to_9p()","to_9p()","to_9p()","to_9p()","to_9p()","toggle_group()","type()","type()","ungroup()","unshift()","untag()","views()","views()","walk()","walk_fid()","with_tags()","write()","write()","write()","credits","license","rumai.rb","fs.rb","ixp.rb","message.rb","transport.rb","wm.rb"],"longSearchIndex":["message.rb","message.rb","message.rb","rumai","rumai","rumai","rumai","rumai","rumai","ixp","agent","agent","agent","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","struct","field","field","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","rumai","rumai","message.rb","message.rb","message.rb","area","fidstream","node","fcall","client","view","view","view","view","view","view","agent","area","chain","client","view","node","node","rumai","area","clientcontainer","view","clientcontainer","fidstream","fidstream","agent","area","view","area","field","field","agent","node","area","client","view","rumai","rumai","rumai","rumai","stat","node","area","node","view","view","node","agent","node","area","node","field","area","view","area","client","view","rumai","rumai","rumai","fcall","string","time","rumai","client","client","rumai","clientcontainer","struct","area","client","area","area","area","struct","field","counteefield","view","node","area","client","agent","fidstream","rangedpool","struct","field","node","view","chain","rumai","rumai","rumai","rumai","rangedpool","agent","node","node","modes","chain","rumai","rumai","rumai","rumai","area","agent","fidstream","node","stream","rangedpool","agent","node","agent","fidstream","client","agent","node","agent","client","client","rumai","client","client","agent","integer","fcall","struct","field","counteefield","counterfield","terror","string","time","client","fcall","fcall","client","area","client","rumai","client","agent","agent","client","agent","fidstream","node","files\/credits.html","files\/license.html","files\/lib\/rumai_rb.html","files\/lib\/rumai\/fs_rb.html","files\/lib\/rumai\/ixp_rb.html","files\/lib\/rumai\/ixp\/message_rb.html","files\/lib\/rumai\/ixp\/transport_rb.html","files\/lib\/rumai\/wm_rb.html"]}}
1
+ var search_data = {"index":{"longSearchIndex":["message.rb","message.rb","message.rb","rumai","rumai","rumai","rumai","rumai","rumai","ixp","agent","agent","agent","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","struct","field","field","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","ixp","rumai","rumai","message.rb","message.rb","message.rb","area","fidstream","node","fcall","client","view","view","view","view","view","view","agent","area","chain","client","view","node","node","rumai","area","clientcontainer","view","clientcontainer","fidstream","fidstream","agent","area","view","area","field","field","agent","node","area","client","view","rumai","rumai","rumai","rumai","stat","node","area","node","view","view","node","view","agent","node","area","node","field","area","area","view","area","client","view","rumai","rumai","rumai","fcall","string","time","rumai","client","client","client","client","client","client","rumai","clientcontainer","struct","area","client","area","area","area","struct","field","counteefield","area","view","view","node","client","area","client","agent","fidstream","rangedpool","struct","field","node","view","chain","rumai","rumai","rumai","rumai","rangedpool","agent","node","node","modes","chain","rumai","rumai","rumai","rumai","area","agent","fidstream","node","stream","rangedpool","agent","node","agent","fidstream","view","client","client","agent","node","agent","client","client","client","client","client","rumai","client","client","agent","integer","fcall","struct","field","counteefield","counterfield","terror","string","time","fcall","fcall","client","client","area","client","client","rumai","client","agent","agent","client","agent","fidstream","node","files\/credits.html","files\/license.html","files\/lib\/rumai_rb.html","files\/lib\/rumai\/fs_rb.html","files\/lib\/rumai\/ixp_rb.html","files\/lib\/rumai\/ixp\/message_rb.html","files\/lib\/rumai\/ixp\/transport_rb.html","files\/lib\/rumai\/wm_rb.html"],"info":[["IO","lib\/rumai\/ixp\/message.rb","classes\/IO.html"," < Object","",1],["Integer","lib\/rumai\/ixp\/message.rb","classes\/Integer.html"," < Object","",1],["Rumai","lib\/rumai\/ixp\/message.rb","classes\/Rumai.html","","Primitives for the 9P2000 protocol. See http:\/\/cm.bell-labs.com\/sys\/man\/5\/INDEX.html See http:\/\/swtch.com\/plan9port\/man\/man9\/",1],["Area","Rumai","classes\/Rumai\/Area.html"," < Object","A region that contains clients. This can be either the floating area or a column in the managed area.",1],["Chain","Rumai","classes\/Rumai\/Chain.html","","NOTE: Inheritors must override the 'chain' method. ",1],["Client","Rumai","classes\/Rumai\/Client.html"," < WidgetNode","A graphical program that is running in your current X Windows session. ",1],["ClientContainer","Rumai","classes\/Rumai\/ClientContainer.html","","NOTE: Inheritors should override the 'client_ids' method. ",1],["ExportInstanceMethods","Rumai","classes\/Rumai\/ExportInstanceMethods.html","","Makes instance methods accessible through class methods. This is done to emulate the File class: File.exist?",1],["IXP","Rumai","classes\/Rumai\/IXP.html","","",1],["Agent","Rumai::IXP","classes\/Rumai\/IXP\/Agent.html"," < Object","A thread-safe proxy that multiplexes many threads onto a single 9P2000 connection. ",1],["FidStream","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent\/FidStream.html"," < Object","Encapsulates I\/O access over a file handle (fid). NOTE: this class is NOT thread-safe. ",1],["MODES","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent\/MODES.html","","",1],["RangedPool","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent\/RangedPool.html"," < Object","A finite, thread-safe pool of range members. ",1],["Error","Rumai::IXP","classes\/Rumai\/IXP\/Error.html"," < StandardError","A common container for exceptions concerning IXP. ",1],["Fcall","Rumai::IXP","classes\/Rumai\/IXP\/Fcall.html"," < Object","A remote function call (fcall). ",1],["Qid","Rumai::IXP","classes\/Rumai\/IXP\/Qid.html"," < Object","Holds information about a file being accessed on a 9P2000 server. See http:\/\/cm.bell-labs.com\/magic\/man2html\/5\/intro",1],["Rattach","Rumai::IXP","classes\/Rumai\/IXP\/Rattach.html"," < Fcall","size[4] Rattach tag[2] qid[13] ",1],["Rauth","Rumai::IXP","classes\/Rumai\/IXP\/Rauth.html"," < Fcall","size[4] Rauth tag[2] aqid[13] ",1],["Rclunk","Rumai::IXP","classes\/Rumai\/IXP\/Rclunk.html"," < Fcall","size[4] Rclunk tag[2] ",1],["Rcreate","Rumai::IXP","classes\/Rumai\/IXP\/Rcreate.html"," < Fcall","size[4] Rcreate tag[2] qid[13] iounit[4] ",1],["Rerror","Rumai::IXP","classes\/Rumai\/IXP\/Rerror.html"," < Fcall","size[4] Rerror tag[2] ename[s] ",1],["Rflush","Rumai::IXP","classes\/Rumai\/IXP\/Rflush.html"," < Fcall","size[4] Rflush tag[2] ",1],["Ropen","Rumai::IXP","classes\/Rumai\/IXP\/Ropen.html"," < Fcall","size[4] Ropen tag[2] qid[13] iounit[4] ",1],["Rread","Rumai::IXP","classes\/Rumai\/IXP\/Rread.html"," < Fcall","size[4] Rread tag[2] count[4] data[count] ",1],["Rremove","Rumai::IXP","classes\/Rumai\/IXP\/Rremove.html"," < Fcall","size[4] Rremove tag[2] ",1],["Rstat","Rumai::IXP","classes\/Rumai\/IXP\/Rstat.html"," < Fcall","size[4] Rstat tag[2] stat[n] ",1],["Rversion","Rumai::IXP","classes\/Rumai\/IXP\/Rversion.html"," < Fcall","size[4] Rversion tag[2] msize[4] version[s] ",1],["Rwalk","Rumai::IXP","classes\/Rumai\/IXP\/Rwalk.html"," < Fcall","size[4] Rwalk tag[2] nwqid[2] nwqid*(wqid[13]) ",1],["Rwrite","Rumai::IXP","classes\/Rumai\/IXP\/Rwrite.html"," < Fcall","size[4] Rwrite tag[2] count[4] ",1],["Rwstat","Rumai::IXP","classes\/Rumai\/IXP\/Rwstat.html"," < Fcall","size[4] Rwstat tag[2] ",1],["Stat","Rumai::IXP","classes\/Rumai\/IXP\/Stat.html"," < Object","Holds information about a file on a 9P2000 server. See http:\/\/cm.bell-labs.com\/magic\/man2html\/5\/stat",1],["Stream","Rumai::IXP","classes\/Rumai\/IXP\/Stream.html","","A 9P2000 byte stream. ",1],["Struct","Rumai::IXP","classes\/Rumai\/IXP\/Struct.html","","A serializable 9P2000 data structure. ",1],["Field","Rumai::IXP::Struct","classes\/Rumai\/IXP\/Struct\/Field.html"," < Object","A field inside a Struct. A field's value is considered to be either: * array of format when <code>counter",1],["CounteeField","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field\/CounteeField.html","","Methods for a field whose length is counted by another field. ",1],["CounterField","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field\/CounterField.html","","Methods for a field that counts the length of another field. ",1],["Tattach","Rumai::IXP","classes\/Rumai\/IXP\/Tattach.html"," < Fcall","size[4] Tattach tag[2] fid[4] afid[4] uname[s] aname[s] ",1],["Tauth","Rumai::IXP","classes\/Rumai\/IXP\/Tauth.html"," < Fcall","size[4] Tauth tag[2] afid[4] uname[s] aname[s] ",1],["Tclunk","Rumai::IXP","classes\/Rumai\/IXP\/Tclunk.html"," < Fcall","size[4] Tclunk tag[2] fid[4] ",1],["Tcreate","Rumai::IXP","classes\/Rumai\/IXP\/Tcreate.html"," < Fcall","size[4] Tcreate tag[2] fid[4] name[s] perm[4] mode[1] ",1],["Terror","Rumai::IXP","classes\/Rumai\/IXP\/Terror.html"," < Fcall","illegal ",1],["Tflush","Rumai::IXP","classes\/Rumai\/IXP\/Tflush.html"," < Fcall","size[4] Tflush tag[2] oldtag[2] ",1],["Topen","Rumai::IXP","classes\/Rumai\/IXP\/Topen.html"," < Fcall","size[4] Topen tag[2] fid[4] mode[1] ",1],["Tread","Rumai::IXP","classes\/Rumai\/IXP\/Tread.html"," < Fcall","size[4] Tread tag[2] fid[4] offset[8] count[4] ",1],["Tremove","Rumai::IXP","classes\/Rumai\/IXP\/Tremove.html"," < Fcall","size[4] Tremove tag[2] fid[4] ",1],["Tstat","Rumai::IXP","classes\/Rumai\/IXP\/Tstat.html"," < Fcall","size[4] Tstat tag[2] fid[4] ",1],["Tversion","Rumai::IXP","classes\/Rumai\/IXP\/Tversion.html"," < Fcall","size[4] Tversion tag[2] msize[4] version[s] ",1],["Twalk","Rumai::IXP","classes\/Rumai\/IXP\/Twalk.html"," < Fcall","size[4] Twalk tag[2] fid[4] newfid[4] nwname[2] nwname*(wname[s]) ",1],["Twrite","Rumai::IXP","classes\/Rumai\/IXP\/Twrite.html"," < Fcall","size[4] Twrite tag[2] fid[4] offset[8] count[4] data[count] ",1],["Twstat","Rumai::IXP","classes\/Rumai\/IXP\/Twstat.html"," < Fcall","size[4] Twstat tag[2] fid[4] stat[n] ",1],["Node","Rumai","classes\/Rumai\/Node.html"," < Object","An entry in the IXP file system. ",1],["View","Rumai","classes\/Rumai\/View.html"," < WidgetNode","The visualization of a tag. ",1],["String","lib\/rumai\/ixp\/message.rb","classes\/String.html"," < Object","count[2] s[count] ",1],["StringIO","lib\/rumai\/ixp\/message.rb","classes\/StringIO.html"," < Object","",1],["Time","lib\/rumai\/ixp\/message.rb","classes\/Time.html"," < Object","",1],["<<","Rumai::Area","classes\/Rumai\/Area.html#M000080","(*clients)","Alias for #push",2],["<<","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000086","(content)","Alias for #write",2],["[]","Rumai::Node","classes\/Rumai\/Node.html#M000013","(sub_path)","Returns the given sub-path as a Node object. ",2],["__from_9p__","Rumai::IXP::Fcall","classes\/Rumai\/IXP\/Fcall.html#M000165","(stream)","Alias for #from_9p",2],["area","Rumai::Client","classes\/Rumai\/Client.html#M000040","(view = View.curr)","Returns the area that contains this client within the given view. ",2],["area_ids","Rumai::View","classes\/Rumai\/View.html#M000108","()","Returns the IDs of all areas in this view. ",2],["area_of_client","Rumai::View","classes\/Rumai\/View.html#M000104","(client_or_id)","Returns the area which contains the given client in this view. ",2],["areas","Rumai::View","classes\/Rumai\/View.html#M000109","()","Returns all areas in this view. ",2],["arrange_as_larswm","Rumai::View","classes\/Rumai\/View.html#M000117","()","Arranges the clients in this view, while maintaining their relative order, in the tiling fashion of LarsWM.",2],["arrange_in_diamond","Rumai::View","classes\/Rumai\/View.html#M000120","()","Arranges the clients in this view, while maintaining their relative order, in a (at best) equilateral",2],["arrange_in_grid","Rumai::View","classes\/Rumai\/View.html#M000119","(max_clients_per_column = nil)","Arranges the clients in this view, while maintaining their relative order, in a (at best) square grid.",2],["attach","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000111","(root_fid, auth_fid = Fcall::NOFID, auth_name = ENV['USER'])","Associates the given FID with the FS root. ",2],["chain","Rumai::Area","classes\/Rumai\/Area.html#M000067","()","Returns a list of all areas in the current view. ",2],["chain","Rumai::Chain","classes\/Rumai\/Chain.html#M000010","()","Returns an array of objects related to this one. ",2],["chain","Rumai::Client","classes\/Rumai\/Client.html#M000024","()","Returns a list of all clients in the current view. ",2],["chain","Rumai::View","classes\/Rumai\/View.html#M000095","()","Returns a list of all views. ",2],["children","Rumai::Node","classes\/Rumai\/Node.html#M000017","()","Returns all child nodes of this node. ",2],["clear","Rumai::Node","classes\/Rumai\/Node.html#M000019","()","Deletes all child nodes. ",2],["client_ids","Rumai","classes\/Rumai.html#M000129","()","Returns the IDs of the current set of clients. ",2],["client_ids","Rumai::Area","classes\/Rumai\/Area.html#M000070","()","Returns the IDs of the clients in this area. ",2],["client_ids","Rumai::ClientContainer","classes\/Rumai\/ClientContainer.html#M000056","()","Returns the IDs of the clients in this container. ",2],["client_ids","Rumai::View","classes\/Rumai\/View.html#M000096","(area_id = '\\S+')","Returns the IDs of the clients contained in the given area within this view. ",2],["clients","Rumai::ClientContainer","classes\/Rumai\/ClientContainer.html#M000057","()","Returns the clients contained in this container. ",2],["close","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000074","()","Closes this stream. ",2],["closed?","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000075","()","Returns true if this stream is closed. ",2],["clunk","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000115","(fid)","Retires the given FID from use. ",2],["column?","Rumai::Area","classes\/Rumai\/Area.html#M000063","()","Checks if this is a managed area (a column). ",2],["columns","Rumai::View","classes\/Rumai\/View.html#M000112","()","Returns all columns (managed areas) in this view. ",2],["concat","Rumai::Area","classes\/Rumai\/Area.html#M000084","(area)","Concatenates the given area to the bottom of this area. ",2],["countee=","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field.html#M000153","(field)","Sets the countee for this field (implying that this field counts the length of the given field). ",2],["counter=","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field.html#M000152","(field)","Sets the counter for this field (implying that the length of this field is counted by the given field).",2],["create","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000091","(path, mode = 'rw', perm = 0644)","Creates a new file at the given path that is accessible using the given modes for a user having the given",2],["create","Rumai::Node","classes\/Rumai\/Node.html#M000009","(*args)","Creates a file corresponding to this node on the IXP server. See Rumai::IXP::Client#create for details.",2],["curr","Rumai::Area","classes\/Rumai\/Area.html#M000065","()","Returns the currently focused area. ",2],["curr","Rumai::Client","classes\/Rumai\/Client.html#M000023","()","Returns the currently focused client. ",2],["curr","Rumai::View","classes\/Rumai\/View.html#M000093","()","Returns the currently focused view. ",2],["curr_area","Rumai","classes\/Rumai.html#M000134","()","",2],["curr_client","Rumai","classes\/Rumai.html#M000131","()","",2],["curr_tag","Rumai","classes\/Rumai.html#M000143","()","",2],["curr_view","Rumai","classes\/Rumai.html#M000139","()","",2],["directory?","Rumai::IXP::Stat","classes\/Rumai\/IXP\/Stat.html#M000162","()","Tests if this file is a directory. ",2],["directory?","Rumai::Node","classes\/Rumai\/Node.html#M000003","()","Tests if this node is a directory. ",2],["each","Rumai::Area","classes\/Rumai\/Area.html#M000072","(&block)","Iterates through each client in this container. ",2],["each","Rumai::Node","classes\/Rumai\/Node.html#M000018","(&block)","Iterates through each child of this directory. ",2],["each","Rumai::View","classes\/Rumai\/View.html#M000099","(&block)","Iterates through each area in this view. ",2],["each_column","Rumai::View","classes\/Rumai\/View.html#M000114","(starting_column_id = 1)","Resiliently iterates through possibly destructive changes to each column. That is, if the given block",2],["each_line","Rumai::Node","classes\/Rumai\/Node.html#M000007","(&block)","Invokes the given block for every line in the content of this node. ",2],["each_managed_area","Rumai::View","classes\/Rumai\/View.html#M000116","(starting_column_id = 1)","Alias for #each_column",2],["entries","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000088","(path)","Returns the names of all files inside the directory whose path is given. ",2],["entries","Rumai::Node","classes\/Rumai\/Node.html#M000004","()","Returns the names of all files in this directory. ",2],["exist?","Rumai::Area","classes\/Rumai\/Area.html#M000069","()","Checks if this object exists in the chain. ",2],["exist?","Rumai::Node","classes\/Rumai\/Node.html#M000002","()","Tests if this node exists on the IXP server. ",2],["factory","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field.html#M000154","(format)","Returns a Field class that best represents the given format. ",2],["floating","Rumai::Area","classes\/Rumai\/Area.html#M000066","(view = View.curr)","Returns the floating area in the given view. ",2],["floating?","Rumai::Area","classes\/Rumai\/Area.html#M000062","()","Checks if this area is the floating area. ",2],["floating_area","Rumai::View","classes\/Rumai\/View.html#M000110","()","Returns the floating area of this view. ",2],["focus","Rumai::Area","classes\/Rumai\/Area.html#M000076","()","Puts focus on this area. ",2],["focus","Rumai::Client","classes\/Rumai\/Client.html#M000025","(view = nil)","Focuses this client within the given view. ",2],["focus","Rumai::View","classes\/Rumai\/View.html#M000094","()","Focuses this view. ",2],["focus_area","Rumai","classes\/Rumai.html#M000150","(id)","",2],["focus_client","Rumai","classes\/Rumai.html#M000149","(id)","",2],["focus_view","Rumai","classes\/Rumai.html#M000151","(id)","",2],["from_9p","Rumai::IXP::Fcall","classes\/Rumai\/IXP\/Fcall.html#M000164","(stream)","Creates a new instance of this class from the given 9P2000 byte stream and returns the instance. ",2],["from_9p","String","classes\/String.html#M000171","(stream)","Creates a new instance of this class from the given 9P2000 byte stream and returns the instance. ",2],["from_9p","Time","classes\/Time.html#M000173","(stream)","Creates a new instance of this class from the given 9P2000 byte stream and returns the instance. ",2],["fs","Rumai","classes\/Rumai.html#M000124","()","Returns the root of IXP file system hierarchy. ",2],["fullscreen","Rumai::Client","classes\/Rumai\/Client.html#M000031","()","Maximizes this client to occupy the entire screen on the current view. ",2],["fullscreen!","Rumai::Client","classes\/Rumai\/Client.html#M000033","()","Toggles the fullscreen status of this client on the current view. ",2],["fullscreen?","Rumai::Client","classes\/Rumai\/Client.html#M000034","()","Checks if this client is currently fullscreen on the current view. ",2],["group","Rumai::Client","classes\/Rumai\/Client.html#M000050","()","Adds this client to the current grouping. ",2],["group!","Rumai::Client","classes\/Rumai\/Client.html#M000054","()","Toggles the presence of this client in the current grouping. ",2],["group?","Rumai::Client","classes\/Rumai\/Client.html#M000049","()","Checks if this client is included in the current grouping. ",2],["grouping","Rumai","classes\/Rumai.html#M000146","()","Returns a list of all grouped clients in the currently focused view. If there are no grouped clients,",2],["grouping","Rumai::ClientContainer","classes\/Rumai\/ClientContainer.html#M000059","()","Returns all grouped clients in this container. ",2],["included","Rumai::IXP::Struct","classes\/Rumai\/IXP\/Struct.html#M000135","(target)","Provides a convenient DSL (for defining fields) to all objects which *include* this module. ",2],["insert","Rumai::Area","classes\/Rumai\/Area.html#M000081","(*clients)","Inserts the given clients after the currently focused client in this area. ",2],["kill","Rumai::Client","classes\/Rumai\/Client.html#M000029","()","Terminates this client nicely (requests this window to be closed). ",2],["layout=","Rumai::Area","classes\/Rumai\/Area.html#M000073","(mode)","Sets the layout of clients in this column. ",2],["length","Rumai::Area","classes\/Rumai\/Area.html#M000078","()","Returns the number of clients in this area. ",2],["length=","Rumai::Area","classes\/Rumai\/Area.html#M000085","(max_clients)","Ensures that this area has at most the given number of clients. Areas to the right of this one serve",2],["load_9p","Rumai::IXP::Struct","classes\/Rumai\/IXP\/Struct.html#M000130","(stream)","Populates this object with information from the given 9P2000 byte stream. ",2],["load_9p","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field.html#M000156","(stream, field_values)","Populates this object with information taken from the given 9P2000 byte stream. ",2],["load_9p","Rumai::IXP::Struct::Field::CounteeField","classes\/Rumai\/IXP\/Struct\/Field\/CounteeField.html#M000161","(stream, field_values)","",2],["managed?","Rumai::Area","classes\/Rumai\/Area.html#M000064","()","Alias for #column?",2],["managed_areas","Rumai::View","classes\/Rumai\/View.html#M000113","()","Alias for #columns",2],["manifest","Rumai::View","classes\/Rumai\/View.html#M000102","()","Returns the manifest of all areas and clients in this view. ",2],["method_missing","Rumai::Node","classes\/Rumai\/Node.html#M000020","(meth, *args)","Provides access to child nodes through method calls. ",2],["move","Rumai::Client","classes\/Rumai\/Client.html#M000027","(area_or_id, view = View.curr)","Alias for #send",2],["new","Rumai::Area","classes\/Rumai\/Area.html#M000060","(area_id, view = View.curr)","[view] the view object which contains this area ",2],["new","Rumai::Client","classes\/Rumai\/Client.html#M000021","(client_id)","",2],["new","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000035","(stream)","",2],["new","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000068","(agent, path_fid, message_size)","",2],["new","Rumai::IXP::Agent::RangedPool","classes\/Rumai\/IXP\/Agent\/RangedPool.html#M000045","(range)","",2],["new","Rumai::IXP::Struct","classes\/Rumai\/IXP\/Struct.html#M000126","(field_values = {})","Allows field values to be initialized via the constructor. [field_values] a mapping from field name to",2],["new","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field.html#M000148","(name, format = nil, counter = nil)","[name] unique (among all fields in a struct) name for the field [format] number of bytes, a class, or",2],["new","Rumai::Node","classes\/Rumai\/Node.html#M000000","(path)","",2],["new","Rumai::View","classes\/Rumai\/View.html#M000100","(view_id)","",2],["next","Rumai::Chain","classes\/Rumai\/Chain.html#M000011","()","Returns the object after this one in the chain. ",2],["next_area","Rumai","classes\/Rumai.html#M000137","()","",2],["next_client","Rumai","classes\/Rumai.html#M000132","()","",2],["next_tag","Rumai","classes\/Rumai.html#M000144","()","",2],["next_view","Rumai","classes\/Rumai.html#M000140","()","",2],["obtain","Rumai::IXP::Agent::RangedPool","classes\/Rumai\/IXP\/Agent\/RangedPool.html#M000048","()","Returns an unoccupied range member from the pool. ",2],["open","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000061","(path, mode = 'r')","Opens the given path for I\/O access through a FidStream object. If a block is given, it is invoked with",2],["open","Rumai::Node","classes\/Rumai\/Node.html#M000005","(mode = 'r', &block)","Opens this node for I\/O access. See Rumai::IXP::Client#open for details. ",2],["parent","Rumai::Node","classes\/Rumai\/Node.html#M000016","()","Returns the parent node of this node. ",2],["parse","Rumai::IXP::Agent::MODES","classes\/Rumai\/IXP\/Agent\/MODES.html#M000058","(mode)","Converts the given mode string into an integer. ",2],["prev","Rumai::Chain","classes\/Rumai\/Chain.html#M000014","()","Returns the object before this one in the chain. ",2],["prev_area","Rumai","classes\/Rumai.html#M000138","()","",2],["prev_client","Rumai","classes\/Rumai.html#M000133","()","",2],["prev_tag","Rumai","classes\/Rumai.html#M000145","()","",2],["prev_view","Rumai","classes\/Rumai.html#M000142","()","",2],["push","Rumai::Area","classes\/Rumai\/Area.html#M000079","(*clients)","Inserts the given clients at the bottom of this area. ",2],["read","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000087","(path, *args)","Returns the content of the file\/directory at the given path. ",2],["read","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000077","(partial = false)","Reads some data from this stream at the current position. [partial] When false, the entire content of",2],["read","Rumai::Node","classes\/Rumai\/Node.html#M000006","(*args)","Returns the entire content of this node. See Rumai::IXP::Client#read for details. ",2],["read_9p","Rumai::IXP::Stream","classes\/Rumai\/IXP\/Stream.html#M000122","(num_bytes)","Unpacks the given number of bytes from this 9P2000 byte stream. ",2],["release","Rumai::IXP::Agent::RangedPool","classes\/Rumai\/IXP\/Agent\/RangedPool.html#M000052","(member)","Marks the given member as being unoccupied so that it may be occupied again in the future. ",2],["remove","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000097","(path)","Deletes the file at the given path. ",2],["remove","Rumai::Node","classes\/Rumai\/Node.html#M000012","()","Deletes the file corresponding to this node on the IXP server. ",2],["remove_fid","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000098","(path_fid)","Deletes the file corresponding to the given FID and clunks the given FID. ",2],["rewind","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000071","()","Rewinds the stream to the beginning. ",2],["select","Rumai::View","classes\/Rumai\/View.html#M000103","(direction)","Moves the focus from the current client in the given direction. ",2],["send","Rumai::Client","classes\/Rumai\/Client.html#M000026","(area_or_id, view = View.curr)","Sends this client to the given destination within the given view. ",2],["slay","Rumai::Client","classes\/Rumai\/Client.html#M000030","()","Terminates this client forcefully. ",2],["stat","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000101","(path)","Returns information about the file at the given path. ",2],["stat","Rumai::Node","classes\/Rumai\/Node.html#M000001","()","Returns file statistics about this node. See Rumai::IXP::Client#stat for details. ",2],["stat_fid","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000105","(path_fid)","Returns information about the file referenced by the given FID. ",2],["stick","Rumai::Client","classes\/Rumai\/Client.html#M000037","()","Makes this client sticky (appears in all views). ",2],["stick!","Rumai::Client","classes\/Rumai\/Client.html#M000039","()","Toggles the stickyness of this client. ",2],["stick?","Rumai::Client","classes\/Rumai\/Client.html#M000036","()","Checks if this client is sticky (appears in all views). ",2],["swap","Rumai::Client","classes\/Rumai\/Client.html#M000028","(area_or_id, view = View.curr)","Swaps this client with the given destination within the given view. ",2],["tag","Rumai::Client","classes\/Rumai\/Client.html#M000046","(*tags)","Adds the given tags to this client. ",2],["tags","Rumai","classes\/Rumai.html#M000125","()","Returns the current set of tags. ",2],["tags","Rumai::Client","classes\/Rumai\/Client.html#M000042","()","Returns the tags associated with this client. ",2],["tags=","Rumai::Client","classes\/Rumai\/Client.html#M000043","(*tags)","Modifies the tags associated with this client. ",2],["talk","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000053","(request)","Sends the given message (Rumai::IXP::Fcall) and returns its response. This method allows you to perform",2],["to_9p","Integer","classes\/Integer.html#M000169","(num_bytes)","Transforms this object into a string of 9P2000 bytes. ",2],["to_9p","Rumai::IXP::Fcall","classes\/Rumai\/IXP\/Fcall.html#M000163","()","Transforms this object into a string of 9P2000 bytes. ",2],["to_9p","Rumai::IXP::Struct","classes\/Rumai\/IXP\/Struct.html#M000127","()","Transforms this object into a string of 9P2000 bytes. ",2],["to_9p","Rumai::IXP::Struct::Field","classes\/Rumai\/IXP\/Struct\/Field.html#M000155","(field_values)","Transforms this object into a string of 9P2000 bytes. ",2],["to_9p","Rumai::IXP::Struct::Field::CounteeField","classes\/Rumai\/IXP\/Struct\/Field\/CounteeField.html#M000160","(field_values)","",2],["to_9p","Rumai::IXP::Struct::Field::CounterField","classes\/Rumai\/IXP\/Struct\/Field\/CounterField.html#M000159","(field_values)","",2],["to_9p","Rumai::IXP::Terror","classes\/Rumai\/IXP\/Terror.html#M000166","()","",2],["to_9p","String","classes\/String.html#M000170","()","Transforms this object into a string of 9P2000 bytes. ",2],["to_9p","Time","classes\/Time.html#M000172","()","Transforms this object into a string of 9P2000 bytes. ",2],["type","Rumai::IXP::Fcall","classes\/Rumai\/IXP\/Fcall.html#M000168","()","Returns the value of the 'type' field for this fcall. ",2],["type","Rumai::IXP::Fcall","classes\/Rumai\/IXP\/Fcall.html#M000167","()","Returns the value of the 'type' field for this fcall. ",2],["unfullscreen","Rumai::Client","classes\/Rumai\/Client.html#M000032","()","Restores this client back to its original size on the current view. ",2],["ungroup","Rumai::Client","classes\/Rumai\/Client.html#M000051","()","Removes this client to the current grouping. ",2],["unshift","Rumai::Area","classes\/Rumai\/Area.html#M000082","(*clients)","Inserts the given clients at the top of this area. ",2],["unstick","Rumai::Client","classes\/Rumai\/Client.html#M000038","()","Makes this client unsticky (does not appear in all views). ",2],["untag","Rumai::Client","classes\/Rumai\/Client.html#M000047","(*tags)","Removes the given tags from this client. ",2],["views","Rumai","classes\/Rumai.html#M000128","()","Returns the current set of views. ",2],["views","Rumai::Client","classes\/Rumai\/Client.html#M000041","()","Returns the views that contain this client. ",2],["walk","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000106","(path)","Returns an FID corresponding to the given path. ",2],["walk_fid","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000107","(path_fid, path)","Associates the given FID to the given path. ",2],["with_tags","Rumai::Client","classes\/Rumai\/Client.html#M000044","(&block)","Evaluates the given block within the context of this client's list of tags. ",2],["write","Rumai::IXP::Agent","classes\/Rumai\/IXP\/Agent.html#M000090","(path, content)","Returns the content of the file\/directory at the given path. ",2],["write","Rumai::IXP::Agent::FidStream","classes\/Rumai\/IXP\/Agent\/FidStream.html#M000083","(content)","Writes the given content at the current position in this stream. ",2],["write","Rumai::Node","classes\/Rumai\/Node.html#M000008","(content)","Writes the given content to this node. ",2],["CREDITS","files\/CREDITS.html","files\/CREDITS.html","","* [Christoph Blank](http:\/\/textmode.at) * Michael Andrus * [Simon Hafner](http:\/\/github.com\/Tass) ",3],["LICENSE","files\/LICENSE.html","files\/LICENSE.html","","(the ISC license) Copyright 2006 Suraj N. Kurapati <sunaku@gmail.com> Permission to use, copy, modify,",3],["rumai.rb","files\/lib\/rumai_rb.html","files\/lib\/rumai_rb.html",""," ",3],["fs.rb","files\/lib\/rumai\/fs_rb.html","files\/lib\/rumai\/fs_rb.html","","File system abstractions over the 9P2000 protocol. ",3],["ixp.rb","files\/lib\/rumai\/ixp_rb.html","files\/lib\/rumai\/ixp_rb.html","","An interface to wmii's IXP library for Rumai. ",3],["message.rb","files\/lib\/rumai\/ixp\/message_rb.html","files\/lib\/rumai\/ixp\/message_rb.html","","Primitives for the 9P2000 protocol. See http:\/\/cm.bell-labs.com\/sys\/man\/5\/INDEX.html See http:\/\/swtch.com\/plan9port\/man\/man9\/",3],["transport.rb","files\/lib\/rumai\/ixp\/transport_rb.html","files\/lib\/rumai\/ixp\/transport_rb.html","","Transport layer for 9P2000 protocol. ",3],["wm.rb","files\/lib\/rumai\/wm_rb.html","files\/lib\/rumai\/wm_rb.html","","Abstractions for the window manager. ",3]],"searchIndex":["io","integer","rumai","area","chain","client","clientcontainer","exportinstancemethods","ixp","agent","fidstream","modes","rangedpool","error","fcall","qid","rattach","rauth","rclunk","rcreate","rerror","rflush","ropen","rread","rremove","rstat","rversion","rwalk","rwrite","rwstat","stat","stream","struct","field","counteefield","counterfield","tattach","tauth","tclunk","tcreate","terror","tflush","topen","tread","tremove","tstat","tversion","twalk","twrite","twstat","node","view","string","stringio","time","<<()","<<()","[]()","__from_9p__()","area()","area_ids()","area_of_client()","areas()","arrange_as_larswm()","arrange_in_diamond()","arrange_in_grid()","attach()","chain()","chain()","chain()","chain()","children()","clear()","client_ids()","client_ids()","client_ids()","client_ids()","clients()","close()","closed?()","clunk()","column?()","columns()","concat()","countee=()","counter=()","create()","create()","curr()","curr()","curr()","curr_area()","curr_client()","curr_tag()","curr_view()","directory?()","directory?()","each()","each()","each()","each_column()","each_line()","each_managed_area()","entries()","entries()","exist?()","exist?()","factory()","floating()","floating?()","floating_area()","focus()","focus()","focus()","focus_area()","focus_client()","focus_view()","from_9p()","from_9p()","from_9p()","fs()","fullscreen()","fullscreen!()","fullscreen?()","group()","group!()","group?()","grouping()","grouping()","included()","insert()","kill()","layout=()","length()","length=()","load_9p()","load_9p()","load_9p()","managed?()","managed_areas()","manifest()","method_missing()","move()","new()","new()","new()","new()","new()","new()","new()","new()","new()","next()","next_area()","next_client()","next_tag()","next_view()","obtain()","open()","open()","parent()","parse()","prev()","prev_area()","prev_client()","prev_tag()","prev_view()","push()","read()","read()","read()","read_9p()","release()","remove()","remove()","remove_fid()","rewind()","select()","send()","slay()","stat()","stat()","stat_fid()","stick()","stick!()","stick?()","swap()","tag()","tags()","tags()","tags=()","talk()","to_9p()","to_9p()","to_9p()","to_9p()","to_9p()","to_9p()","to_9p()","to_9p()","to_9p()","type()","type()","unfullscreen()","ungroup()","unshift()","unstick()","untag()","views()","views()","walk()","walk_fid()","with_tags()","write()","write()","write()","credits","license","rumai.rb","fs.rb","ixp.rb","message.rb","transport.rb","wm.rb"]}}
data/doc/history.erb CHANGED
@@ -5,6 +5,41 @@
5
5
 
6
6
  %|chapter "History"
7
7
  %|history
8
+ %|section "Version 3.0.0 (2009-05-11)"
9
+ This release revises method names, adds new methods, and fixes a bug.
10
+
11
+ %|paragraph "Incompatible changes"
12
+ * Rename `#toggle_` methods to use `!` suffix in their names.
13
+
14
+ * Rename `#float` methods to `#floating`.
15
+
16
+ * Rename `View#floater` method to `View#floating_area`.
17
+
18
+ %|paragraph "New features"
19
+ * Add `Client#stick` methods to manipulate sticky status.
20
+
21
+ * Add `Client#fullscreen` methods to manipulate fullscreen status.
22
+
23
+ * Add `Client#slay` method which is a forceful version of `#kill`.
24
+
25
+ * Add `View#select` method to move focus relatively inside a view.
26
+
27
+ * Add `Area::floating` method for symmetry with `Area::curr`.
28
+
29
+ * Add `View#managed_area` aliases for `View#column` methods.
30
+
31
+ %|paragraph "Bug fixes"
32
+ * Fix error when unzooming clients from temporary view.
33
+
34
+ * Fix code that launches temporary terminals in <%= xref "Tutorial" %>.
35
+
36
+ Use the <tt>/bin/sh</tt> version of the **read** command for portability.
37
+
38
+ %|paragraph "Housekeeping"
39
+ * Use `Client#send` instead of `#swap` in automated arrangements because it causes less traffic on /event/.
40
+
41
+ * Add old release notes from blog to user manual.
42
+
8
43
  %|section "Version 2.1.0 (2009-05-09)"
9
44
  This release improves client arrangement, fixes several bugs, and cleans up the code.
10
45
 
@@ -50,3 +85,31 @@
50
85
  * Store IXP socket address in `Rumai::IXP_SOCK_ADDR`.
51
86
 
52
87
  * Added missing test cases for (TR)create and (TR)remove messages in the unit test for the <tt>lib/rumai/ixp/message.rb</tt> library.
88
+
89
+ %|section "Version 2.0.0 (2008-02-04)"
90
+ This release adds support for wmii 3.6, improves the performance of the IXP library, and fixes some bugs.
91
+
92
+ %|paragraph "Thank you"
93
+ * Christoph Blank tested Rumai 1.0.0 under wmii 3.6 and reported bugs.
94
+
95
+ %|paragraph "Incompatible changes"
96
+ * wmii version 3.6 or newer is now required.
97
+
98
+ * The `Rumai::IXP::Agent::FidStream#read_partial` method has been replaced by `Rumai::IXP::Agent::FidStream#read(true)` for efficiency.
99
+
100
+ * The `Rumai::IXP::Agent::FidStream#write` method no longer writes to the beginning of the stream. Instead, it writes to the current position in the stream.
101
+
102
+ * The `Rumai::View#floating_area` method has been renamed to `Rumai::View#floater` for brevity.
103
+
104
+ %|paragraph "New features"
105
+ * Added several more methods (such as rewind, pos=, eof?, and so on) from Ruby's IO class to the `Rumai::IXP::Agent::FidStream` class.
106
+
107
+ * Added the `Rumai::Client#kill` method to simplify client termination.
108
+
109
+ %|paragraph "Bug fixes"
110
+ * Fixed a race condition in `Rumai::Agent#talk` which would cause Rumai to hang when multiple threads used it.
111
+
112
+ %|section "Version 1.0.0 (2008-01-26)"
113
+ This is the first release of Rumai, the evolution of [wmii-irb](http://article.gmane.org/gmane.comp.window-managers.wmii/1704), which lets you manipulate the [wmii](<%= wmii_url %>) window manager through [Ruby](<%= ruby_url %>).
114
+
115
+ Happy birthday!
data/doc/index.erb CHANGED
@@ -6,8 +6,8 @@
6
6
  % Inochi.book :Rumai, self
7
7
 
8
8
  % ruby_url = 'http://ruby-lang.org'
9
- % wmii_url = 'http://www.suckless.org/wiki/wmii'
10
- % wmii_ixp_url = 'http://www.suckless.org/wiki/libs/libixp'
9
+ % wmii_url = 'http://wmii.suckless.org'
10
+ % wmii_ixp_url = 'http://libs.suckless.org/libixp'
11
11
  % p9p_url = 'http://cm.bell-labs.com/magic/man2html/5/intro'
12
12
 
13
13
  %+ "intro.erb"
data/doc/index.xhtml CHANGED
@@ -19,11 +19,11 @@
19
19
  <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"/>
20
20
  <meta name="generator" content="ERBook 7.0.0"/>
21
21
 
22
- <title>Rumai 2.1.0</title>
22
+ <title>Rumai 3.0.0</title>
23
23
 
24
24
  <meta name="author" content="Suraj N. Kurapati"/>
25
25
 
26
- <meta name="date" content="09 May 2009"/>
26
+ <meta name="date" content="11 May 2009"/>
27
27
 
28
28
  <link rel="alternate" type="application/rss+xml" href="http://snk.tuxfamily.org/lib/rumai/ann.xml"/>
29
29
 
@@ -132,13 +132,13 @@
132
132
 
133
133
 
134
134
 
135
- <h1 class="title">Rumai 2.1.0</h1>
135
+ <h1 class="title">Rumai 3.0.0</h1>
136
136
 
137
137
  <h2 class="subtitle">Ruby interface to the wmii window manager</h2>
138
138
 
139
139
  <h3 class="authors"><a href="mailto:sunaku@gmail.com">Suraj N. Kurapati</a></h3>
140
140
 
141
- <h3 class="date">09 May 2009</h3>
141
+ <h3 class="date">11 May 2009</h3>
142
142
 
143
143
 
144
144
  </div>
@@ -154,9 +154,9 @@
154
154
 
155
155
 
156
156
  <div id="toc">
157
- <a name="Contents"/><div class="nav" id="Contents"><a title="Focus this segment" href="#Contents"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Return to listing" href="#rev:Contents"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
157
+ <a name="Contents"/><div class="nav" id="Contents"><a title="Focus this segment" href="#Contents"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Return to listing" href="#rev:Contents"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
158
158
  <h1 class="title">Contents</h1>
159
- <ul><li>1&nbsp;&nbsp;<a id="rev:Introduction" href="#Introduction">Introduction</a><ul><li><a id="rev:Etymology" href="#Etymology">Etymology</a></li><li>1.1&nbsp;&nbsp;<a id="rev:Logistics" href="#Logistics">Logistics</a><ul><li><a id="rev:Version-numbers" href="#Version-numbers">Version numbers</a></li></ul></li><li>1.2&nbsp;&nbsp;<a id="rev:License" href="#License">License</a></li><li>1.3&nbsp;&nbsp;<a id="rev:Credits" href="#Credits">Credits</a></li></ul></li><li>2&nbsp;&nbsp;<a id="rev:Setup" href="#Setup">Setup</a><ul><li>2.1&nbsp;&nbsp;<a id="rev:Requirements" href="#Requirements">Requirements</a></li><li>2.2&nbsp;&nbsp;<a id="rev:Installation" href="#Installation">Installation</a></li><li>2.3&nbsp;&nbsp;<a id="rev:Manifest" href="#Manifest">Manifest</a></li></ul></li><li>3&nbsp;&nbsp;<a id="rev:Usage" href="#Usage">Usage</a><ul><li>3.1&nbsp;&nbsp;<a id="rev:Concepts" href="#Concepts">Concepts</a></li><li>3.2&nbsp;&nbsp;<a id="rev:Command-line-interface" href="#Command-line-interface">Command-line interface</a><ul><li><a id="rev:shell" href="#shell">Interactive shell</a></li></ul></li><li>3.3&nbsp;&nbsp;<a id="rev:Tutorial" href="#Tutorial">Tutorial</a><ul><li>3.3.1&nbsp;&nbsp;<a id="rev:Automated-client-arrangement" href="#Automated-client-arrangement">Automated client arrangement</a></li><li>3.3.2&nbsp;&nbsp;<a id="rev:Multiple-client-grouping" href="#Multiple-client-grouping">Multiple client grouping</a></li><li>3.3.3&nbsp;&nbsp;<a id="rev:Easy-column-manipulation" href="#Easy-column-manipulation">Easy column manipulation</a></li><li>3.3.4&nbsp;&nbsp;<a id="rev:Easy-client-manipulation" href="#Easy-client-manipulation">Easy client manipulation</a></li><li>3.3.5&nbsp;&nbsp;<a id="rev:Traversing-the-file-system" href="#Traversing-the-file-system">Traversing the file system</a></li><li>3.3.6&nbsp;&nbsp;<a id="rev:Available-commands" href="#Available-commands">Available commands</a></li></ul></li><li>3.4&nbsp;&nbsp;<a id="rev:wmiirc" href="#wmiirc">Scripting your wmiirc</a></li></ul></li><li>4&nbsp;&nbsp;<a id="rev:History" href="#History">History</a><ul><li>4.1&nbsp;&nbsp;<a id="rev:Version-2.1.0-2009-05-09" href="#Version-2.1.0-2009-05-09">Version 2.1.0 (2009-05-09)</a><ul><li><a id="rev:Thank-you" href="#Thank-you">Thank you</a></li><li><a id="rev:New-features" href="#New-features">New features</a></li><li><a id="rev:Bug-fixes" href="#Bug-fixes">Bug fixes</a></li><li><a id="rev:Housekeeping" href="#Housekeeping">Housekeeping</a></li></ul></li><li>4.2&nbsp;&nbsp;<a id="rev:Version-2.0.2-2009-02-26" href="#Version-2.0.2-2009-02-26">Version 2.0.2 (2009-02-26)</a><ul><li><a id="rev:Thank-you-612635358" href="#Thank-you-612635358">Thank you</a></li><li><a id="rev:Bug-fixes-611988658" href="#Bug-fixes-611988658">Bug fixes</a></li></ul></li><li>4.3&nbsp;&nbsp;<a id="rev:Version-2.0.1-2009-01-25" href="#Version-2.0.1-2009-01-25">Version 2.0.1 (2009-01-25)</a><ul><li><a id="rev:Bug-fixes-612040548" href="#Bug-fixes-612040548">Bug fixes</a></li><li><a id="rev:Housekeeping-612057028" href="#Housekeeping-612057028">Housekeeping</a></li></ul></li></ul></li></ul>
159
+ <ul><li>1&nbsp;&nbsp;<a id="rev:Introduction" href="#Introduction">Introduction</a><ul><li><a id="rev:Etymology" href="#Etymology">Etymology</a></li><li>1.1&nbsp;&nbsp;<a id="rev:Logistics" href="#Logistics">Logistics</a><ul><li><a id="rev:Version-numbers" href="#Version-numbers">Version numbers</a></li></ul></li><li>1.2&nbsp;&nbsp;<a id="rev:License" href="#License">License</a></li><li>1.3&nbsp;&nbsp;<a id="rev:Credits" href="#Credits">Credits</a></li></ul></li><li>2&nbsp;&nbsp;<a id="rev:Setup" href="#Setup">Setup</a><ul><li>2.1&nbsp;&nbsp;<a id="rev:Requirements" href="#Requirements">Requirements</a></li><li>2.2&nbsp;&nbsp;<a id="rev:Installation" href="#Installation">Installation</a></li><li>2.3&nbsp;&nbsp;<a id="rev:Manifest" href="#Manifest">Manifest</a></li></ul></li><li>3&nbsp;&nbsp;<a id="rev:Usage" href="#Usage">Usage</a><ul><li>3.1&nbsp;&nbsp;<a id="rev:Concepts" href="#Concepts">Concepts</a></li><li>3.2&nbsp;&nbsp;<a id="rev:Command-line-interface" href="#Command-line-interface">Command-line interface</a><ul><li><a id="rev:shell" href="#shell">Interactive shell</a></li></ul></li><li>3.3&nbsp;&nbsp;<a id="rev:Tutorial" href="#Tutorial">Tutorial</a><ul><li>3.3.1&nbsp;&nbsp;<a id="rev:Automated-client-arrangement" href="#Automated-client-arrangement">Automated client arrangement</a></li><li>3.3.2&nbsp;&nbsp;<a id="rev:Multiple-client-grouping" href="#Multiple-client-grouping">Multiple client grouping</a></li><li>3.3.3&nbsp;&nbsp;<a id="rev:Easy-column-manipulation" href="#Easy-column-manipulation">Easy column manipulation</a></li><li>3.3.4&nbsp;&nbsp;<a id="rev:Easy-client-manipulation" href="#Easy-client-manipulation">Easy client manipulation</a></li><li>3.3.5&nbsp;&nbsp;<a id="rev:Traversing-the-file-system" href="#Traversing-the-file-system">Traversing the file system</a></li><li>3.3.6&nbsp;&nbsp;<a id="rev:Available-commands" href="#Available-commands">Available commands</a></li></ul></li><li>3.4&nbsp;&nbsp;<a id="rev:wmiirc" href="#wmiirc">Scripting your wmiirc</a></li></ul></li><li>4&nbsp;&nbsp;<a id="rev:History" href="#History">History</a><ul><li>4.1&nbsp;&nbsp;<a id="rev:Version-3.0.0-2009-05-11" href="#Version-3.0.0-2009-05-11">Version 3.0.0 (2009-05-11)</a><ul><li><a id="rev:Incompatible-changes" href="#Incompatible-changes">Incompatible changes</a></li><li><a id="rev:New-features" href="#New-features">New features</a></li><li><a id="rev:Bug-fixes" href="#Bug-fixes">Bug fixes</a></li><li><a id="rev:Housekeeping" href="#Housekeeping">Housekeeping</a></li></ul></li><li>4.2&nbsp;&nbsp;<a id="rev:Version-2.1.0-2009-05-09" href="#Version-2.1.0-2009-05-09">Version 2.1.0 (2009-05-09)</a><ul><li><a id="rev:Thank-you" href="#Thank-you">Thank you</a></li><li><a id="rev:New-features-612007698" href="#New-features-612007698">New features</a></li><li><a id="rev:Bug-fixes-612014748" href="#Bug-fixes-612014748">Bug fixes</a></li><li><a id="rev:Housekeeping-612018528" href="#Housekeeping-612018528">Housekeeping</a></li></ul></li><li>4.3&nbsp;&nbsp;<a id="rev:Version-2.0.2-2009-02-26" href="#Version-2.0.2-2009-02-26">Version 2.0.2 (2009-02-26)</a><ul><li><a id="rev:Thank-you-611677758" href="#Thank-you-611677758">Thank you</a></li><li><a id="rev:Bug-fixes-611682128" href="#Bug-fixes-611682128">Bug fixes</a></li></ul></li><li>4.4&nbsp;&nbsp;<a id="rev:Version-2.0.1-2009-01-25" href="#Version-2.0.1-2009-01-25">Version 2.0.1 (2009-01-25)</a><ul><li><a id="rev:Bug-fixes-611692458" href="#Bug-fixes-611692458">Bug fixes</a></li><li><a id="rev:Housekeeping-611696068" href="#Housekeeping-611696068">Housekeeping</a></li></ul></li><li>4.5&nbsp;&nbsp;<a id="rev:Version-2.0.0-2008-02-04" href="#Version-2.0.0-2008-02-04">Version 2.0.0 (2008-02-04)</a><ul><li><a id="rev:Thank-you-611714488" href="#Thank-you-611714488">Thank you</a></li><li><a id="rev:Incompatible-changes-611720848" href="#Incompatible-changes-611720848">Incompatible changes</a></li><li><a id="rev:New-features-611728378" href="#New-features-611728378">New features</a></li><li><a id="rev:Bug-fixes-611732428" href="#Bug-fixes-611732428">Bug fixes</a></li></ul></li><li>4.6&nbsp;&nbsp;<a id="rev:Version-1.0.0-2008-01-26" href="#Version-1.0.0-2008-01-26">Version 1.0.0 (2008-01-26)</a></li></ul></li></ul>
160
160
  </div>
161
161
 
162
162
 
@@ -171,20 +171,26 @@
171
171
 
172
172
 
173
173
  <div class="chapter">
174
- <a name="Introduction"/><div class="nav" id="Introduction"><a title="Focus this segment" href="#Introduction"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus next segment" href="#Etymology"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Introduction"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
174
+ <a name="Introduction"/><div class="nav" id="Introduction"><a title="Focus this segment" href="#Introduction"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus next segment" href="#Etymology"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Introduction"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
175
175
  <h1 class="title">
176
176
  Chapter&nbsp;1
177
177
  <br/>
178
178
  <big>Introduction</big>
179
179
  </h1>
180
- <div class="content"><p>Rumai is a <a href='http://ruby-lang.org'>Ruby</a> interface to the <a href='http://www.suckless.org/wiki/wmii'>wmii</a> window manager.</p>
180
+ <div class="content"><p>Rumai is a <a href='http://ruby-lang.org'>Ruby</a> interface to the <a href='http://wmii.suckless.org'>wmii</a> window manager.</p>
181
181
 
182
182
  <ul>
183
- <li>It excels at dynamic arrangement of clients, columns, views, and tags.</li>
183
+ <li>
184
+ <p>It excels at dynamic arrangement of clients, columns, views, and tags.</p>
185
+ </li>
184
186
 
185
- <li>It provides an <a class="xref" href="#shell" title="Paragraph. &quot;Interactive shell&quot;">interactive shell</a> for live entertainment.</li>
187
+ <li>
188
+ <p>It provides an <a class="xref" href="#shell" title="Paragraph. &quot;Interactive shell&quot;">interactive shell</a> for live entertainment and experimentation.</p>
189
+ </li>
186
190
 
187
- <li>It contains a pure Ruby client for the <a href='http://cm.bell-labs.com/magic/man2html/5/intro'>9P2000 protocol</a> on which wmii&#8217;s <a href='http://www.suckless.org/wiki/libs/libixp'>IXP file-system interface</a> is built.</li>
191
+ <li>
192
+ <p>It contains a pure Ruby client for the <a href='http://cm.bell-labs.com/magic/man2html/5/intro'>9P2000 protocol</a> on which wmii&#8217;s <a href='http://libs.suckless.org/libixp'>IXP file-system interface</a> is built.</p>
193
+ </li>
188
194
  </ul><p> These features distinguish Rumai from the competition:</p>
189
195
 
190
196
  <ul>
@@ -198,7 +204,7 @@
198
204
  </ul>
199
205
 
200
206
  <div class="paragraph">
201
- <a name="Etymology"/><div class="nav" id="Etymology"><a title="Focus this segment" href="#Etymology"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Introduction"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Logistics"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Etymology"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
207
+ <a name="Etymology"/><div class="nav" id="Etymology"><a title="Focus this segment" href="#Etymology"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Introduction"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Logistics"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Etymology"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
202
208
  <p class="title">Etymology</p>
203
209
  <div class="content"><p>The word &#8220;wmii&#8221; is incredibly difficult to pronounce because it is an abbreviation, not an acronym. If we were to treat it as an acronym, the closest pronounciation would be, in my mind, something like &#8220;vim-eye&#8221;.</p>
204
210
 
@@ -214,7 +220,7 @@
214
220
 
215
221
  <p>And thus we get &#8220;Rumai&#8221;.</p></div>
216
222
  </div><div class="section">
217
- <a name="Logistics"/><div class="nav" id="Logistics"><a title="Focus this segment" href="#Logistics"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Etymology"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Version-numbers"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Logistics"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
223
+ <a name="Logistics"/><div class="nav" id="Logistics"><a title="Focus this segment" href="#Logistics"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Etymology"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Version-numbers"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Logistics"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
218
224
  <h2 class="title">
219
225
  1.1&nbsp;&nbsp;Logistics
220
226
  </h2>
@@ -231,7 +237,7 @@
231
237
  <p>To get help or provide feedback, simply <a class="xref" href="#License" title="Section 1.2. &quot;License&quot;">contact the author(s)</a>.</p>
232
238
 
233
239
  <div class="paragraph">
234
- <a name="Version-numbers"/><div class="nav" id="Version-numbers"><a title="Focus this segment" href="#Version-numbers"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Logistics"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#License"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Version-numbers"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
240
+ <a name="Version-numbers"/><div class="nav" id="Version-numbers"><a title="Focus this segment" href="#Version-numbers"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Logistics"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#License"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Version-numbers"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
235
241
  <p class="title">Version numbers</p>
236
242
  <div class="content"><p>Rumai releases are numbered in <em>major.minor.patch</em> form according to the <a href='http://www.rubygems.org/read/chapter/7'>RubyGems rational versioning policy</a>, which can be summarized thus:</p>
237
243
  <table border="1">
@@ -269,7 +275,7 @@
269
275
  </table></div>
270
276
  </div><p></p></div>
271
277
  </div><div class="section">
272
- <a name="License"/><div class="nav" id="License"><a title="Focus this segment" href="#License"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Version-numbers"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Credits"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:License"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
278
+ <a name="License"/><div class="nav" id="License"><a title="Focus this segment" href="#License"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Version-numbers"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Credits"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:License"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
273
279
  <h2 class="title">
274
280
  1.2&nbsp;&nbsp;License
275
281
  </h2>
@@ -281,13 +287,15 @@
281
287
 
282
288
  <p>THE SOFTWARE IS PROVIDED &#8220;AS IS&#8221; AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</p></div>
283
289
  </div><div class="section">
284
- <a name="Credits"/><div class="nav" id="Credits"><a title="Focus this segment" href="#Credits"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#License"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Setup"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Credits"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
290
+ <a name="Credits"/><div class="nav" id="Credits"><a title="Focus this segment" href="#Credits"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#License"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Setup"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Credits"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
285
291
  <h2 class="title">
286
292
  1.3&nbsp;&nbsp;Credits
287
293
  </h2>
288
294
  <div class="content"><p>Rumai is made possible by <a class="xref" href="#History" title="Chapter 4. &quot;History&quot;">contributions</a> from users like you:</p>
289
295
 
290
296
  <ul>
297
+ <li><a href='http://textmode.at'>Christoph Blank</a></li>
298
+
291
299
  <li>Michael Andrus</li>
292
300
 
293
301
  <li><a href='http://github.com/Tass'>Simon Hafner</a></li>
@@ -296,24 +304,24 @@
296
304
  </div>
297
305
 
298
306
  <div class="chapter">
299
- <a name="Setup"/><div class="nav" id="Setup"><a title="Focus this segment" href="#Setup"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Credits"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Requirements"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Setup"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
307
+ <a name="Setup"/><div class="nav" id="Setup"><a title="Focus this segment" href="#Setup"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Credits"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Requirements"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Setup"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
300
308
  <h1 class="title">
301
309
  Chapter&nbsp;2
302
310
  <br/>
303
311
  <big>Setup</big>
304
312
  </h1>
305
313
  <div class="content"><div class="section">
306
- <a name="Requirements"/><div class="nav" id="Requirements"><a title="Focus this segment" href="#Requirements"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Setup"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Installation"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Requirements"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
314
+ <a name="Requirements"/><div class="nav" id="Requirements"><a title="Focus this segment" href="#Requirements"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Setup"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Installation"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Requirements"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
307
315
  <h2 class="title">
308
316
  2.1&nbsp;&nbsp;Requirements
309
317
  </h2>
310
318
  <div class="content"><p>Your system needs the following software to run Rumai.</p>
311
319
  <table border="1"><thead><tr><th>Software</th><th>Description</th><th>Notes</th></tr></thead><tbody><tr><td style='text-align: left;'><a href='http://ruby-lang.org'>Ruby</a></td><td style='text-align: left;'>Ruby language interpreter</td><td style='text-align: left;'>Version 1.8.6 or newer is required.</td>
312
320
  </tr><tr><td style='text-align: left;'><a href='http://rubygems.org'>RubyGems</a></td><td style='text-align: left;'>Ruby packaging system</td><td style='text-align: left;'>Version 1.3.1 or newer is required.</td>
313
- </tr><tr><td style='text-align: left;'><a href='http://www.suckless.org/wiki/wmii'>wmii</a></td><td style='text-align: left;'>Window manager</td><td style='text-align: left;'>Version 3.6 or newer is required.</td>
321
+ </tr><tr><td style='text-align: left;'><a href='http://wmii.suckless.org'>wmii</a></td><td style='text-align: left;'>Window manager</td><td style='text-align: left;'>Version 3.6 or newer is required.</td>
314
322
  </tr></tbody></table></div>
315
323
  </div><div class="section">
316
- <a name="Installation"/><div class="nav" id="Installation"><a title="Focus this segment" href="#Installation"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Requirements"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Manifest"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Installation"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
324
+ <a name="Installation"/><div class="nav" id="Installation"><a title="Focus this segment" href="#Installation"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Requirements"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Manifest"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Installation"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
317
325
  <h2 class="title">
318
326
  2.2&nbsp;&nbsp;Installation
319
327
  </h2>
@@ -328,14 +336,14 @@
328
336
  <p>If the installation was successful, you will see output like this:</p>
329
337
 
330
338
  <pre>project: Rumai
331
- version: 2.1.0
332
- release: 2009-05-09
339
+ version: 3.0.0
340
+ release: 2009-05-11
333
341
  website: http://snk.tuxfamily.org/lib/rumai/
334
342
  install: /home/sun/src/rumai</pre><p></p>
335
343
 
336
344
  <p>If you do not see such output, you may <a class="xref" href="#License" title="Section 1.2. &quot;License&quot;">ask the author(s)</a> for help.</p></div>
337
345
  </div><div class="section">
338
- <a name="Manifest"/><div class="nav" id="Manifest"><a title="Focus this segment" href="#Manifest"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Installation"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Usage"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Manifest"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
346
+ <a name="Manifest"/><div class="nav" id="Manifest"><a title="Focus this segment" href="#Manifest"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Installation"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Usage"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Manifest"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
339
347
  <h2 class="title">
340
348
  2.3&nbsp;&nbsp;Manifest
341
349
  </h2>
@@ -392,14 +400,14 @@ install: /home/sun/src/rumai</pre><p></p>
392
400
  </div>
393
401
 
394
402
  <div class="chapter">
395
- <a name="Usage"/><div class="nav" id="Usage"><a title="Focus this segment" href="#Usage"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Manifest"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Concepts"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Usage"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
403
+ <a name="Usage"/><div class="nav" id="Usage"><a title="Focus this segment" href="#Usage"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Manifest"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Concepts"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Usage"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
396
404
  <h1 class="title">
397
405
  Chapter&nbsp;3
398
406
  <br/>
399
407
  <big>Usage</big>
400
408
  </h1>
401
409
  <div class="content"><div class="section">
402
- <a name="Concepts"/><div class="nav" id="Concepts"><a title="Focus this segment" href="#Concepts"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Usage"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Command-line-interface"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Concepts"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
410
+ <a name="Concepts"/><div class="nav" id="Concepts"><a title="Focus this segment" href="#Concepts"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Usage"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Command-line-interface"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Concepts"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
403
411
  <h2 class="title">
404
412
  3.1&nbsp;&nbsp;Concepts
405
413
  </h2>
@@ -447,7 +455,7 @@ install: /home/sun/src/rumai</pre><p></p>
447
455
  </dd>
448
456
  </dl></div>
449
457
  </div><div class="section">
450
- <a name="Command-line-interface"/><div class="nav" id="Command-line-interface"><a title="Focus this segment" href="#Command-line-interface"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Concepts"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#shell"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Command-line-interface"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
458
+ <a name="Command-line-interface"/><div class="nav" id="Command-line-interface"><a title="Focus this segment" href="#Command-line-interface"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Concepts"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#shell"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Command-line-interface"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
451
459
  <h2 class="title">
452
460
  3.2&nbsp;&nbsp;Command-line interface
453
461
  </h2>
@@ -477,7 +485,7 @@ Options:
477
485
  --help, -h: Show this message</pre><p></p>
478
486
 
479
487
  <div class="paragraph">
480
- <a name="shell"/><div class="nav" id="shell"><a title="Focus this segment" href="#shell"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Command-line-interface"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Tutorial"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:shell"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
488
+ <a name="shell"/><div class="nav" id="shell"><a title="Focus this segment" href="#shell"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Command-line-interface"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Tutorial"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:shell"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
481
489
  <p class="title">Interactive shell</p>
482
490
  <div class="content"><p>When you run this command:</p>
483
491
 
@@ -494,19 +502,19 @@ Options:
494
502
  <p>The next thing to note is that <strong>tab completion</strong> is enabled by default. So you can type part of a command and press the TAB key to see a list of possible completions.</p></div>
495
503
  </div><p></p></div>
496
504
  </div><div class="section">
497
- <a name="Tutorial"/><div class="nav" id="Tutorial"><a title="Focus this segment" href="#Tutorial"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#shell"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Automated-client-arrangement"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Tutorial"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
505
+ <a name="Tutorial"/><div class="nav" id="Tutorial"><a title="Focus this segment" href="#Tutorial"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#shell"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Automated-client-arrangement"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Tutorial"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
498
506
  <h2 class="title">
499
507
  3.3&nbsp;&nbsp;Tutorial
500
508
  </h2>
501
509
  <div class="content"><p>Now that you know <a class="xref" href="#shell" title="Paragraph. &quot;Interactive shell&quot;">how to start the interactive shell</a>, let us walk through a quick demonstration that highlights the main features of Rumai. You can follow along by copying &amp; pasting the presented commands into the interactive shell.</p>
502
510
 
503
511
  <div class="section">
504
- <a name="Automated-client-arrangement"/><div class="nav" id="Automated-client-arrangement"><a title="Focus this segment" href="#Automated-client-arrangement"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Tutorial"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Multiple-client-grouping"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Automated-client-arrangement"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
512
+ <a name="Automated-client-arrangement"/><div class="nav" id="Automated-client-arrangement"><a title="Focus this segment" href="#Automated-client-arrangement"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Tutorial"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Multiple-client-grouping"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Automated-client-arrangement"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
505
513
  <h3 class="title">
506
514
  3.3.1&nbsp;&nbsp;Automated client arrangement
507
515
  </h3>
508
516
  <div class="content"><p>Launch a few terminals so that we have something to work with: <ins><pre class="para">colors = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style=""> red green blue black orange brown gray navy gold </span><span style="color:#710">]</span></span>
509
- colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">xterm -bg </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -title </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -e read &amp;</span><span style="color:#710">&quot;</span></span> }
517
+ colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">xterm -bg </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -title </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -e sh -c read &amp;</span><span style="color:#710">&quot;</span></span> }
510
518
  </pre></ins></p>
511
519
 
512
520
  <p>Arrange all clients in a grid:</p>
@@ -528,12 +536,12 @@ colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span
528
536
  terms.each {|c| c.kill }
529
537
  </pre></ins></p></div>
530
538
  </div><div class="section">
531
- <a name="Multiple-client-grouping"/><div class="nav" id="Multiple-client-grouping"><a title="Focus this segment" href="#Multiple-client-grouping"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Automated-client-arrangement"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Easy-column-manipulation"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Multiple-client-grouping"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
539
+ <a name="Multiple-client-grouping"/><div class="nav" id="Multiple-client-grouping"><a title="Focus this segment" href="#Multiple-client-grouping"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Automated-client-arrangement"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Easy-column-manipulation"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Multiple-client-grouping"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
532
540
  <h3 class="title">
533
541
  3.3.2&nbsp;&nbsp;Multiple client grouping
534
542
  </h3>
535
543
  <div class="content"><p>Launch a few terminals so that we have something to work with: <ins><pre class="para">colors = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style=""> red green blue black orange brown gray navy gold </span><span style="color:#710">]</span></span>
536
- colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">xterm -bg </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -title </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -e read &amp;</span><span style="color:#710">&quot;</span></span> }
544
+ colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">xterm -bg </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -title </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -e sh -c read &amp;</span><span style="color:#710">&quot;</span></span> }
537
545
  </pre></ins></p>
538
546
 
539
547
  <p>Add the red, green, and blue terminals into the &#8220;grouping&#8221;:</p>
@@ -568,12 +576,12 @@ terms.each {|c| c.kill }
568
576
 
569
577
  <p>Another important aspect is that selected clients stay selected until they are unselected. This allows you to continue performing tasks on the selection without having to reselect the same clients after every operation.</p></div>
570
578
  </div><div class="section">
571
- <a name="Easy-column-manipulation"/><div class="nav" id="Easy-column-manipulation"><a title="Focus this segment" href="#Easy-column-manipulation"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Multiple-client-grouping"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Easy-client-manipulation"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Easy-column-manipulation"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
579
+ <a name="Easy-column-manipulation"/><div class="nav" id="Easy-column-manipulation"><a title="Focus this segment" href="#Easy-column-manipulation"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Multiple-client-grouping"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Easy-client-manipulation"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Easy-column-manipulation"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
572
580
  <h3 class="title">
573
581
  3.3.3&nbsp;&nbsp;Easy column manipulation
574
582
  </h3>
575
583
  <div class="content"><p>Launch a few terminals so that we have something to work with: <ins><pre class="para">colors = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style=""> red green blue black orange brown gray navy gold </span><span style="color:#710">]</span></span>
576
- colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">xterm -bg </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -title </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -e read &amp;</span><span style="color:#710">&quot;</span></span> }
584
+ colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">xterm -bg </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -title </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -e sh -c read &amp;</span><span style="color:#710">&quot;</span></span> }
577
585
  </pre></ins></p>
578
586
 
579
587
  <p>You can insert a group of clients to the top, bottom, or after the currently focused client of <em>any</em> column using Array-like methods.</p>
@@ -621,12 +629,12 @@ b.concat a
621
629
  terms.each {|c| c.kill }
622
630
  </pre></ins></p></div>
623
631
  </div><div class="section">
624
- <a name="Easy-client-manipulation"/><div class="nav" id="Easy-client-manipulation"><a title="Focus this segment" href="#Easy-client-manipulation"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Easy-column-manipulation"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Traversing-the-file-system"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Easy-client-manipulation"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
632
+ <a name="Easy-client-manipulation"/><div class="nav" id="Easy-client-manipulation"><a title="Focus this segment" href="#Easy-client-manipulation"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Easy-column-manipulation"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Traversing-the-file-system"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Easy-client-manipulation"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
625
633
  <h3 class="title">
626
634
  3.3.4&nbsp;&nbsp;Easy client manipulation
627
635
  </h3>
628
636
  <div class="content"><p>Launch a few terminals so that we have something to work with: <ins><pre class="para">colors = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style=""> red green blue black orange brown gray navy gold </span><span style="color:#710">]</span></span>
629
- colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">xterm -bg </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -title </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -e read &amp;</span><span style="color:#710">&quot;</span></span> }
637
+ colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">xterm -bg </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -title </span><span style="background:#eee;color:black"><span style="font-weight:bold;color:#777">#{</span>c<span style="font-weight:bold;color:#777">}</span></span><span style=""> -e sh -c read &amp;</span><span style="color:#710">&quot;</span></span> }
630
638
  </pre></ins></p>
631
639
 
632
640
  <p>Obtain a reference to the red client:</p>
@@ -683,7 +691,7 @@ red.focus v
683
691
  terms.each {|c| c.kill }
684
692
  </pre></ins></p></div>
685
693
  </div><div class="section">
686
- <a name="Traversing-the-file-system"/><div class="nav" id="Traversing-the-file-system"><a title="Focus this segment" href="#Traversing-the-file-system"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Easy-client-manipulation"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Available-commands"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Traversing-the-file-system"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
694
+ <a name="Traversing-the-file-system"/><div class="nav" id="Traversing-the-file-system"><a title="Focus this segment" href="#Traversing-the-file-system"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Easy-client-manipulation"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Available-commands"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Traversing-the-file-system"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
687
695
  <h3 class="title">
688
696
  3.3.5&nbsp;&nbsp;Traversing the file system
689
697
  </h3>
@@ -740,14 +748,14 @@ b.read == content <span style="color:#888">#=&gt; true</span>
740
748
  b.exist? <span style="color:#888">#=&gt; false</span>
741
749
  </pre></ins></p></div>
742
750
  </div><div class="section">
743
- <a name="Available-commands"/><div class="nav" id="Available-commands"><a title="Focus this segment" href="#Available-commands"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Traversing-the-file-system"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#wmiirc"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Available-commands"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
751
+ <a name="Available-commands"/><div class="nav" id="Available-commands"><a title="Focus this segment" href="#Available-commands"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Traversing-the-file-system"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#wmiirc"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Available-commands"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
744
752
  <h3 class="title">
745
753
  3.3.6&nbsp;&nbsp;Available commands
746
754
  </h3>
747
755
  <div class="content"><p>Refer to the <code class="line"><span style="color:#036;font-weight:bold">Rumai</span></code> module in the <a href='api/index.html'>API documentation</a> for a complete list of commands (method calls, really) and their documentation.</p></div>
748
756
  </div><p> </p></div>
749
757
  </div><div class="section">
750
- <a name="wmiirc"/><div class="nav" id="wmiirc"><a title="Focus this segment" href="#wmiirc"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Available-commands"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#History"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:wmiirc"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
758
+ <a name="wmiirc"/><div class="nav" id="wmiirc"><a title="Focus this segment" href="#wmiirc"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Available-commands"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#History"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:wmiirc"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
751
759
  <h2 class="title">
752
760
  3.4&nbsp;&nbsp;Scripting your wmiirc
753
761
  </h2>
@@ -756,21 +764,99 @@ b.exist? <span style="color:#888">#=&gt; false</span>
756
764
  </div>
757
765
 
758
766
  <div class="chapter">
759
- <a name="History"/><div class="nav" id="History"><a title="Focus this segment" href="#History"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#wmiirc"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Version-2.1.0-2009-05-09"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:History"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
767
+ <a name="History"/><div class="nav" id="History"><a title="Focus this segment" href="#History"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#wmiirc"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Version-3.0.0-2009-05-11"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:History"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
760
768
  <h1 class="title">
761
769
  Chapter&nbsp;4
762
770
  <br/>
763
771
  <big>History</big>
764
772
  </h1>
765
773
  <div class="content"><div class="section">
766
- <a name="Version-2.1.0-2009-05-09"/><div class="nav" id="Version-2.1.0-2009-05-09"><a title="Focus this segment" href="#Version-2.1.0-2009-05-09"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#History"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Thank-you"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Version-2.1.0-2009-05-09"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
774
+ <a name="Version-3.0.0-2009-05-11"/><div class="nav" id="Version-3.0.0-2009-05-11"><a title="Focus this segment" href="#Version-3.0.0-2009-05-11"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#History"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Incompatible-changes"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Version-3.0.0-2009-05-11"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
767
775
  <h2 class="title">
768
- 4.1&nbsp;&nbsp;Version 2.1.0 (2009-05-09)
776
+ 4.1&nbsp;&nbsp;Version 3.0.0 (2009-05-11)
777
+ </h2>
778
+ <div class="content"><p>This release revises method names, adds new methods, and fixes a bug.</p>
779
+
780
+ <div class="paragraph">
781
+ <a name="Incompatible-changes"/><div class="nav" id="Incompatible-changes"><a title="Focus this segment" href="#Incompatible-changes"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Version-3.0.0-2009-05-11"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#New-features"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Incompatible-changes"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
782
+ <p class="title">Incompatible changes</p>
783
+ <div class="content"><ul>
784
+ <li>
785
+ <p>Rename <code class="line"><span style="color:#888">#toggle_</span></code> methods to use <code class="line">!</code> suffix in their names.</p>
786
+ </li>
787
+
788
+ <li>
789
+ <p>Rename <code class="line"><span style="color:#888">#float</span></code> methods to <code class="line"><span style="color:#888">#floating</span></code>.</p>
790
+ </li>
791
+
792
+ <li>
793
+ <p>Rename <code class="line"><span style="color:#036;font-weight:bold">View</span><span style="color:#888">#floater</span></code> method to <code class="line"><span style="color:#036;font-weight:bold">View</span><span style="color:#888">#floating_area</span></code>.</p>
794
+ </li>
795
+ </ul></div>
796
+ </div><div class="paragraph">
797
+ <a name="New-features"/><div class="nav" id="New-features"><a title="Focus this segment" href="#New-features"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Incompatible-changes"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Bug-fixes"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:New-features"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
798
+ <p class="title">New features</p>
799
+ <div class="content"><ul>
800
+ <li>
801
+ <p>Add <code class="line"><span style="color:#036;font-weight:bold">Client</span><span style="color:#888">#stick</span></code> methods to manipulate sticky status.</p>
802
+ </li>
803
+
804
+ <li>
805
+ <p>Add <code class="line"><span style="color:#036;font-weight:bold">Client</span><span style="color:#888">#fullscreen</span></code> methods to manipulate fullscreen status.</p>
806
+ </li>
807
+
808
+ <li>
809
+ <p>Add <code class="line"><span style="color:#036;font-weight:bold">Client</span><span style="color:#888">#slay</span></code> method which is a forceful version of <code class="line"><span style="color:#888">#kill</span></code>.</p>
810
+ </li>
811
+
812
+ <li>
813
+ <p>Add <code class="line"><span style="color:#036;font-weight:bold">View</span><span style="color:#888">#select</span></code> method to move focus relatively inside a view.</p>
814
+ </li>
815
+
816
+ <li>
817
+ <p>Add <code class="line"><span style="color:#036;font-weight:bold">Area</span>::floating</code> method for symmetry with <code class="line"><span style="color:#036;font-weight:bold">Area</span>::curr</code>.</p>
818
+ </li>
819
+
820
+ <li>
821
+ <p>Add <code class="line"><span style="color:#036;font-weight:bold">View</span><span style="color:#888">#managed_area</span></code> aliases for <code class="line"><span style="color:#036;font-weight:bold">View</span><span style="color:#888">#column</span></code> methods.</p>
822
+ </li>
823
+ </ul></div>
824
+ </div><div class="paragraph">
825
+ <a name="Bug-fixes"/><div class="nav" id="Bug-fixes"><a title="Focus this segment" href="#Bug-fixes"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#New-features"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Housekeeping"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Bug-fixes"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
826
+ <p class="title">Bug fixes</p>
827
+ <div class="content"><ul>
828
+ <li>
829
+ <p>Fix error when unzooming clients from temporary view.</p>
830
+ </li>
831
+
832
+ <li>
833
+ <p>Fix code that launches temporary terminals in <a class="xref" href="#Tutorial" title="Section 3.3">Tutorial</a>.</p>
834
+
835
+ <p>Use the <tt>/bin/sh</tt> version of the <strong>read</strong> command for portability.</p>
836
+ </li>
837
+ </ul></div>
838
+ </div><div class="paragraph">
839
+ <a name="Housekeeping"/><div class="nav" id="Housekeeping"><a title="Focus this segment" href="#Housekeeping"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Bug-fixes"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Version-2.1.0-2009-05-09"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Housekeeping"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
840
+ <p class="title">Housekeeping</p>
841
+ <div class="content"><ul>
842
+ <li>
843
+ <p>Use <code class="line"><span style="color:#036;font-weight:bold">Client</span><span style="color:#888">#send</span></code> instead of <code class="line"><span style="color:#888">#swap</span></code> in automated arrangements because it causes less traffic on /event/.</p>
844
+ </li>
845
+
846
+ <li>
847
+ <p>Add old release notes from blog to user manual.</p>
848
+ </li>
849
+ </ul></div>
850
+ </div><p> </p></div>
851
+ </div><div class="section">
852
+ <a name="Version-2.1.0-2009-05-09"/><div class="nav" id="Version-2.1.0-2009-05-09"><a title="Focus this segment" href="#Version-2.1.0-2009-05-09"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Housekeeping"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Thank-you"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Version-2.1.0-2009-05-09"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
853
+ <h2 class="title">
854
+ 4.2&nbsp;&nbsp;Version 2.1.0 (2009-05-09)
769
855
  </h2>
770
856
  <div class="content"><p>This release improves client arrangement, fixes several bugs, and cleans up the code.</p>
771
857
 
772
858
  <div class="paragraph">
773
- <a name="Thank-you"/><div class="nav" id="Thank-you"><a title="Focus this segment" href="#Thank-you"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Version-2.1.0-2009-05-09"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#New-features"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Thank-you"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
859
+ <a name="Thank-you"/><div class="nav" id="Thank-you"><a title="Focus this segment" href="#Thank-you"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Version-2.1.0-2009-05-09"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#New-features-612007698"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Thank-you"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
774
860
  <p class="title">Thank you</p>
775
861
  <div class="content"><ul>
776
862
  <li>Simon Hafner reported several bugs.</li>
@@ -778,7 +864,7 @@ b.exist? <span style="color:#888">#=&gt; false</span>
778
864
  <li>Michael Andrus verified bug fixes.</li>
779
865
  </ul></div>
780
866
  </div><div class="paragraph">
781
- <a name="New-features"/><div class="nav" id="New-features"><a title="Focus this segment" href="#New-features"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Thank-you"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Bug-fixes"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:New-features"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
867
+ <a name="New-features-612007698"/><div class="nav" id="New-features-612007698"><a title="Focus this segment" href="#New-features-612007698"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Thank-you"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Bug-fixes-612014748"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:New-features-612007698"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
782
868
  <p class="title">New features</p>
783
869
  <div class="content"><ul>
784
870
  <li>
@@ -794,7 +880,7 @@ b.exist? <span style="color:#888">#=&gt; false</span>
794
880
  </li>
795
881
  </ul></div>
796
882
  </div><div class="paragraph">
797
- <a name="Bug-fixes"/><div class="nav" id="Bug-fixes"><a title="Focus this segment" href="#Bug-fixes"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#New-features"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Housekeeping"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Bug-fixes"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
883
+ <a name="Bug-fixes-612014748"/><div class="nav" id="Bug-fixes-612014748"><a title="Focus this segment" href="#Bug-fixes-612014748"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#New-features-612007698"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Housekeeping-612018528"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Bug-fixes-612014748"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
798
884
  <p class="title">Bug fixes</p>
799
885
  <div class="content"><ul>
800
886
  <li>
@@ -806,7 +892,7 @@ b.exist? <span style="color:#888">#=&gt; false</span>
806
892
  </li>
807
893
  </ul></div>
808
894
  </div><div class="paragraph">
809
- <a name="Housekeeping"/><div class="nav" id="Housekeeping"><a title="Focus this segment" href="#Housekeeping"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Bug-fixes"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Version-2.0.2-2009-02-26"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Housekeeping"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
895
+ <a name="Housekeeping-612018528"/><div class="nav" id="Housekeeping-612018528"><a title="Focus this segment" href="#Housekeeping-612018528"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Bug-fixes-612014748"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Version-2.0.2-2009-02-26"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Housekeeping-612018528"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
810
896
  <p class="title">Housekeeping</p>
811
897
  <div class="content"><ul>
812
898
  <li>
@@ -823,40 +909,40 @@ b.exist? <span style="color:#888">#=&gt; false</span>
823
909
  </ul></div>
824
910
  </div><p> </p></div>
825
911
  </div><div class="section">
826
- <a name="Version-2.0.2-2009-02-26"/><div class="nav" id="Version-2.0.2-2009-02-26"><a title="Focus this segment" href="#Version-2.0.2-2009-02-26"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Housekeeping"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Thank-you-612635358"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Version-2.0.2-2009-02-26"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
912
+ <a name="Version-2.0.2-2009-02-26"/><div class="nav" id="Version-2.0.2-2009-02-26"><a title="Focus this segment" href="#Version-2.0.2-2009-02-26"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Housekeeping-612018528"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Thank-you-611677758"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Version-2.0.2-2009-02-26"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
827
913
  <h2 class="title">
828
- 4.2&nbsp;&nbsp;Version 2.0.2 (2009-02-26)
914
+ 4.3&nbsp;&nbsp;Version 2.0.2 (2009-02-26)
829
915
  </h2>
830
916
  <div class="content"><p>This release fixes a connection bug.</p>
831
917
 
832
918
  <div class="paragraph">
833
- <a name="Thank-you-612635358"/><div class="nav" id="Thank-you-612635358"><a title="Focus this segment" href="#Thank-you-612635358"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Version-2.0.2-2009-02-26"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Bug-fixes-611988658"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Thank-you-612635358"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
919
+ <a name="Thank-you-611677758"/><div class="nav" id="Thank-you-611677758"><a title="Focus this segment" href="#Thank-you-611677758"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Version-2.0.2-2009-02-26"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Bug-fixes-611682128"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Thank-you-611677758"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
834
920
  <p class="title">Thank you</p>
835
921
  <div class="content"><ul>
836
922
  <li>Simon Hafner reported and helped debug the <code class="line"><span style="color:#d70;font-weight:bold">$DISPLAY</span></code> bug.</li>
837
923
  </ul></div>
838
924
  </div><div class="paragraph">
839
- <a name="Bug-fixes-611988658"/><div class="nav" id="Bug-fixes-611988658"><a title="Focus this segment" href="#Bug-fixes-611988658"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Thank-you-612635358"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Version-2.0.1-2009-01-25"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Bug-fixes-611988658"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
925
+ <a name="Bug-fixes-611682128"/><div class="nav" id="Bug-fixes-611682128"><a title="Focus this segment" href="#Bug-fixes-611682128"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Thank-you-611677758"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Version-2.0.1-2009-01-25"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Bug-fixes-611682128"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
840
926
  <p class="title">Bug fixes</p>
841
927
  <div class="content"><ul>
842
928
  <li>wmii omits the fractional portion of <code class="line"><span style="color:#d70;font-weight:bold">$DISPLAY</span></code> in its socket file path. Rumai was trying to connect with the entire <code class="line"><span style="color:#d70;font-weight:bold">$DISPLAY</span></code> value (including the fractional portion) and thus could not find wmii&#8217;s socket file.</li>
843
929
  </ul></div>
844
930
  </div><p> </p></div>
845
931
  </div><div class="section">
846
- <a name="Version-2.0.1-2009-01-25"/><div class="nav" id="Version-2.0.1-2009-01-25"><a title="Focus this segment" href="#Version-2.0.1-2009-01-25"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Bug-fixes-611988658"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Bug-fixes-612040548"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Version-2.0.1-2009-01-25"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
932
+ <a name="Version-2.0.1-2009-01-25"/><div class="nav" id="Version-2.0.1-2009-01-25"><a title="Focus this segment" href="#Version-2.0.1-2009-01-25"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Bug-fixes-611682128"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Bug-fixes-611692458"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Version-2.0.1-2009-01-25"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
847
933
  <h2 class="title">
848
- 4.3&nbsp;&nbsp;Version 2.0.1 (2009-01-25)
934
+ 4.4&nbsp;&nbsp;Version 2.0.1 (2009-01-25)
849
935
  </h2>
850
936
  <div class="content"><p>This release simplifies project administrivia using <a href='http://snk.tuxfamily.org/lib/inochi'>Inochi</a>, improves the unit tests, and revises the user manual.</p>
851
937
 
852
938
  <div class="paragraph">
853
- <a name="Bug-fixes-612040548"/><div class="nav" id="Bug-fixes-612040548"><a title="Focus this segment" href="#Bug-fixes-612040548"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Version-2.0.1-2009-01-25"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Focus next segment" href="#Housekeeping-612057028"><img class="icon" src="&icon_nav_next;" alt="&darr;"/></a> <a title="Return to listing" href="#rev:Bug-fixes-612040548"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
939
+ <a name="Bug-fixes-611692458"/><div class="nav" id="Bug-fixes-611692458"><a title="Focus this segment" href="#Bug-fixes-611692458"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Version-2.0.1-2009-01-25"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Housekeeping-611696068"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Bug-fixes-611692458"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
854
940
  <p class="title">Bug fixes</p>
855
941
  <div class="content"><ul>
856
942
  <li>The <tt>lib/rumai/ixp/message.rb</tt> library&#8217;s unit test would fail if <tt>/rbar/status</tt> did not already exist in wmii.</li>
857
943
  </ul></div>
858
944
  </div><div class="paragraph">
859
- <a name="Housekeeping-612057028"/><div class="nav" id="Housekeeping-612057028"><a title="Focus this segment" href="#Housekeeping-612057028"><img class="icon" src="&icon_nav_here;" alt="&lowast;"/></a> <a title="Focus previous segment" href="#Bug-fixes-612040548"><img class="icon" src="&icon_nav_prev;" alt="&uarr;"/></a> <a title="Return to listing" href="#rev:Housekeeping-612057028"><img class="icon" src="&icon_nav_list;" alt="&equiv;"/></a></div>
945
+ <a name="Housekeeping-611696068"/><div class="nav" id="Housekeeping-611696068"><a title="Focus this segment" href="#Housekeeping-611696068"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Bug-fixes-611692458"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Version-2.0.0-2008-02-04"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Housekeeping-611696068"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
860
946
  <p class="title">Housekeeping</p>
861
947
  <div class="content"><ul>
862
948
  <li>
@@ -868,6 +954,68 @@ b.exist? <span style="color:#888">#=&gt; false</span>
868
954
  </li>
869
955
  </ul></div>
870
956
  </div><p> </p></div>
957
+ </div><div class="section">
958
+ <a name="Version-2.0.0-2008-02-04"/><div class="nav" id="Version-2.0.0-2008-02-04"><a title="Focus this segment" href="#Version-2.0.0-2008-02-04"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Housekeeping-611696068"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Thank-you-611714488"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Version-2.0.0-2008-02-04"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
959
+ <h2 class="title">
960
+ 4.5&nbsp;&nbsp;Version 2.0.0 (2008-02-04)
961
+ </h2>
962
+ <div class="content"><p>This release adds support for wmii 3.6, improves the performance of the IXP library, and fixes some bugs.</p>
963
+
964
+ <div class="paragraph">
965
+ <a name="Thank-you-611714488"/><div class="nav" id="Thank-you-611714488"><a title="Focus this segment" href="#Thank-you-611714488"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Version-2.0.0-2008-02-04"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Incompatible-changes-611720848"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Thank-you-611714488"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
966
+ <p class="title">Thank you</p>
967
+ <div class="content"><ul>
968
+ <li>Christoph Blank tested Rumai 1.0.0 under wmii 3.6 and reported bugs.</li>
969
+ </ul></div>
970
+ </div><div class="paragraph">
971
+ <a name="Incompatible-changes-611720848"/><div class="nav" id="Incompatible-changes-611720848"><a title="Focus this segment" href="#Incompatible-changes-611720848"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Thank-you-611714488"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#New-features-611728378"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Incompatible-changes-611720848"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
972
+ <p class="title">Incompatible changes</p>
973
+ <div class="content"><ul>
974
+ <li>
975
+ <p>wmii version 3.6 or newer is now required.</p>
976
+ </li>
977
+
978
+ <li>
979
+ <p>The <code class="line"><span style="color:#036;font-weight:bold">Rumai</span>::<span style="color:#036;font-weight:bold">IXP</span>::<span style="color:#036;font-weight:bold">Agent</span>::<span style="color:#036;font-weight:bold">FidStream</span><span style="color:#888">#read_partial</span></code> method has been replaced by <code class="line"><span style="color:#036;font-weight:bold">Rumai</span>::<span style="color:#036;font-weight:bold">IXP</span>::<span style="color:#036;font-weight:bold">Agent</span>::<span style="color:#036;font-weight:bold">FidStream</span><span style="color:#888">#read(true)</span></code> for efficiency.</p>
980
+
981
+ <ul>
982
+ <li>
983
+ <p>The <code class="line"><span style="color:#036;font-weight:bold">Rumai</span>::<span style="color:#036;font-weight:bold">IXP</span>::<span style="color:#036;font-weight:bold">Agent</span>::<span style="color:#036;font-weight:bold">FidStream</span><span style="color:#888">#write</span></code> method no longer writes to the beginning of the stream. Instead, it writes to the current position in the stream.</p>
984
+ </li>
985
+
986
+ <li>
987
+ <p>The <code class="line"><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> method has been renamed to <code class="line"><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> for brevity.</p>
988
+ </li>
989
+ </ul>
990
+ </li>
991
+ </ul></div>
992
+ </div><div class="paragraph">
993
+ <a name="New-features-611728378"/><div class="nav" id="New-features-611728378"><a title="Focus this segment" href="#New-features-611728378"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Incompatible-changes-611720848"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Bug-fixes-611732428"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:New-features-611728378"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
994
+ <p class="title">New features</p>
995
+ <div class="content"><ul>
996
+ <li>
997
+ <p>Added several more methods (such as rewind, pos=, eof?, and so on) from Ruby&#8217;s IO class to the <code class="line"><span style="color:#036;font-weight:bold">Rumai</span>::<span style="color:#036;font-weight:bold">IXP</span>::<span style="color:#036;font-weight:bold">Agent</span>::<span style="color:#036;font-weight:bold">FidStream</span></code> class.</p>
998
+ </li>
999
+
1000
+ <li>
1001
+ <p>Added the <code class="line"><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> method to simplify client termination.</p>
1002
+ </li>
1003
+ </ul></div>
1004
+ </div><div class="paragraph">
1005
+ <a name="Bug-fixes-611732428"/><div class="nav" id="Bug-fixes-611732428"><a title="Focus this segment" href="#Bug-fixes-611732428"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#New-features-611728378"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Focus next segment" href="#Version-1.0.0-2008-01-26"><img class="icon" alt="&darr;" src="&icon_nav_next;"/></a> <a title="Return to listing" href="#rev:Bug-fixes-611732428"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
1006
+ <p class="title">Bug fixes</p>
1007
+ <div class="content"><ul>
1008
+ <li>Fixed a race condition in <code class="line"><span style="color:#036;font-weight:bold">Rumai</span>::<span style="color:#036;font-weight:bold">Agent</span><span style="color:#888">#talk</span></code> which would cause Rumai to hang when multiple threads used it.</li>
1009
+ </ul></div>
1010
+ </div><p> </p></div>
1011
+ </div><div class="section">
1012
+ <a name="Version-1.0.0-2008-01-26"/><div class="nav" id="Version-1.0.0-2008-01-26"><a title="Focus this segment" href="#Version-1.0.0-2008-01-26"><img class="icon" alt="&lowast;" src="&icon_nav_here;"/></a> <a title="Focus previous segment" href="#Bug-fixes-611732428"><img class="icon" alt="&uarr;" src="&icon_nav_prev;"/></a> <a title="Return to listing" href="#rev:Version-1.0.0-2008-01-26"><img class="icon" alt="&equiv;" src="&icon_nav_list;"/></a></div>
1013
+ <h2 class="title">
1014
+ 4.6&nbsp;&nbsp;Version 1.0.0 (2008-01-26)
1015
+ </h2>
1016
+ <div class="content"><p>This is the first release of Rumai, the evolution of <a href='http://article.gmane.org/gmane.comp.window-managers.wmii/1704'>wmii-irb</a>, which lets you manipulate the <a href='http://wmii.suckless.org'>wmii</a> window manager through <a href='http://ruby-lang.org'>Ruby</a>.</p>
1017
+
1018
+ <p>Happy birthday!</p></div>
871
1019
  </div><p></p><p></p></div>
872
1020
  </div>
873
1021
  </div>
@@ -882,21 +1030,21 @@ b.exist? <span style="color:#888">#=&gt; false</span>
882
1030
 
883
1031
  <div id="footer">
884
1032
 
885
- Generated by <a href="http://snk.tuxfamily.org/lib/erbook/">ERBook 7.0.0</a> on Sat May 09 00:33:05 -0700 2009.
1033
+ Generated by <a href="http://snk.tuxfamily.org/lib/erbook/">ERBook 7.0.0</a> on Mon May 11 21:23:13 -0700 2009.
886
1034
 
887
1035
  <div id="footer-credits">
888
1036
  <p>
889
- <img class="icon" src="&icon_here_frag;" alt="here_frag"/>
890
- <img class="icon" src="&icon_caution;" alt="caution"/>
891
- <img class="icon" src="&icon_nav_here;" alt="nav_here"/>
892
- <img class="icon" src="&icon_nav_prev;" alt="nav_prev"/>
893
- <img class="icon" src="&icon_tip;" alt="tip"/>
894
- <img class="icon" src="&icon_important;" alt="important"/>
895
- <img class="icon" src="&icon_nav_list;" alt="nav_list"/>
896
- <img class="icon" src="&icon_note;" alt="note"/>
897
- <img class="icon" src="&icon_warning;" alt="warning"/>
898
- <img class="icon" src="&icon_quote;" alt="quote"/>
899
- <img class="icon" src="&icon_nav_next;" alt="nav_next"/>
1037
+ <img class="icon" alt="here_frag" src="&icon_here_frag;"/>
1038
+ <img class="icon" alt="caution" src="&icon_caution;"/>
1039
+ <img class="icon" alt="nav_here" src="&icon_nav_here;"/>
1040
+ <img class="icon" alt="nav_prev" src="&icon_nav_prev;"/>
1041
+ <img class="icon" alt="tip" src="&icon_tip;"/>
1042
+ <img class="icon" alt="important" src="&icon_important;"/>
1043
+ <img class="icon" alt="nav_list" src="&icon_nav_list;"/>
1044
+ <img class="icon" alt="note" src="&icon_note;"/>
1045
+ <img class="icon" alt="warning" src="&icon_warning;"/>
1046
+ <img class="icon" alt="quote" src="&icon_quote;"/>
1047
+ <img class="icon" alt="nav_next" src="&icon_nav_next;"/>
900
1048
 
901
1049
  <br/>
902
1050
 
@@ -904,7 +1052,7 @@ b.exist? <span style="color:#888">#=&gt; false</span>
904
1052
  </p>
905
1053
 
906
1054
  <p>
907
- <img class="icon" src="&icon_hyperlink;" alt="hyperlink"/>
1055
+ <img class="icon" alt="hyperlink" src="&icon_hyperlink;"/>
908
1056
 
909
1057
  <br/>
910
1058