rumai 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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>