rumai 3.1.0 → 3.2.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 (42) hide show
  1. data/bin/rumai +1 -1
  2. data/doc/api/classes/Integer.html +7 -7
  3. data/doc/api/classes/Rumai.html +148 -141
  4. data/doc/api/classes/Rumai/Area.html +135 -130
  5. data/doc/api/classes/Rumai/Chain.html +21 -21
  6. data/doc/api/classes/Rumai/Client.html +188 -189
  7. data/doc/api/classes/Rumai/ClientContainer.html +22 -22
  8. data/doc/api/classes/Rumai/IXP/Agent.html +248 -143
  9. data/doc/api/classes/Rumai/IXP/Agent/FidStream.html +50 -50
  10. data/doc/api/classes/Rumai/IXP/Agent/MODES.html +7 -7
  11. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.html +21 -21
  12. data/doc/api/classes/Rumai/IXP/Fcall.html +33 -33
  13. data/doc/api/classes/Rumai/IXP/Qid.html +1 -1
  14. data/doc/api/classes/Rumai/IXP/Stat.html +8 -8
  15. data/doc/api/classes/Rumai/IXP/Stream.html +6 -6
  16. data/doc/api/classes/Rumai/IXP/Struct.html +34 -38
  17. data/doc/api/classes/Rumai/IXP/Struct/Field.html +42 -42
  18. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.html +14 -14
  19. data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.html +7 -7
  20. data/doc/api/classes/Rumai/IXP/Terror.html +7 -7
  21. data/doc/api/classes/Rumai/IXP/Topen.html +1 -1
  22. data/doc/api/classes/Rumai/Node.html +114 -110
  23. data/doc/api/classes/Rumai/View.html +184 -136
  24. data/doc/api/classes/String.html +15 -15
  25. data/doc/api/classes/Time.html +14 -14
  26. data/doc/api/created.rid +1 -1
  27. data/doc/api/files/lib/rumai/fs_rb.html +1 -1
  28. data/doc/api/files/lib/rumai/ixp/message_rb.html +1 -1
  29. data/doc/api/files/lib/rumai/ixp/transport_rb.html +1 -1
  30. data/doc/api/files/lib/rumai/wm_rb.html +1 -1
  31. data/doc/api/files/lib/rumai_rb.html +1 -1
  32. data/doc/api/panel/search_index.js +1 -1
  33. data/doc/history.erb +41 -0
  34. data/doc/index.html +1315 -669
  35. data/doc/setup.erb +82 -45
  36. data/doc/usage.erb +96 -132
  37. data/lib/rumai.rb +2 -2
  38. data/lib/rumai/fs.rb +11 -6
  39. data/lib/rumai/ixp/message.rb +31 -17
  40. data/lib/rumai/ixp/transport.rb +82 -36
  41. data/lib/rumai/wm.rb +87 -25
  42. metadata +5 -5
@@ -56,17 +56,19 @@ The visualization of a tag.
56
56
  <dd>
57
57
  <ul>
58
58
 
59
- <li><a href="#M000095">area_ids</a>,</li>
59
+ <li><a href="#M000125">area_ids</a>,</li>
60
60
 
61
- <li><a href="#M000092">area_of_client</a>,</li>
61
+ <li><a href="#M000122">area_of_client</a>,</li>
62
62
 
63
- <li><a href="#M000096">areas</a>,</li>
63
+ <li><a href="#M000126">areas</a>,</li>
64
64
 
65
- <li><a href="#M000104">arrange_as_larswm</a>,</li>
65
+ <li><a href="#M000136">arrange_as_larswm</a>,</li>
66
66
 
67
- <li><a href="#M000109">arrange_in_diamond</a>,</li>
67
+ <li><a href="#M000144">arrange_in_diamond</a>,</li>
68
68
 
69
- <li><a href="#M000106">arrange_in_grid</a></li>
69
+ <li><a href="#M000137">arrange_in_grid</a>,</li>
70
+
71
+ <li><a href="#M000141">arrange_in_stacks</a></li>
70
72
 
71
73
  </ul>
72
74
  </dd>
@@ -75,13 +77,13 @@ The visualization of a tag.
75
77
  <dd>
76
78
  <ul>
77
79
 
78
- <li><a href="#M000085">chain</a>,</li>
80
+ <li><a href="#M000114">chain</a>,</li>
79
81
 
80
- <li><a href="#M000087">client_ids</a>,</li>
82
+ <li><a href="#M000115">client_ids</a>,</li>
81
83
 
82
- <li><a href="#M000100">columns</a>,</li>
84
+ <li><a href="#M000130">columns</a>,</li>
83
85
 
84
- <li><a href="#M000083">curr</a></li>
86
+ <li><a href="#M000112">curr</a></li>
85
87
 
86
88
  </ul>
87
89
  </dd>
@@ -90,11 +92,11 @@ The visualization of a tag.
90
92
  <dd>
91
93
  <ul>
92
94
 
93
- <li><a href="#M000088">each</a>,</li>
95
+ <li><a href="#M000116">each</a>,</li>
94
96
 
95
- <li><a href="#M000102">each_column</a>,</li>
97
+ <li><a href="#M000132">each_column</a>,</li>
96
98
 
97
- <li><a href="#M000103">each_managed_area</a></li>
99
+ <li><a href="#M000134">each_managed_area</a></li>
98
100
 
99
101
  </ul>
100
102
  </dd>
@@ -103,9 +105,9 @@ The visualization of a tag.
103
105
  <dd>
104
106
  <ul>
105
107
 
106
- <li><a href="#M000097">floating_area</a>,</li>
108
+ <li><a href="#M000127">floating_area</a>,</li>
107
109
 
108
- <li><a href="#M000084">focus</a></li>
110
+ <li><a href="#M000113">focus</a></li>
109
111
 
110
112
  </ul>
111
113
  </dd>
@@ -114,9 +116,9 @@ The visualization of a tag.
114
116
  <dd>
115
117
  <ul>
116
118
 
117
- <li><a href="#M000101">managed_areas</a>,</li>
119
+ <li><a href="#M000131">managed_areas</a>,</li>
118
120
 
119
- <li><a href="#M000090">manifest</a></li>
121
+ <li><a href="#M000119">manifest</a></li>
120
122
 
121
123
  </ul>
122
124
  </dd>
@@ -125,7 +127,7 @@ The visualization of a tag.
125
127
  <dd>
126
128
  <ul>
127
129
 
128
- <li><a href="#M000089">new</a></li>
130
+ <li><a href="#M000117">new</a></li>
129
131
 
130
132
  </ul>
131
133
  </dd>
@@ -134,7 +136,7 @@ The visualization of a tag.
134
136
  <dd>
135
137
  <ul>
136
138
 
137
- <li><a href="#M000091">select</a></li>
139
+ <li><a href="#M000120">select</a></li>
138
140
 
139
141
  </ul>
140
142
  </dd>
@@ -189,9 +191,9 @@ The visualization of a tag.
189
191
  <div class="sectiontitle">Class Public methods</div>
190
192
 
191
193
  <div class="method">
192
- <div class="title" id="M000083">
194
+ <div class="title" id="M000112">
193
195
 
194
- <a name="M000083"></a><b>curr</b>()
196
+ <a name="M000112"></a><b>curr</b>()
195
197
 
196
198
  </div>
197
199
 
@@ -207,13 +209,13 @@ Returns the currently focused view.
207
209
 
208
210
  <div class="sourcecode">
209
211
  <p class="source-link">
210
- Source: <a href="javascript:toggleSource('M000083_source')" id="l_M000083_source">show</a>
212
+ Source: <a href="javascript:toggleSource('M000112_source')" id="l_M000112_source">show</a>
211
213
 
212
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L703" target="_blank" class="github_url">on GitHub</a>
214
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L721" target="_blank" class="github_url">on GitHub</a>
213
215
 
214
216
  </p>
215
- <div id="M000083_source" class="dyn-source">
216
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 703</span>
217
+ <div id="M000112_source" class="dyn-source">
218
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 721</span>
217
219
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">curr</span>
218
220
  <span class="ruby-identifier">new</span> <span class="ruby-constant">FOCUSED_WIDGET_ID</span>
219
221
  <span class="ruby-keyword kw">end</span></pre>
@@ -223,9 +225,9 @@ Returns the currently focused view.
223
225
  </div>
224
226
 
225
227
  <div class="method">
226
- <div class="title" id="M000089">
228
+ <div class="title" id="M000117">
227
229
 
228
- <a name="M000089"></a><b>new</b>(view_id)
230
+ <a name="M000117"></a><b>new</b>(view_id)
229
231
 
230
232
  </div>
231
233
 
@@ -234,13 +236,13 @@ Returns the currently focused view.
234
236
 
235
237
  <div class="sourcecode">
236
238
  <p class="source-link">
237
- Source: <a href="javascript:toggleSource('M000089_source')" id="l_M000089_source">show</a>
239
+ Source: <a href="javascript:toggleSource('M000117_source')" id="l_M000117_source">show</a>
238
240
 
239
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L742" target="_blank" class="github_url">on GitHub</a>
241
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L760" target="_blank" class="github_url">on GitHub</a>
240
242
 
241
243
  </p>
242
- <div id="M000089_source" class="dyn-source">
243
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 742</span>
244
+ <div id="M000117_source" class="dyn-source">
245
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 760</span>
244
246
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">view_id</span>
245
247
  <span class="ruby-keyword kw">super</span> <span class="ruby-identifier">view_id</span>, <span class="ruby-value str">'/tag'</span>
246
248
  <span class="ruby-keyword kw">end</span></pre>
@@ -252,9 +254,9 @@ Returns the currently focused view.
252
254
  <div class="sectiontitle">Instance Public methods</div>
253
255
 
254
256
  <div class="method">
255
- <div class="title" id="M000095">
257
+ <div class="title" id="M000125">
256
258
 
257
- <a name="M000095"></a><b>area_ids</b>()
259
+ <a name="M000125"></a><b>area_ids</b>()
258
260
 
259
261
  </div>
260
262
 
@@ -270,13 +272,13 @@ Returns the IDs of all areas in this view.
270
272
 
271
273
  <div class="sourcecode">
272
274
  <p class="source-link">
273
- Source: <a href="javascript:toggleSource('M000095_source')" id="l_M000095_source">show</a>
275
+ Source: <a href="javascript:toggleSource('M000125_source')" id="l_M000125_source">show</a>
274
276
 
275
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L784" target="_blank" class="github_url">on GitHub</a>
277
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L806" target="_blank" class="github_url">on GitHub</a>
276
278
 
277
279
  </p>
278
- <div id="M000095_source" class="dyn-source">
279
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 784</span>
280
+ <div id="M000125_source" class="dyn-source">
281
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 806</span>
280
282
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">area_ids</span>
281
283
  <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>.<span class="ruby-identifier">unshift</span>(<span class="ruby-constant">FLOATING_AREA_ID</span>)
282
284
  <span class="ruby-keyword kw">end</span></pre>
@@ -286,9 +288,9 @@ Returns the IDs of all areas in this view.
286
288
  </div>
287
289
 
288
290
  <div class="method">
289
- <div class="title" id="M000092">
291
+ <div class="title" id="M000122">
290
292
 
291
- <a name="M000092"></a><b>area_of_client</b>(client_or_id)
293
+ <a name="M000122"></a><b>area_of_client</b>(client_or_id)
292
294
 
293
295
  </div>
294
296
 
@@ -304,13 +306,13 @@ Returns the area which contains the given client in this view.
304
306
 
305
307
  <div class="sourcecode">
306
308
  <p class="source-link">
307
- Source: <a href="javascript:toggleSource('M000092_source')" id="l_M000092_source">show</a>
309
+ Source: <a href="javascript:toggleSource('M000122_source')" id="l_M000122_source">show</a>
308
310
 
309
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L767" target="_blank" class="github_url">on GitHub</a>
311
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L789" target="_blank" class="github_url">on GitHub</a>
310
312
 
311
313
  </p>
312
- <div id="M000092_source" class="dyn-source">
313
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 767</span>
314
+ <div id="M000122_source" class="dyn-source">
315
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 789</span>
314
316
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">area_of_client</span> <span class="ruby-identifier">client_or_id</span>
315
317
  <span class="ruby-identifier">arg</span> =
316
318
  <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>
@@ -330,9 +332,9 @@ Returns the area which contains the given client in this view.
330
332
  </div>
331
333
 
332
334
  <div class="method">
333
- <div class="title" id="M000096">
335
+ <div class="title" id="M000126">
334
336
 
335
- <a name="M000096"></a><b>areas</b>()
337
+ <a name="M000126"></a><b>areas</b>()
336
338
 
337
339
  </div>
338
340
 
@@ -348,13 +350,13 @@ Returns all areas in this view.
348
350
 
349
351
  <div class="sourcecode">
350
352
  <p class="source-link">
351
- Source: <a href="javascript:toggleSource('M000096_source')" id="l_M000096_source">show</a>
353
+ Source: <a href="javascript:toggleSource('M000126_source')" id="l_M000126_source">show</a>
352
354
 
353
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L791" target="_blank" class="github_url">on GitHub</a>
355
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L813" target="_blank" class="github_url">on GitHub</a>
354
356
 
355
357
  </p>
356
- <div id="M000096_source" class="dyn-source">
357
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 791</span>
358
+ <div id="M000126_source" class="dyn-source">
359
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 813</span>
358
360
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">areas</span>
359
361
  <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> }
360
362
  <span class="ruby-keyword kw">end</span></pre>
@@ -364,9 +366,9 @@ Returns all areas in this view.
364
366
  </div>
365
367
 
366
368
  <div class="method">
367
- <div class="title" id="M000104">
369
+ <div class="title" id="M000136">
368
370
 
369
- <a name="M000104"></a><b>arrange_as_larswm</b>()
371
+ <a name="M000136"></a><b>arrange_as_larswm</b>()
370
372
 
371
373
  </div>
372
374
 
@@ -388,13 +390,13 @@ squeezed into the <b>bottom</b> of the secondary column.
388
390
 
389
391
  <div class="sourcecode">
390
392
  <p class="source-link">
391
- Source: <a href="javascript:toggleSource('M000104_source')" id="l_M000104_source">show</a>
393
+ Source: <a href="javascript:toggleSource('M000136_source')" id="l_M000136_source">show</a>
392
394
 
393
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L843" target="_blank" class="github_url">on GitHub</a>
395
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L867" target="_blank" class="github_url">on GitHub</a>
394
396
 
395
397
  </p>
396
- <div id="M000104_source" class="dyn-source">
397
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 843</span>
398
+ <div id="M000136_source" class="dyn-source">
399
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 867</span>
398
400
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">arrange_as_larswm</span>
399
401
  <span class="ruby-identifier">maintain_focus</span> <span class="ruby-keyword kw">do</span>
400
402
  <span class="ruby-comment cmt"># keep only one client in the primary column</span>
@@ -403,13 +405,7 @@ squeezed into the <b>bottom</b> of the secondary column.
403
405
  <span class="ruby-identifier">main</span>.<span class="ruby-identifier">layout</span> = <span class="ruby-identifier">:default</span>
404
406
 
405
407
  <span class="ruby-comment cmt"># collapse remaining areas into secondary column</span>
406
- <span class="ruby-identifier">extra</span> = <span class="ruby-identifier">columns</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
407
-
408
- <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>
409
- <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>
410
- <span class="ruby-identifier">dst</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">src</span>
411
- <span class="ruby-keyword kw">end</span>
412
- <span class="ruby-keyword kw">end</span>
408
+ <span class="ruby-identifier">extra</span> = <span class="ruby-identifier">squeeze_columns</span>(<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>)
413
409
 
414
410
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dock</span> = <span class="ruby-identifier">extra</span>.<span class="ruby-identifier">first</span>
415
411
  <span class="ruby-identifier">dock</span>.<span class="ruby-identifier">layout</span> = <span class="ruby-identifier">:default</span>
@@ -422,9 +418,9 @@ squeezed into the <b>bottom</b> of the secondary column.
422
418
  </div>
423
419
 
424
420
  <div class="method">
425
- <div class="title" id="M000109">
421
+ <div class="title" id="M000144">
426
422
 
427
- <a name="M000109"></a><b>arrange_in_diamond</b>()
423
+ <a name="M000144"></a><b>arrange_in_diamond</b>()
428
424
 
429
425
  </div>
430
426
 
@@ -442,13 +438,13 @@ appears like a diamond because wmii does not waste screen space.
442
438
 
443
439
  <div class="sourcecode">
444
440
  <p class="source-link">
445
- Source: <a href="javascript:toggleSource('M000109_source')" id="l_M000109_source">show</a>
441
+ Source: <a href="javascript:toggleSource('M000144_source')" id="l_M000144_source">show</a>
446
442
 
447
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L897" target="_blank" class="github_url">on GitHub</a>
443
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L940" target="_blank" class="github_url">on GitHub</a>
448
444
 
449
445
  </p>
450
- <div id="M000109_source" class="dyn-source">
451
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 897</span>
446
+ <div id="M000144_source" class="dyn-source">
447
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 940</span>
452
448
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">arrange_in_diamond</span>
453
449
  <span class="ruby-identifier">num_clients</span> = <span class="ruby-identifier">num_managed_clients</span>
454
450
  <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>
@@ -492,9 +488,9 @@ appears like a diamond because wmii does not waste screen space.
492
488
  </div>
493
489
 
494
490
  <div class="method">
495
- <div class="title" id="M000106">
491
+ <div class="title" id="M000137">
496
492
 
497
- <a name="M000106"></a><b>arrange_in_grid</b>(max_clients_per_column = nil)
493
+ <a name="M000137"></a><b>arrange_in_grid</b>(max_clients_per_column = nil)
498
494
 
499
495
  </div>
500
496
 
@@ -511,13 +507,13 @@ in a (at best) square grid.
511
507
 
512
508
  <div class="sourcecode">
513
509
  <p class="source-link">
514
- Source: <a href="javascript:toggleSource('M000106_source')" id="l_M000106_source">show</a>
510
+ Source: <a href="javascript:toggleSource('M000137_source')" id="l_M000137_source">show</a>
515
511
 
516
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L869" target="_blank" class="github_url">on GitHub</a>
512
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L887" target="_blank" class="github_url">on GitHub</a>
517
513
 
518
514
  </p>
519
- <div id="M000106_source" class="dyn-source">
520
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 869</span>
515
+ <div id="M000137_source" class="dyn-source">
516
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 887</span>
521
517
  <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>
522
518
  <span class="ruby-comment cmt"># compute client distribution</span>
523
519
  <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">max_clients_per_column</span>
@@ -544,9 +540,61 @@ in a (at best) square grid.
544
540
  </div>
545
541
 
546
542
  <div class="method">
547
- <div class="title" id="M000085">
543
+ <div class="title" id="M000141">
544
+
545
+ <a name="M000141"></a><b>arrange_in_stacks</b>(num_stacks)
546
+
547
+ </div>
548
+
549
+ <div class="description">
550
+ <p>
551
+ Arranges the clients in this view, while maintaining their relative order,
552
+ in the given number of columns.
553
+ </p>
554
+
555
+ </div>
556
+
557
+
558
+
559
+
560
+ <div class="sourcecode">
561
+ <p class="source-link">
562
+ Source: <a href="javascript:toggleSource('M000141_source')" id="l_M000141_source">show</a>
563
+
564
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L912" target="_blank" class="github_url">on GitHub</a>
565
+
566
+ </p>
567
+ <div id="M000141_source" class="dyn-source">
568
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 912</span>
569
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">arrange_in_stacks</span> <span class="ruby-identifier">num_stacks</span>
570
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">num_stacks</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span>
571
+
572
+ <span class="ruby-comment cmt"># compute client distribution</span>
573
+ <span class="ruby-identifier">num_clients</span> = <span class="ruby-identifier">num_managed_clients</span>
574
+ <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>
575
+
576
+ <span class="ruby-identifier">stack_length</span> = <span class="ruby-identifier">num_clients</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">num_stacks</span>
577
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">stack_length</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span>
578
+
579
+ <span class="ruby-comment cmt"># apply the distribution</span>
580
+ <span class="ruby-identifier">maintain_focus</span> <span class="ruby-keyword kw">do</span>
581
+ <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>
582
+ <span class="ruby-identifier">a</span>.<span class="ruby-identifier">length</span> = <span class="ruby-identifier">stack_length</span>
583
+ <span class="ruby-identifier">a</span>.<span class="ruby-identifier">layout</span> = <span class="ruby-identifier">:stack</span>
584
+ <span class="ruby-keyword kw">end</span>
585
+
586
+ <span class="ruby-identifier">squeeze_columns</span> <span class="ruby-identifier">num_stacks</span><span class="ruby-operator">-</span><span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>
587
+ <span class="ruby-keyword kw">end</span>
588
+ <span class="ruby-keyword kw">end</span></pre>
589
+ </div>
590
+ </div>
591
+
592
+ </div>
593
+
594
+ <div class="method">
595
+ <div class="title" id="M000114">
548
596
 
549
- <a name="M000085"></a><b>chain</b>()
597
+ <a name="M000114"></a><b>chain</b>()
550
598
 
551
599
  </div>
552
600
 
@@ -562,13 +610,13 @@ Returns a list of all views.
562
610
 
563
611
  <div class="sourcecode">
564
612
  <p class="source-link">
565
- Source: <a href="javascript:toggleSource('M000085_source')" id="l_M000085_source">show</a>
613
+ Source: <a href="javascript:toggleSource('M000114_source')" id="l_M000114_source">show</a>
566
614
 
567
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L719" target="_blank" class="github_url">on GitHub</a>
615
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L737" target="_blank" class="github_url">on GitHub</a>
568
616
 
569
617
  </p>
570
- <div id="M000085_source" class="dyn-source">
571
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 719</span>
618
+ <div id="M000114_source" class="dyn-source">
619
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 737</span>
572
620
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chain</span>
573
621
  <span class="ruby-constant">Rumai</span>.<span class="ruby-identifier">views</span>
574
622
  <span class="ruby-keyword kw">end</span></pre>
@@ -578,9 +626,9 @@ Returns a list of all views.
578
626
  </div>
579
627
 
580
628
  <div class="method">
581
- <div class="title" id="M000087">
629
+ <div class="title" id="M000115">
582
630
 
583
- <a name="M000087"></a><b>client_ids</b>(area_id = '\S+')
631
+ <a name="M000115"></a><b>client_ids</b>(area_id = '\S+')
584
632
 
585
633
  </div>
586
634
 
@@ -597,13 +645,13 @@ view.
597
645
 
598
646
  <div class="sourcecode">
599
647
  <p class="source-link">
600
- Source: <a href="javascript:toggleSource('M000087_source')" id="l_M000087_source">show</a>
648
+ Source: <a href="javascript:toggleSource('M000115_source')" id="l_M000115_source">show</a>
601
649
 
602
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L729" target="_blank" class="github_url">on GitHub</a>
650
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L747" target="_blank" class="github_url">on GitHub</a>
603
651
 
604
652
  </p>
605
- <div id="M000087_source" class="dyn-source">
606
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 729</span>
653
+ <div id="M000115_source" class="dyn-source">
654
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 747</span>
607
655
  <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>
608
656
  <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>
609
657
  <span class="ruby-keyword kw">end</span></pre>
@@ -613,9 +661,9 @@ view.
613
661
  </div>
614
662
 
615
663
  <div class="method">
616
- <div class="title" id="M000100">
664
+ <div class="title" id="M000130">
617
665
 
618
- <a name="M000100"></a><b>columns</b>()
666
+ <a name="M000130"></a><b>columns</b>()
619
667
 
620
668
  </div>
621
669
 
@@ -630,7 +678,7 @@ Returns all columns (managed areas) in this view.
630
678
  <div class="aka">
631
679
  This method is also aliased as
632
680
 
633
- <a href="View.html#M000101">managed_areas</a>
681
+ <a href="View.html#M000131">managed_areas</a>
634
682
 
635
683
  </div>
636
684
 
@@ -638,13 +686,13 @@ Returns all columns (managed areas) in this view.
638
686
 
639
687
  <div class="sourcecode">
640
688
  <p class="source-link">
641
- Source: <a href="javascript:toggleSource('M000100_source')" id="l_M000100_source">show</a>
689
+ Source: <a href="javascript:toggleSource('M000130_source')" id="l_M000130_source">show</a>
642
690
 
643
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L805" target="_blank" class="github_url">on GitHub</a>
691
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L827" target="_blank" class="github_url">on GitHub</a>
644
692
 
645
693
  </p>
646
- <div id="M000100_source" class="dyn-source">
647
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 805</span>
694
+ <div id="M000130_source" class="dyn-source">
695
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 827</span>
648
696
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">columns</span>
649
697
  <span class="ruby-identifier">areas</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
650
698
  <span class="ruby-keyword kw">end</span></pre>
@@ -654,9 +702,9 @@ Returns all columns (managed areas) in this view.
654
702
  </div>
655
703
 
656
704
  <div class="method">
657
- <div class="title" id="M000088">
705
+ <div class="title" id="M000116">
658
706
 
659
- <a name="M000088"></a><b>each</b>(&amp;block)
707
+ <a name="M000116"></a><b>each</b>(&amp;block)
660
708
 
661
709
  </div>
662
710
 
@@ -672,13 +720,13 @@ Iterates through each area in this view.
672
720
 
673
721
  <div class="sourcecode">
674
722
  <p class="source-link">
675
- Source: <a href="javascript:toggleSource('M000088_source')" id="l_M000088_source">show</a>
723
+ Source: <a href="javascript:toggleSource('M000116_source')" id="l_M000116_source">show</a>
676
724
 
677
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L738" target="_blank" class="github_url">on GitHub</a>
725
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L756" target="_blank" class="github_url">on GitHub</a>
678
726
 
679
727
  </p>
680
- <div id="M000088_source" class="dyn-source">
681
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 738</span>
728
+ <div id="M000116_source" class="dyn-source">
729
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 756</span>
682
730
  <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>
683
731
  <span class="ruby-identifier">areas</span>.<span class="ruby-identifier">each</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
684
732
  <span class="ruby-keyword kw">end</span></pre>
@@ -688,9 +736,9 @@ Iterates through each area in this view.
688
736
  </div>
689
737
 
690
738
  <div class="method">
691
- <div class="title" id="M000102">
739
+ <div class="title" id="M000132">
692
740
 
693
- <a name="M000102"></a><b>each_column</b>(starting_column_id = 1)
741
+ <a name="M000132"></a><b>each_column</b>(starting_column_id = 1)
694
742
 
695
743
  </div>
696
744
 
@@ -707,7 +755,7 @@ processed in the iteration.
707
755
  <div class="aka">
708
756
  This method is also aliased as
709
757
 
710
- <a href="View.html#M000103">each_managed_area</a>
758
+ <a href="View.html#M000134">each_managed_area</a>
711
759
 
712
760
  </div>
713
761
 
@@ -715,13 +763,13 @@ processed in the iteration.
715
763
 
716
764
  <div class="sourcecode">
717
765
  <p class="source-link">
718
- Source: <a href="javascript:toggleSource('M000102_source')" id="l_M000102_source">show</a>
766
+ Source: <a href="javascript:toggleSource('M000132_source')" id="l_M000132_source">show</a>
719
767
 
720
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L816" target="_blank" class="github_url">on GitHub</a>
768
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L838" target="_blank" class="github_url">on GitHub</a>
721
769
 
722
770
  </p>
723
- <div id="M000102_source" class="dyn-source">
724
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 816</span>
771
+ <div id="M000132_source" class="dyn-source">
772
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 838</span>
725
773
  <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>
726
774
  <span class="ruby-identifier">i</span> = <span class="ruby-identifier">starting_column_id</span>
727
775
  <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
@@ -742,15 +790,15 @@ processed in the iteration.
742
790
  </div>
743
791
 
744
792
  <div class="method">
745
- <div class="title" id="M000103">
793
+ <div class="title" id="M000134">
746
794
 
747
- <a name="M000103"></a><b>each_managed_area</b>(starting_column_id = 1)
795
+ <a name="M000134"></a><b>each_managed_area</b>(starting_column_id = 1)
748
796
 
749
797
  </div>
750
798
 
751
799
  <div class="description">
752
800
  <p>
753
- Alias for <a href="View.html#M000102">each_column</a>
801
+ Alias for <a href="View.html#M000132">each_column</a>
754
802
  </p>
755
803
 
756
804
  </div>
@@ -760,9 +808,9 @@ Alias for <a href="View.html#M000102">each_column</a>
760
808
  </div>
761
809
 
762
810
  <div class="method">
763
- <div class="title" id="M000097">
811
+ <div class="title" id="M000127">
764
812
 
765
- <a name="M000097"></a><b>floating_area</b>()
813
+ <a name="M000127"></a><b>floating_area</b>()
766
814
 
767
815
  </div>
768
816
 
@@ -778,13 +826,13 @@ Returns the floating area of this view.
778
826
 
779
827
  <div class="sourcecode">
780
828
  <p class="source-link">
781
- Source: <a href="javascript:toggleSource('M000097_source')" id="l_M000097_source">show</a>
829
+ Source: <a href="javascript:toggleSource('M000127_source')" id="l_M000127_source">show</a>
782
830
 
783
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L798" target="_blank" class="github_url">on GitHub</a>
831
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L820" target="_blank" class="github_url">on GitHub</a>
784
832
 
785
833
  </p>
786
- <div id="M000097_source" class="dyn-source">
787
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 798</span>
834
+ <div id="M000127_source" class="dyn-source">
835
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 820</span>
788
836
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">floating_area</span>
789
837
  <span class="ruby-constant">Area</span>.<span class="ruby-identifier">floating</span> <span class="ruby-keyword kw">self</span>
790
838
  <span class="ruby-keyword kw">end</span></pre>
@@ -794,9 +842,9 @@ Returns the floating area of this view.
794
842
  </div>
795
843
 
796
844
  <div class="method">
797
- <div class="title" id="M000084">
845
+ <div class="title" id="M000113">
798
846
 
799
- <a name="M000084"></a><b>focus</b>()
847
+ <a name="M000113"></a><b>focus</b>()
800
848
 
801
849
  </div>
802
850
 
@@ -812,13 +860,13 @@ Focuses this view.
812
860
 
813
861
  <div class="sourcecode">
814
862
  <p class="source-link">
815
- Source: <a href="javascript:toggleSource('M000084_source')" id="l_M000084_source">show</a>
863
+ Source: <a href="javascript:toggleSource('M000113_source')" id="l_M000113_source">show</a>
816
864
 
817
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L710" target="_blank" class="github_url">on GitHub</a>
865
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L728" target="_blank" class="github_url">on GitHub</a>
818
866
 
819
867
  </p>
820
- <div id="M000084_source" class="dyn-source">
821
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 710</span>
868
+ <div id="M000113_source" class="dyn-source">
869
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 728</span>
822
870
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">focus</span>
823
871
  <span class="ruby-constant">IXP_FS_ROOT</span>.<span class="ruby-identifier">ctl</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;view #{@id}&quot;</span>
824
872
  <span class="ruby-keyword kw">end</span></pre>
@@ -828,15 +876,15 @@ Focuses this view.
828
876
  </div>
829
877
 
830
878
  <div class="method">
831
- <div class="title" id="M000101">
879
+ <div class="title" id="M000131">
832
880
 
833
- <a name="M000101"></a><b>managed_areas</b>()
881
+ <a name="M000131"></a><b>managed_areas</b>()
834
882
 
835
883
  </div>
836
884
 
837
885
  <div class="description">
838
886
  <p>
839
- Alias for <a href="View.html#M000100">columns</a>
887
+ Alias for <a href="View.html#M000130">columns</a>
840
888
  </p>
841
889
 
842
890
  </div>
@@ -846,9 +894,9 @@ Alias for <a href="View.html#M000100">columns</a>
846
894
  </div>
847
895
 
848
896
  <div class="method">
849
- <div class="title" id="M000090">
897
+ <div class="title" id="M000119">
850
898
 
851
- <a name="M000090"></a><b>manifest</b>()
899
+ <a name="M000119"></a><b>manifest</b>()
852
900
 
853
901
  </div>
854
902
 
@@ -864,13 +912,13 @@ Returns the manifest of all areas and clients in this view.
864
912
 
865
913
  <div class="sourcecode">
866
914
  <p class="source-link">
867
- Source: <a href="javascript:toggleSource('M000090_source')" id="l_M000090_source">show</a>
915
+ Source: <a href="javascript:toggleSource('M000119_source')" id="l_M000119_source">show</a>
868
916
 
869
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L751" target="_blank" class="github_url">on GitHub</a>
917
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L771" target="_blank" class="github_url">on GitHub</a>
870
918
 
871
919
  </p>
872
- <div id="M000090_source" class="dyn-source">
873
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 751</span>
920
+ <div id="M000119_source" class="dyn-source">
921
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 771</span>
874
922
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">manifest</span>
875
923
  <span class="ruby-identifier">index</span>.<span class="ruby-identifier">read</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
876
924
  <span class="ruby-keyword kw">end</span></pre>
@@ -880,9 +928,9 @@ Returns the manifest of all areas and clients in this view.
880
928
  </div>
881
929
 
882
930
  <div class="method">
883
- <div class="title" id="M000091">
931
+ <div class="title" id="M000120">
884
932
 
885
- <a name="M000091"></a><b>select</b>(direction)
933
+ <a name="M000120"></a><b>select</b>(direction)
886
934
 
887
935
  </div>
888
936
 
@@ -898,13 +946,13 @@ Moves the focus from the current client in the given direction.
898
946
 
899
947
  <div class="sourcecode">
900
948
  <p class="source-link">
901
- Source: <a href="javascript:toggleSource('M000091_source')" id="l_M000091_source">show</a>
949
+ Source: <a href="javascript:toggleSource('M000120_source')" id="l_M000120_source">show</a>
902
950
 
903
- | <a href="http://github.com/sunaku/rumai/blob/68157cba221ac3cbed28a6a5882b57f4db0516a9/lib/rumai/wm.rb#L758" target="_blank" class="github_url">on GitHub</a>
951
+ | <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L778" target="_blank" class="github_url">on GitHub</a>
904
952
 
905
953
  </p>
906
- <div id="M000091_source" class="dyn-source">
907
- <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 758</span>
954
+ <div id="M000120_source" class="dyn-source">
955
+ <pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 778</span>
908
956
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">select</span> <span class="ruby-identifier">direction</span>
909
957
  <span class="ruby-identifier">ctl</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;select #{direction}&quot;</span>
910
958
  <span class="ruby-keyword kw">end</span></pre>