rumai 2.0.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. data/CREDITS +2 -0
  2. data/bin/rumai +20 -8
  3. data/doc/api/classes/IO.html +72 -0
  4. data/doc/api/classes/Integer.html +110 -0
  5. data/doc/api/classes/Object.html +60 -0
  6. data/doc/api/classes/Rumai.html +867 -0
  7. data/doc/api/classes/Rumai/Area.html +836 -0
  8. data/doc/api/classes/Rumai/Chain.html +197 -0
  9. data/doc/api/classes/Rumai/Client.html +865 -0
  10. data/doc/api/classes/Rumai/ClientContainer.html +191 -0
  11. data/doc/api/classes/Rumai/ExportInstanceMethods.html +69 -0
  12. data/doc/api/classes/Rumai/IXP.html +131 -0
  13. data/doc/api/classes/Rumai/IXP/Agent.html +836 -0
  14. data/doc/api/classes/Rumai/IXP/Agent/FidStream.html +456 -0
  15. data/doc/api/classes/Rumai/IXP/Agent/MODES.html +108 -0
  16. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.html +241 -0
  17. data/doc/api/classes/Rumai/IXP/Error.html +67 -0
  18. data/doc/api/classes/Rumai/IXP/Fcall.html +323 -0
  19. data/doc/api/classes/Rumai/IXP/Qid.html +153 -0
  20. data/doc/api/classes/Rumai/IXP/Rattach.html +67 -0
  21. data/doc/api/classes/Rumai/IXP/Rauth.html +67 -0
  22. data/doc/api/classes/Rumai/IXP/Rclunk.html +67 -0
  23. data/doc/api/classes/Rumai/IXP/Rcreate.html +67 -0
  24. data/doc/api/classes/Rumai/IXP/Rerror.html +67 -0
  25. data/doc/api/classes/Rumai/IXP/Rflush.html +67 -0
  26. data/doc/api/classes/Rumai/IXP/Ropen.html +67 -0
  27. data/doc/api/classes/Rumai/IXP/Rread.html +67 -0
  28. data/doc/api/classes/Rumai/IXP/Rremove.html +67 -0
  29. data/doc/api/classes/Rumai/IXP/Rstat.html +67 -0
  30. data/doc/api/classes/Rumai/IXP/Rversion.html +67 -0
  31. data/doc/api/classes/Rumai/IXP/Rwalk.html +67 -0
  32. data/doc/api/classes/Rumai/IXP/Rwrite.html +67 -0
  33. data/doc/api/classes/Rumai/IXP/Rwstat.html +67 -0
  34. data/doc/api/classes/Rumai/IXP/Stat.html +252 -0
  35. data/doc/api/classes/Rumai/IXP/Stream.html +131 -0
  36. data/doc/api/classes/Rumai/IXP/Struct.html +315 -0
  37. data/doc/api/classes/Rumai/IXP/Struct/Field.html +415 -0
  38. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.html +153 -0
  39. data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.html +104 -0
  40. data/doc/api/classes/Rumai/IXP/Tattach.html +68 -0
  41. data/doc/api/classes/Rumai/IXP/Tauth.html +67 -0
  42. data/doc/api/classes/Rumai/IXP/Tclunk.html +67 -0
  43. data/doc/api/classes/Rumai/IXP/Tcreate.html +68 -0
  44. data/doc/api/classes/Rumai/IXP/Terror.html +110 -0
  45. data/doc/api/classes/Rumai/IXP/Tflush.html +67 -0
  46. data/doc/api/classes/Rumai/IXP/Topen.html +165 -0
  47. data/doc/api/classes/Rumai/IXP/Tread.html +67 -0
  48. data/doc/api/classes/Rumai/IXP/Tremove.html +67 -0
  49. data/doc/api/classes/Rumai/IXP/Tstat.html +67 -0
  50. data/doc/api/classes/Rumai/IXP/Tversion.html +86 -0
  51. data/doc/api/classes/Rumai/IXP/Twalk.html +68 -0
  52. data/doc/api/classes/Rumai/IXP/Twrite.html +68 -0
  53. data/doc/api/classes/Rumai/IXP/Twstat.html +67 -0
  54. data/doc/api/classes/Rumai/Node.html +817 -0
  55. data/doc/api/classes/Rumai/View.html +818 -0
  56. data/doc/api/classes/Rumai/WidgetImpl.html +65 -0
  57. data/doc/api/classes/Rumai/WidgetNode.html +68 -0
  58. data/doc/api/classes/String.html +163 -0
  59. data/doc/api/classes/StringIO.html +72 -0
  60. data/doc/api/classes/Time.html +156 -0
  61. data/doc/api/created.rid +1 -0
  62. data/doc/api/css/main.css +263 -0
  63. data/doc/api/css/panel.css +383 -0
  64. data/doc/api/css/reset.css +53 -0
  65. data/doc/api/files/CREDITS.html +64 -0
  66. data/doc/api/files/LICENSE.html +76 -0
  67. data/doc/api/files/lib/rumai/fs_rb.html +75 -0
  68. data/doc/api/files/lib/rumai/ixp/message_rb.html +91 -0
  69. data/doc/api/files/lib/rumai/ixp/transport_rb.html +75 -0
  70. data/doc/api/files/lib/rumai/ixp_rb.html +69 -0
  71. data/doc/api/files/lib/rumai/wm_rb.html +77 -0
  72. data/doc/api/files/lib/rumai_rb.html +65 -0
  73. data/doc/api/i/arrows.png +0 -0
  74. data/doc/api/i/results_bg.png +0 -0
  75. data/doc/api/i/tree_bg.png +0 -0
  76. data/doc/api/index.html +14 -18
  77. data/doc/api/js/jquery-1.3.2.min.js +19 -0
  78. data/doc/api/js/jquery-effect.js +593 -0
  79. data/doc/api/js/main.js +22 -0
  80. data/doc/api/js/searchdoc.js +605 -0
  81. data/doc/api/panel/index.html +63 -0
  82. data/doc/api/panel/search_index.js +1 -0
  83. data/doc/api/panel/tree.js +1 -0
  84. data/doc/history.erb +41 -16
  85. data/doc/index.erb +14 -11
  86. data/doc/index.xhtml +519 -846
  87. data/doc/intro.erb +33 -32
  88. data/doc/setup.erb +14 -13
  89. data/doc/usage.erb +69 -35
  90. data/lib/rumai.rb +13 -5
  91. data/lib/rumai/fs.rb +71 -27
  92. data/lib/rumai/ixp.rb +4 -0
  93. data/lib/rumai/ixp/message.rb +178 -81
  94. data/lib/rumai/ixp/transport.rb +144 -91
  95. data/lib/rumai/wm.rb +717 -593
  96. data/rakefile +14 -0
  97. data/test/rumai/ixp/message.rb +42 -54
  98. metadata +110 -89
  99. data/Rakefile +0 -8
  100. data/doc/api/IO.html +0 -53
  101. data/doc/api/Integer.html +0 -102
  102. data/doc/api/Object.html +0 -23
  103. data/doc/api/Rumai.html +0 -1218
  104. data/doc/api/Rumai/Area.html +0 -1088
  105. data/doc/api/Rumai/Chain.html +0 -230
  106. data/doc/api/Rumai/Client.html +0 -1264
  107. data/doc/api/Rumai/ClientContainer.html +0 -227
  108. data/doc/api/Rumai/ExportInstMethods.html +0 -115
  109. data/doc/api/Rumai/IXP.html +0 -23
  110. data/doc/api/Rumai/IXP/Agent.html +0 -1222
  111. data/doc/api/Rumai/IXP/Agent/FidStream.html +0 -602
  112. data/doc/api/Rumai/IXP/Agent/RangedPool.html +0 -263
  113. data/doc/api/Rumai/IXP/Error.html +0 -32
  114. data/doc/api/Rumai/IXP/Fcall.html +0 -398
  115. data/doc/api/Rumai/IXP/Qid.html +0 -99
  116. data/doc/api/Rumai/IXP/Rattach.html +0 -71
  117. data/doc/api/Rumai/IXP/Rauth.html +0 -71
  118. data/doc/api/Rumai/IXP/Rclunk.html +0 -71
  119. data/doc/api/Rumai/IXP/Rcreate.html +0 -71
  120. data/doc/api/Rumai/IXP/Rerror.html +0 -71
  121. data/doc/api/Rumai/IXP/Rflush.html +0 -71
  122. data/doc/api/Rumai/IXP/Ropen.html +0 -71
  123. data/doc/api/Rumai/IXP/Rread.html +0 -71
  124. data/doc/api/Rumai/IXP/Rremove.html +0 -71
  125. data/doc/api/Rumai/IXP/Rstat.html +0 -71
  126. data/doc/api/Rumai/IXP/Rversion.html +0 -71
  127. data/doc/api/Rumai/IXP/Rwalk.html +0 -71
  128. data/doc/api/Rumai/IXP/Rwrite.html +0 -71
  129. data/doc/api/Rumai/IXP/Rwstat.html +0 -71
  130. data/doc/api/Rumai/IXP/Stat.html +0 -188
  131. data/doc/api/Rumai/IXP/Stream.html +0 -112
  132. data/doc/api/Rumai/IXP/Struct.html +0 -348
  133. data/doc/api/Rumai/IXP/Struct/ClassField.html +0 -177
  134. data/doc/api/Rumai/IXP/Struct/Field.html +0 -549
  135. data/doc/api/Rumai/IXP/Struct/Field/CounteeField.html +0 -175
  136. data/doc/api/Rumai/IXP/Struct/Field/CounterField.html +0 -95
  137. data/doc/api/Rumai/IXP/Struct/Integer8Field.html +0 -181
  138. data/doc/api/Rumai/IXP/Struct/StringField.html +0 -128
  139. data/doc/api/Rumai/IXP/Tattach.html +0 -71
  140. data/doc/api/Rumai/IXP/Tauth.html +0 -71
  141. data/doc/api/Rumai/IXP/Tclunk.html +0 -71
  142. data/doc/api/Rumai/IXP/Tcreate.html +0 -71
  143. data/doc/api/Rumai/IXP/Terror.html +0 -156
  144. data/doc/api/Rumai/IXP/Tflush.html +0 -71
  145. data/doc/api/Rumai/IXP/Topen.html +0 -113
  146. data/doc/api/Rumai/IXP/Tread.html +0 -71
  147. data/doc/api/Rumai/IXP/Tremove.html +0 -71
  148. data/doc/api/Rumai/IXP/Tstat.html +0 -71
  149. data/doc/api/Rumai/IXP/Tversion.html +0 -83
  150. data/doc/api/Rumai/IXP/Twalk.html +0 -71
  151. data/doc/api/Rumai/IXP/Twrite.html +0 -71
  152. data/doc/api/Rumai/IXP/Twstat.html +0 -71
  153. data/doc/api/Rumai/Node.html +0 -1139
  154. data/doc/api/Rumai/View.html +0 -1280
  155. data/doc/api/Rumai/WidgetImpl.html +0 -196
  156. data/doc/api/Rumai/WidgetNode.html +0 -184
  157. data/doc/api/String.html +0 -180
  158. data/doc/api/StringIO.html +0 -53
  159. data/doc/api/Time.html +0 -175
  160. data/doc/api/all-methods.html +0 -1436
  161. data/doc/api/all-namespaces.html +0 -140
  162. data/doc/api/app.js +0 -18
  163. data/doc/api/jquery.js +0 -11
  164. data/doc/api/readme.html +0 -38
  165. data/doc/api/style.css +0 -68
  166. data/doc/api/syntax_highlight.css +0 -21
  167. data/doc/theory.erb +0 -3
@@ -0,0 +1,818 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <title>Rumai::View</title>
7
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
+ <link rel="stylesheet" href="../../css/reset.css" type="text/css" media="screen" />
9
+ <link rel="stylesheet" href="../../css/main.css" type="text/css" media="screen" />
10
+ <script src="../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
11
+ <script src="../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
12
+ <script src="../../js/main.js" type="text/javascript" charset="utf-8"></script>
13
+ </head>
14
+
15
+ <body>
16
+ <div class="banner">
17
+ <h1>
18
+ <span class="type">Class</span>
19
+ Rumai::View
20
+
21
+ <span class="parent">&lt;
22
+
23
+ WidgetNode
24
+
25
+ </span>
26
+
27
+ </h1>
28
+ <ul class="files">
29
+
30
+ <li><a href="../../files/lib/rumai/wm_rb.html">lib/rumai/wm.rb</a></li>
31
+
32
+ </ul>
33
+ </div>
34
+ <div id="bodyContent">
35
+ <div id="content">
36
+
37
+ <div class="description">
38
+ <p>
39
+ The visualization of a tag.
40
+ </p>
41
+
42
+ </div>
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+ <div class="sectiontitle">Methods</div>
53
+ <dl class="methods">
54
+
55
+ <dt>A</dt>
56
+ <dd>
57
+ <ul>
58
+
59
+ <li><a href="#M000099">area_ids</a>,</li>
60
+
61
+ <li><a href="#M000096">area_of_client</a>,</li>
62
+
63
+ <li><a href="#M000101">areas</a>,</li>
64
+
65
+ <li><a href="#M000109">arrange_as_larswm</a>,</li>
66
+
67
+ <li><a href="#M000113">arrange_in_diamond</a>,</li>
68
+
69
+ <li><a href="#M000111">arrange_in_grid</a></li>
70
+
71
+ </ul>
72
+ </dd>
73
+
74
+ <dt>C</dt>
75
+ <dd>
76
+ <ul>
77
+
78
+ <li><a href="#M000090">chain</a>,</li>
79
+
80
+ <li><a href="#M000092">client_ids</a>,</li>
81
+
82
+ <li><a href="#M000105">columns</a>,</li>
83
+
84
+ <li><a href="#M000087">curr</a></li>
85
+
86
+ </ul>
87
+ </dd>
88
+
89
+ <dt>E</dt>
90
+ <dd>
91
+ <ul>
92
+
93
+ <li><a href="#M000093">each</a>,</li>
94
+
95
+ <li><a href="#M000106">each_column</a></li>
96
+
97
+ </ul>
98
+ </dd>
99
+
100
+ <dt>F</dt>
101
+ <dd>
102
+ <ul>
103
+
104
+ <li><a href="#M000102">floater</a>,</li>
105
+
106
+ <li><a href="#M000088">focus</a></li>
107
+
108
+ </ul>
109
+ </dd>
110
+
111
+ <dt>M</dt>
112
+ <dd>
113
+ <ul>
114
+
115
+ <li><a href="#M000095">manifest</a></li>
116
+
117
+ </ul>
118
+ </dd>
119
+
120
+ <dt>N</dt>
121
+ <dd>
122
+ <ul>
123
+
124
+ <li><a href="#M000094">new</a></li>
125
+
126
+ </ul>
127
+ </dd>
128
+
129
+ </dl>
130
+
131
+
132
+
133
+ <div class="sectiontitle">Included Modules</div>
134
+ <ul>
135
+
136
+ <li>
137
+
138
+ <a href="IXP/Struct/Field/CounterField.html">Rumai::IXP::Struct::Field::CounterField</a>
139
+
140
+ START:includes
141
+ </li>
142
+
143
+ <li>
144
+
145
+ <a href="IXP/Struct/Field/CounterField.html">Rumai::IXP::Struct::Field::CounterField</a>
146
+
147
+ START:includes
148
+ </li>
149
+
150
+ <li>
151
+
152
+ <a href="IXP/Struct/Field/CounterField.html">Rumai::IXP::Struct::Field::CounterField</a>
153
+
154
+ START:includes
155
+ </li>
156
+
157
+ <li>
158
+
159
+ <span>Enumerable</span>
160
+
161
+ START:includes
162
+ </li>
163
+
164
+ </ul>
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+ <div class="sectiontitle">Class Public methods</div>
177
+
178
+ <div class="method">
179
+ <div class="title" id="M000087">
180
+
181
+ <a name="M000087"></a><b>curr</b>()
182
+
183
+ </div>
184
+
185
+ <div class="description">
186
+ <p>
187
+ Returns the currently focused view.
188
+ </p>
189
+
190
+ </div>
191
+
192
+
193
+
194
+
195
+ <div class="sourcecode">
196
+ <p class="source-link">
197
+ Source: <a href="javascript:toggleSource('M000087_source')" id="l_M000087_source">show</a>
198
+
199
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L603" target="_blank" class="github_url">on GitHub</a>
200
+
201
+ </p>
202
+ <div id="M000087_source" class="dyn-source">
203
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 603</span>
204
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">curr</span>
205
+ <span class="ruby-identifier">new</span> <span class="ruby-identifier">:sel</span>
206
+ <span class="ruby-keyword kw">end</span></pre>
207
+ </div>
208
+ </div>
209
+
210
+ </div>
211
+
212
+ <div class="method">
213
+ <div class="title" id="M000094">
214
+
215
+ <a name="M000094"></a><b>new</b>(view_id)
216
+
217
+ </div>
218
+
219
+
220
+
221
+
222
+ <div class="sourcecode">
223
+ <p class="source-link">
224
+ Source: <a href="javascript:toggleSource('M000094_source')" id="l_M000094_source">show</a>
225
+
226
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L642" target="_blank" class="github_url">on GitHub</a>
227
+
228
+ </p>
229
+ <div id="M000094_source" class="dyn-source">
230
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 642</span>
231
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">view_id</span>
232
+ <span class="ruby-keyword kw">super</span> <span class="ruby-identifier">view_id</span>, <span class="ruby-value str">'/tag'</span>
233
+ <span class="ruby-keyword kw">end</span></pre>
234
+ </div>
235
+ </div>
236
+
237
+ </div>
238
+
239
+ <div class="sectiontitle">Instance Public methods</div>
240
+
241
+ <div class="method">
242
+ <div class="title" id="M000099">
243
+
244
+ <a name="M000099"></a><b>area_ids</b>()
245
+
246
+ </div>
247
+
248
+ <div class="description">
249
+ <p>
250
+ Returns the IDs of all areas in this view.
251
+ </p>
252
+
253
+ </div>
254
+
255
+
256
+
257
+
258
+ <div class="sourcecode">
259
+ <p class="source-link">
260
+ Source: <a href="javascript:toggleSource('M000099_source')" id="l_M000099_source">show</a>
261
+
262
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L675" target="_blank" class="github_url">on GitHub</a>
263
+
264
+ </p>
265
+ <div id="M000099_source" class="dyn-source">
266
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 675</span>
267
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">area_ids</span>
268
+ <span class="ruby-identifier">ids</span> = <span class="ruby-identifier">manifest</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/^# (\d+)/</span>).<span class="ruby-identifier">flatten</span>
269
+ <span class="ruby-identifier">ids</span>.<span class="ruby-identifier">unshift</span> <span class="ruby-value str">'~'</span> <span class="ruby-comment cmt"># the floating area</span>
270
+ <span class="ruby-identifier">ids</span>
271
+ <span class="ruby-keyword kw">end</span></pre>
272
+ </div>
273
+ </div>
274
+
275
+ </div>
276
+
277
+ <div class="method">
278
+ <div class="title" id="M000096">
279
+
280
+ <a name="M000096"></a><b>area_of_client</b>(client_or_id)
281
+
282
+ </div>
283
+
284
+ <div class="description">
285
+ <p>
286
+ Returns the area which contains the given client in this view.
287
+ </p>
288
+
289
+ </div>
290
+
291
+
292
+
293
+
294
+ <div class="sourcecode">
295
+ <p class="source-link">
296
+ Source: <a href="javascript:toggleSource('M000096_source')" id="l_M000096_source">show</a>
297
+
298
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L658" target="_blank" class="github_url">on GitHub</a>
299
+
300
+ </p>
301
+ <div id="M000096_source" class="dyn-source">
302
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 658</span>
303
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">area_of_client</span> <span class="ruby-identifier">client_or_id</span>
304
+ <span class="ruby-identifier">arg</span> =
305
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">client_or_id</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:id</span>
306
+ <span class="ruby-identifier">client_or_id</span>.<span class="ruby-identifier">id</span>
307
+ <span class="ruby-keyword kw">else</span>
308
+ <span class="ruby-identifier">client_or_id</span>
309
+ <span class="ruby-keyword kw">end</span>
310
+
311
+ <span class="ruby-identifier">manifest</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/^(\S+) #{arg}/</span>
312
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">area_id</span> = <span class="ruby-identifier">$1</span>
313
+ <span class="ruby-constant">Area</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">area_id</span>, <span class="ruby-keyword kw">self</span>
314
+ <span class="ruby-keyword kw">end</span>
315
+ <span class="ruby-keyword kw">end</span></pre>
316
+ </div>
317
+ </div>
318
+
319
+ </div>
320
+
321
+ <div class="method">
322
+ <div class="title" id="M000101">
323
+
324
+ <a name="M000101"></a><b>areas</b>()
325
+
326
+ </div>
327
+
328
+ <div class="description">
329
+ <p>
330
+ Returns all areas in this view.
331
+ </p>
332
+
333
+ </div>
334
+
335
+
336
+
337
+
338
+ <div class="sourcecode">
339
+ <p class="source-link">
340
+ Source: <a href="javascript:toggleSource('M000101_source')" id="l_M000101_source">show</a>
341
+
342
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L684" target="_blank" class="github_url">on GitHub</a>
343
+
344
+ </p>
345
+ <div id="M000101_source" class="dyn-source">
346
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 684</span>
347
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">areas</span>
348
+ <span class="ruby-identifier">area_ids</span>.<span class="ruby-identifier">map!</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-constant">Area</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">i</span>, <span class="ruby-keyword kw">self</span> }
349
+ <span class="ruby-keyword kw">end</span></pre>
350
+ </div>
351
+ </div>
352
+
353
+ </div>
354
+
355
+ <div class="method">
356
+ <div class="title" id="M000109">
357
+
358
+ <a name="M000109"></a><b>arrange_as_larswm</b>()
359
+
360
+ </div>
361
+
362
+ <div class="description">
363
+ <p>
364
+ Arranges the clients in this view, while maintaining their relative order,
365
+ in the tiling fashion of LarsWM.
366
+ </p>
367
+ <p>
368
+ Only the first client in the primary column is kept; all others are evicted
369
+ to the <b>top</b> of the secondary column. Any subsequent columns are
370
+ squeezed into the <b>bottom</b> of the secondary column.
371
+ </p>
372
+
373
+ </div>
374
+
375
+
376
+
377
+
378
+ <div class="sourcecode">
379
+ <p class="source-link">
380
+ Source: <a href="javascript:toggleSource('M000109_source')" id="l_M000109_source">show</a>
381
+
382
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L732" target="_blank" class="github_url">on GitHub</a>
383
+
384
+ </p>
385
+ <div id="M000109_source" class="dyn-source">
386
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 732</span>
387
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">arrange_as_larswm</span>
388
+ <span class="ruby-identifier">maintain_focus</span> <span class="ruby-keyword kw">do</span>
389
+ <span class="ruby-identifier">float</span>, <span class="ruby-identifier">main</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">extra</span> = <span class="ruby-identifier">areas</span>
390
+
391
+ <span class="ruby-comment cmt"># keep only one client in the primary column</span>
392
+ <span class="ruby-identifier">main</span>.<span class="ruby-identifier">length</span> = <span class="ruby-value">1</span>
393
+
394
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">extra</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
395
+ <span class="ruby-comment cmt"># collapse remaining areas into secondary column</span>
396
+ <span class="ruby-identifier">extra</span>.<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">each_cons</span>(<span class="ruby-value">2</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">src</span>, <span class="ruby-identifier">dst</span><span class="ruby-operator">|</span>
397
+ <span class="ruby-identifier">dst</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">src</span>
398
+ <span class="ruby-keyword kw">end</span>
399
+ <span class="ruby-keyword kw">end</span>
400
+ <span class="ruby-keyword kw">end</span>
401
+ <span class="ruby-keyword kw">end</span></pre>
402
+ </div>
403
+ </div>
404
+
405
+ </div>
406
+
407
+ <div class="method">
408
+ <div class="title" id="M000113">
409
+
410
+ <a name="M000113"></a><b>arrange_in_diamond</b>()
411
+
412
+ </div>
413
+
414
+ <div class="description">
415
+ <p>
416
+ Arranges the clients in this view, while maintaining their relative order,
417
+ in a (at best) equilateral triangle. However, the resulting arrangement
418
+ appears like a diamond because wmii does not waste screen space.
419
+ </p>
420
+
421
+ </div>
422
+
423
+
424
+
425
+
426
+ <div class="sourcecode">
427
+ <p class="source-link">
428
+ Source: <a href="javascript:toggleSource('M000113_source')" id="l_M000113_source">show</a>
429
+
430
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L780" target="_blank" class="github_url">on GitHub</a>
431
+
432
+ </p>
433
+ <div id="M000113_source" class="dyn-source">
434
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 780</span>
435
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">arrange_in_diamond</span>
436
+ <span class="ruby-identifier">num_clients</span> = <span class="ruby-identifier">num_managed_clients</span>
437
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">num_clients</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
438
+
439
+ <span class="ruby-comment cmt"># determine dimensions of the rising sub-triangle</span>
440
+ <span class="ruby-identifier">rise</span> = <span class="ruby-identifier">num_clients</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>
441
+
442
+ <span class="ruby-identifier">span</span> = <span class="ruby-identifier">sum</span> = <span class="ruby-value">0</span>
443
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span> <span class="ruby-identifier">rise</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span>
444
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sum</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">rise</span>
445
+ <span class="ruby-keyword kw">break</span>
446
+ <span class="ruby-keyword kw">else</span>
447
+ <span class="ruby-identifier">sum</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">h</span>
448
+ <span class="ruby-identifier">span</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
449
+ <span class="ruby-keyword kw">end</span>
450
+ <span class="ruby-keyword kw">end</span>
451
+
452
+ <span class="ruby-identifier">peak</span> = <span class="ruby-identifier">num_clients</span> <span class="ruby-operator">-</span> (<span class="ruby-identifier">sum</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span>)
453
+
454
+ <span class="ruby-comment cmt"># describe the overall triangle as a sequence of heights</span>
455
+ <span class="ruby-identifier">rise_seq</span> = (<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-identifier">span</span>).<span class="ruby-identifier">to_a</span>
456
+ <span class="ruby-identifier">fall_seq</span> = <span class="ruby-identifier">rise_seq</span>.<span class="ruby-identifier">reverse</span>
457
+
458
+ <span class="ruby-identifier">heights</span> = <span class="ruby-identifier">rise_seq</span>
459
+ <span class="ruby-identifier">heights</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">peak</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">peak</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
460
+ <span class="ruby-identifier">heights</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">fall_seq</span>
461
+
462
+ <span class="ruby-comment cmt"># apply the heights</span>
463
+ <span class="ruby-identifier">maintain_focus</span> <span class="ruby-keyword kw">do</span>
464
+ <span class="ruby-identifier">each_column</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span>
465
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">h</span> = <span class="ruby-identifier">heights</span>.<span class="ruby-identifier">shift</span>
466
+ <span class="ruby-identifier">col</span>.<span class="ruby-identifier">length</span> = <span class="ruby-identifier">h</span>
467
+ <span class="ruby-identifier">col</span>.<span class="ruby-identifier">layout</span> = <span class="ruby-identifier">:default</span>
468
+ <span class="ruby-keyword kw">end</span>
469
+ <span class="ruby-keyword kw">end</span>
470
+ <span class="ruby-keyword kw">end</span>
471
+ <span class="ruby-keyword kw">end</span></pre>
472
+ </div>
473
+ </div>
474
+
475
+ </div>
476
+
477
+ <div class="method">
478
+ <div class="title" id="M000111">
479
+
480
+ <a name="M000111"></a><b>arrange_in_grid</b>(max_clients_per_column = nil)
481
+
482
+ </div>
483
+
484
+ <div class="description">
485
+ <p>
486
+ Arranges the clients in this view, while maintaining their relative order,
487
+ in a (at best) square grid.
488
+ </p>
489
+
490
+ </div>
491
+
492
+
493
+
494
+
495
+ <div class="sourcecode">
496
+ <p class="source-link">
497
+ Source: <a href="javascript:toggleSource('M000111_source')" id="l_M000111_source">show</a>
498
+
499
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L752" target="_blank" class="github_url">on GitHub</a>
500
+
501
+ </p>
502
+ <div id="M000111_source" class="dyn-source">
503
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 752</span>
504
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">arrange_in_grid</span> <span class="ruby-identifier">max_clients_per_column</span> = <span class="ruby-keyword kw">nil</span>
505
+ <span class="ruby-comment cmt"># compute client distribution</span>
506
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">max_clients_per_column</span>
507
+ <span class="ruby-identifier">num_clients</span> = <span class="ruby-identifier">num_managed_clients</span>
508
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">num_clients</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
509
+
510
+ <span class="ruby-identifier">num_columns</span> = <span class="ruby-constant">Math</span>.<span class="ruby-identifier">sqrt</span>(<span class="ruby-identifier">num_clients</span>)
511
+ <span class="ruby-identifier">max_clients_per_column</span> = (<span class="ruby-identifier">num_clients</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">num_columns</span>).<span class="ruby-identifier">round</span>
512
+ <span class="ruby-keyword kw">end</span>
513
+
514
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">max_clients_per_column</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span>
515
+
516
+ <span class="ruby-comment cmt"># apply the distribution</span>
517
+ <span class="ruby-identifier">maintain_focus</span> <span class="ruby-keyword kw">do</span>
518
+ <span class="ruby-identifier">each_column</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
519
+ <span class="ruby-identifier">a</span>.<span class="ruby-identifier">length</span> = <span class="ruby-identifier">max_clients_per_column</span>
520
+ <span class="ruby-identifier">a</span>.<span class="ruby-identifier">layout</span> = <span class="ruby-identifier">:default</span>
521
+ <span class="ruby-keyword kw">end</span>
522
+ <span class="ruby-keyword kw">end</span>
523
+ <span class="ruby-keyword kw">end</span></pre>
524
+ </div>
525
+ </div>
526
+
527
+ </div>
528
+
529
+ <div class="method">
530
+ <div class="title" id="M000090">
531
+
532
+ <a name="M000090"></a><b>chain</b>()
533
+
534
+ </div>
535
+
536
+ <div class="description">
537
+ <p>
538
+ Returns a list of all views.
539
+ </p>
540
+
541
+ </div>
542
+
543
+
544
+
545
+
546
+ <div class="sourcecode">
547
+ <p class="source-link">
548
+ Source: <a href="javascript:toggleSource('M000090_source')" id="l_M000090_source">show</a>
549
+
550
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L619" target="_blank" class="github_url">on GitHub</a>
551
+
552
+ </p>
553
+ <div id="M000090_source" class="dyn-source">
554
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 619</span>
555
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chain</span>
556
+ <span class="ruby-constant">Rumai</span>.<span class="ruby-identifier">views</span>
557
+ <span class="ruby-keyword kw">end</span></pre>
558
+ </div>
559
+ </div>
560
+
561
+ </div>
562
+
563
+ <div class="method">
564
+ <div class="title" id="M000092">
565
+
566
+ <a name="M000092"></a><b>client_ids</b>(area_id = '\S+')
567
+
568
+ </div>
569
+
570
+ <div class="description">
571
+ <p>
572
+ Returns the IDs of the clients contained in the given area within this
573
+ view.
574
+ </p>
575
+
576
+ </div>
577
+
578
+
579
+
580
+
581
+ <div class="sourcecode">
582
+ <p class="source-link">
583
+ Source: <a href="javascript:toggleSource('M000092_source')" id="l_M000092_source">show</a>
584
+
585
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L629" target="_blank" class="github_url">on GitHub</a>
586
+
587
+ </p>
588
+ <div id="M000092_source" class="dyn-source">
589
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 629</span>
590
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">client_ids</span> <span class="ruby-identifier">area_id</span> = <span class="ruby-value str">'\S+'</span>
591
+ <span class="ruby-identifier">manifest</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-node">/^#{area_id} (0x\S+)/</span>).<span class="ruby-identifier">flatten</span>
592
+ <span class="ruby-keyword kw">end</span></pre>
593
+ </div>
594
+ </div>
595
+
596
+ </div>
597
+
598
+ <div class="method">
599
+ <div class="title" id="M000105">
600
+
601
+ <a name="M000105"></a><b>columns</b>()
602
+
603
+ </div>
604
+
605
+ <div class="description">
606
+ <p>
607
+ Returns all columns (managed areas) in this view.
608
+ </p>
609
+
610
+ </div>
611
+
612
+
613
+
614
+
615
+ <div class="sourcecode">
616
+ <p class="source-link">
617
+ Source: <a href="javascript:toggleSource('M000105_source')" id="l_M000105_source">show</a>
618
+
619
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L698" target="_blank" class="github_url">on GitHub</a>
620
+
621
+ </p>
622
+ <div id="M000105_source" class="dyn-source">
623
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 698</span>
624
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">columns</span>
625
+ <span class="ruby-identifier">areas</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
626
+ <span class="ruby-keyword kw">end</span></pre>
627
+ </div>
628
+ </div>
629
+
630
+ </div>
631
+
632
+ <div class="method">
633
+ <div class="title" id="M000093">
634
+
635
+ <a name="M000093"></a><b>each</b>(&amp;block)
636
+
637
+ </div>
638
+
639
+ <div class="description">
640
+ <p>
641
+ Iterates through each area in this view.
642
+ </p>
643
+
644
+ </div>
645
+
646
+
647
+
648
+
649
+ <div class="sourcecode">
650
+ <p class="source-link">
651
+ Source: <a href="javascript:toggleSource('M000093_source')" id="l_M000093_source">show</a>
652
+
653
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L638" target="_blank" class="github_url">on GitHub</a>
654
+
655
+ </p>
656
+ <div id="M000093_source" class="dyn-source">
657
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 638</span>
658
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>
659
+ <span class="ruby-identifier">areas</span>.<span class="ruby-identifier">each</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
660
+ <span class="ruby-keyword kw">end</span></pre>
661
+ </div>
662
+ </div>
663
+
664
+ </div>
665
+
666
+ <div class="method">
667
+ <div class="title" id="M000106">
668
+
669
+ <a name="M000106"></a><b>each_column</b>(starting_column_id = 1)
670
+
671
+ </div>
672
+
673
+ <div class="description">
674
+ <p>
675
+ Resiliently iterates through possibly destructive changes to each column.
676
+ That is, if the given block creates new columns, then those will also be
677
+ processed in the iteration.
678
+ </p>
679
+
680
+ </div>
681
+
682
+
683
+
684
+
685
+ <div class="sourcecode">
686
+ <p class="source-link">
687
+ Source: <a href="javascript:toggleSource('M000106_source')" id="l_M000106_source">show</a>
688
+
689
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L707" target="_blank" class="github_url">on GitHub</a>
690
+
691
+ </p>
692
+ <div id="M000106_source" class="dyn-source">
693
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 707</span>
694
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_column</span> <span class="ruby-identifier">starting_column_id</span> = <span class="ruby-value">1</span>
695
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">starting_column_id</span>
696
+ <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
697
+ <span class="ruby-identifier">a</span> = <span class="ruby-constant">Area</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">i</span>, <span class="ruby-keyword kw">self</span>
698
+
699
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">exist?</span>
700
+ <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">a</span>
701
+ <span class="ruby-keyword kw">else</span>
702
+ <span class="ruby-keyword kw">break</span>
703
+ <span class="ruby-keyword kw">end</span>
704
+
705
+ <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
706
+ <span class="ruby-keyword kw">end</span>
707
+ <span class="ruby-keyword kw">end</span></pre>
708
+ </div>
709
+ </div>
710
+
711
+ </div>
712
+
713
+ <div class="method">
714
+ <div class="title" id="M000102">
715
+
716
+ <a name="M000102"></a><b>floater</b>()
717
+
718
+ </div>
719
+
720
+ <div class="description">
721
+ <p>
722
+ Returns the floating area of this view.
723
+ </p>
724
+
725
+ </div>
726
+
727
+
728
+
729
+
730
+ <div class="sourcecode">
731
+ <p class="source-link">
732
+ Source: <a href="javascript:toggleSource('M000102_source')" id="l_M000102_source">show</a>
733
+
734
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L691" target="_blank" class="github_url">on GitHub</a>
735
+
736
+ </p>
737
+ <div id="M000102_source" class="dyn-source">
738
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 691</span>
739
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">floater</span>
740
+ <span class="ruby-identifier">areas</span>.<span class="ruby-identifier">first</span>
741
+ <span class="ruby-keyword kw">end</span></pre>
742
+ </div>
743
+ </div>
744
+
745
+ </div>
746
+
747
+ <div class="method">
748
+ <div class="title" id="M000088">
749
+
750
+ <a name="M000088"></a><b>focus</b>()
751
+
752
+ </div>
753
+
754
+ <div class="description">
755
+ <p>
756
+ Focuses this view.
757
+ </p>
758
+
759
+ </div>
760
+
761
+
762
+
763
+
764
+ <div class="sourcecode">
765
+ <p class="source-link">
766
+ Source: <a href="javascript:toggleSource('M000088_source')" id="l_M000088_source">show</a>
767
+
768
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L610" target="_blank" class="github_url">on GitHub</a>
769
+
770
+ </p>
771
+ <div id="M000088_source" class="dyn-source">
772
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 610</span>
773
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">focus</span>
774
+ <span class="ruby-constant">Rumai</span>.<span class="ruby-identifier">fs</span>.<span class="ruby-identifier">ctl</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;view #{@id}&quot;</span>
775
+ <span class="ruby-keyword kw">end</span></pre>
776
+ </div>
777
+ </div>
778
+
779
+ </div>
780
+
781
+ <div class="method">
782
+ <div class="title" id="M000095">
783
+
784
+ <a name="M000095"></a><b>manifest</b>()
785
+
786
+ </div>
787
+
788
+ <div class="description">
789
+ <p>
790
+ Returns the manifest of all areas and clients in this view.
791
+ </p>
792
+
793
+ </div>
794
+
795
+
796
+
797
+
798
+ <div class="sourcecode">
799
+ <p class="source-link">
800
+ Source: <a href="javascript:toggleSource('M000095_source')" id="l_M000095_source">show</a>
801
+
802
+ | <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/wm.rb#L649" target="_blank" class="github_url">on GitHub</a>
803
+
804
+ </p>
805
+ <div id="M000095_source" class="dyn-source">
806
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 649</span>
807
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">manifest</span>
808
+ <span class="ruby-identifier">index</span>.<span class="ruby-identifier">read</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
809
+ <span class="ruby-keyword kw">end</span></pre>
810
+ </div>
811
+ </div>
812
+
813
+ </div>
814
+
815
+ </div>
816
+ </div>
817
+ </body>
818
+ </html>