rumai 2.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +13 -23
- data/Rakefile +8 -58
- data/bin/rumai +21 -22
- data/doc/api/IO.html +53 -0
- data/doc/api/Integer.html +102 -0
- data/doc/api/Object.html +23 -0
- data/doc/api/Rumai.html +1218 -0
- data/doc/api/Rumai/Area.html +1088 -0
- data/doc/api/Rumai/Chain.html +230 -0
- data/doc/api/Rumai/Client.html +1264 -0
- data/doc/api/Rumai/ClientContainer.html +227 -0
- data/doc/api/Rumai/ExportInstMethods.html +115 -0
- data/doc/api/Rumai/IXP.html +23 -0
- data/doc/api/Rumai/IXP/Agent.html +1222 -0
- data/doc/api/Rumai/IXP/Agent/FidStream.html +602 -0
- data/doc/api/Rumai/IXP/Agent/RangedPool.html +263 -0
- data/doc/api/Rumai/IXP/Error.html +32 -0
- data/doc/api/Rumai/IXP/Fcall.html +398 -0
- data/doc/api/Rumai/IXP/Qid.html +99 -0
- data/doc/api/Rumai/IXP/Rattach.html +71 -0
- data/doc/api/Rumai/IXP/Rauth.html +71 -0
- data/doc/api/Rumai/IXP/Rclunk.html +71 -0
- data/doc/api/Rumai/IXP/Rcreate.html +71 -0
- data/doc/api/Rumai/IXP/Rerror.html +71 -0
- data/doc/api/Rumai/IXP/Rflush.html +71 -0
- data/doc/api/Rumai/IXP/Ropen.html +71 -0
- data/doc/api/Rumai/IXP/Rread.html +71 -0
- data/doc/api/Rumai/IXP/Rremove.html +71 -0
- data/doc/api/Rumai/IXP/Rstat.html +71 -0
- data/doc/api/Rumai/IXP/Rversion.html +71 -0
- data/doc/api/Rumai/IXP/Rwalk.html +71 -0
- data/doc/api/Rumai/IXP/Rwrite.html +71 -0
- data/doc/api/Rumai/IXP/Rwstat.html +71 -0
- data/doc/api/Rumai/IXP/Stat.html +188 -0
- data/doc/api/Rumai/IXP/Stream.html +112 -0
- data/doc/api/Rumai/IXP/Struct.html +348 -0
- data/doc/api/Rumai/IXP/Struct/ClassField.html +177 -0
- data/doc/api/Rumai/IXP/Struct/Field.html +549 -0
- data/doc/api/Rumai/IXP/Struct/Field/CounteeField.html +175 -0
- data/doc/api/Rumai/IXP/Struct/Field/CounterField.html +95 -0
- data/doc/api/Rumai/IXP/Struct/Integer8Field.html +181 -0
- data/doc/api/Rumai/IXP/Struct/StringField.html +128 -0
- data/doc/api/Rumai/IXP/Tattach.html +71 -0
- data/doc/api/Rumai/IXP/Tauth.html +71 -0
- data/doc/api/Rumai/IXP/Tclunk.html +71 -0
- data/doc/api/Rumai/IXP/Tcreate.html +71 -0
- data/doc/api/Rumai/IXP/Terror.html +156 -0
- data/doc/api/Rumai/IXP/Tflush.html +71 -0
- data/doc/api/Rumai/IXP/Topen.html +113 -0
- data/doc/api/Rumai/IXP/Tread.html +71 -0
- data/doc/api/Rumai/IXP/Tremove.html +71 -0
- data/doc/api/Rumai/IXP/Tstat.html +71 -0
- data/doc/api/Rumai/IXP/Tversion.html +83 -0
- data/doc/api/Rumai/IXP/Twalk.html +71 -0
- data/doc/api/Rumai/IXP/Twrite.html +71 -0
- data/doc/api/Rumai/IXP/Twstat.html +71 -0
- data/doc/api/Rumai/Node.html +1139 -0
- data/doc/api/Rumai/View.html +1280 -0
- data/doc/api/Rumai/WidgetImpl.html +196 -0
- data/doc/api/Rumai/WidgetNode.html +184 -0
- data/doc/api/String.html +180 -0
- data/doc/api/StringIO.html +53 -0
- data/doc/api/Time.html +175 -0
- data/doc/api/all-methods.html +1436 -0
- data/doc/api/all-namespaces.html +140 -0
- data/doc/api/app.js +18 -0
- data/doc/api/index.html +16 -22
- data/doc/api/jquery.js +11 -0
- data/doc/api/readme.html +35 -0
- data/doc/api/style.css +68 -0
- data/doc/api/syntax_highlight.css +21 -0
- data/doc/history.erb +17 -0
- data/doc/index.erb +13 -0
- data/doc/index.xhtml +1235 -0
- data/doc/intro.erb +86 -0
- data/doc/setup.erb +55 -0
- data/doc/theory.erb +3 -0
- data/doc/usage.erb +285 -0
- data/lib/rumai.rb +10 -7
- data/lib/rumai/fs.rb +13 -15
- data/lib/rumai/ixp.rb +2 -7
- data/lib/rumai/ixp/message.rb +0 -3
- data/lib/rumai/ixp/transport.rb +1 -4
- data/lib/rumai/wm.rb +6 -6
- data/test/rumai/ixp/message.rb +249 -0
- metadata +104 -263
- data/README +0 -1
- data/doc/api/classes/IO.html +0 -120
- data/doc/api/classes/Integer.html +0 -142
- data/doc/api/classes/Integer.src/M000002.html +0 -18
- data/doc/api/classes/Object.html +0 -113
- data/doc/api/classes/Rumai.html +0 -530
- data/doc/api/classes/Rumai.src/M000007.html +0 -18
- data/doc/api/classes/Rumai.src/M000008.html +0 -18
- data/doc/api/classes/Rumai.src/M000009.html +0 -18
- data/doc/api/classes/Rumai.src/M000010.html +0 -18
- data/doc/api/classes/Rumai.src/M000011.html +0 -18
- data/doc/api/classes/Rumai.src/M000012.html +0 -18
- data/doc/api/classes/Rumai.src/M000013.html +0 -18
- data/doc/api/classes/Rumai.src/M000014.html +0 -20
- data/doc/api/classes/Rumai.src/M000015.html +0 -18
- data/doc/api/classes/Rumai.src/M000016.html +0 -18
- data/doc/api/classes/Rumai.src/M000017.html +0 -18
- data/doc/api/classes/Rumai.src/M000018.html +0 -18
- data/doc/api/classes/Rumai.src/M000019.html +0 -18
- data/doc/api/classes/Rumai.src/M000020.html +0 -18
- data/doc/api/classes/Rumai.src/M000021.html +0 -18
- data/doc/api/classes/Rumai.src/M000022.html +0 -18
- data/doc/api/classes/Rumai.src/M000023.html +0 -18
- data/doc/api/classes/Rumai.src/M000024.html +0 -18
- data/doc/api/classes/Rumai.src/M000025.html +0 -18
- data/doc/api/classes/Rumai.src/M000026.html +0 -18
- data/doc/api/classes/Rumai/Area.html +0 -461
- data/doc/api/classes/Rumai/Area.src/M000079.html +0 -19
- data/doc/api/classes/Rumai/Area.src/M000080.html +0 -18
- data/doc/api/classes/Rumai/Area.src/M000081.html +0 -18
- data/doc/api/classes/Rumai/Area.src/M000082.html +0 -18
- data/doc/api/classes/Rumai/Area.src/M000083.html +0 -18
- data/doc/api/classes/Rumai/Area.src/M000084.html +0 -18
- data/doc/api/classes/Rumai/Area.src/M000085.html +0 -18
- data/doc/api/classes/Rumai/Area.src/M000086.html +0 -18
- data/doc/api/classes/Rumai/Area.src/M000087.html +0 -18
- data/doc/api/classes/Rumai/Area.src/M000088.html +0 -18
- data/doc/api/classes/Rumai/Area.src/M000089.html +0 -18
- data/doc/api/classes/Rumai/Area.src/M000090.html +0 -22
- data/doc/api/classes/Rumai/Area.src/M000092.html +0 -23
- data/doc/api/classes/Rumai/Area.src/M000093.html +0 -28
- data/doc/api/classes/Rumai/Area.src/M000094.html +0 -18
- data/doc/api/classes/Rumai/Area.src/M000095.html +0 -31
- data/doc/api/classes/Rumai/Chain.html +0 -179
- data/doc/api/classes/Rumai/Chain.src/M000076.html +0 -18
- data/doc/api/classes/Rumai/Chain.src/M000077.html +0 -18
- data/doc/api/classes/Rumai/Chain.src/M000078.html +0 -18
- data/doc/api/classes/Rumai/Client.html +0 -481
- data/doc/api/classes/Rumai/Client.src/M000113.html +0 -18
- data/doc/api/classes/Rumai/Client.src/M000114.html +0 -18
- data/doc/api/classes/Rumai/Client.src/M000115.html +0 -18
- data/doc/api/classes/Rumai/Client.src/M000116.html +0 -39
- data/doc/api/classes/Rumai/Client.src/M000117.html +0 -19
- data/doc/api/classes/Rumai/Client.src/M000118.html +0 -19
- data/doc/api/classes/Rumai/Client.src/M000119.html +0 -18
- data/doc/api/classes/Rumai/Client.src/M000120.html +0 -18
- data/doc/api/classes/Rumai/Client.src/M000121.html +0 -18
- data/doc/api/classes/Rumai/Client.src/M000122.html +0 -18
- data/doc/api/classes/Rumai/Client.src/M000123.html +0 -19
- data/doc/api/classes/Rumai/Client.src/M000124.html +0 -20
- data/doc/api/classes/Rumai/Client.src/M000125.html +0 -20
- data/doc/api/classes/Rumai/Client.src/M000126.html +0 -22
- data/doc/api/classes/Rumai/Client.src/M000127.html +0 -18
- data/doc/api/classes/Rumai/Client.src/M000128.html +0 -20
- data/doc/api/classes/Rumai/Client.src/M000129.html +0 -18
- data/doc/api/classes/Rumai/Client.src/M000130.html +0 -22
- data/doc/api/classes/Rumai/ClientContainer.html +0 -180
- data/doc/api/classes/Rumai/ClientContainer.src/M000027.html +0 -18
- data/doc/api/classes/Rumai/ClientContainer.src/M000028.html +0 -18
- data/doc/api/classes/Rumai/ClientContainer.src/M000029.html +0 -18
- data/doc/api/classes/Rumai/ExportInstMethods.html +0 -119
- data/doc/api/classes/Rumai/IXP.html +0 -149
- data/doc/api/classes/Rumai/IXP/Agent.html +0 -447
- data/doc/api/classes/Rumai/IXP/Agent.src/M000044.html +0 -53
- data/doc/api/classes/Rumai/IXP/Agent.src/M000045.html +0 -36
- data/doc/api/classes/Rumai/IXP/Agent.src/M000046.html +0 -39
- data/doc/api/classes/Rumai/IXP/Agent.src/M000047.html +0 -20
- data/doc/api/classes/Rumai/IXP/Agent.src/M000048.html +0 -22
- data/doc/api/classes/Rumai/IXP/Agent.src/M000049.html +0 -20
- data/doc/api/classes/Rumai/IXP/Agent.src/M000050.html +0 -33
- data/doc/api/classes/Rumai/IXP/Agent.src/M000051.html +0 -19
- data/doc/api/classes/Rumai/IXP/Agent.src/M000052.html +0 -18
- data/doc/api/classes/Rumai/IXP/Agent.src/M000053.html +0 -21
- data/doc/api/classes/Rumai/IXP/Agent.src/M000054.html +0 -20
- data/doc/api/classes/Rumai/IXP/Agent.src/M000055.html +0 -20
- data/doc/api/classes/Rumai/IXP/Agent.src/M000056.html +0 -22
- data/doc/api/classes/Rumai/IXP/Agent.src/M000057.html +0 -23
- data/doc/api/classes/Rumai/IXP/Agent.src/M000058.html +0 -19
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.html +0 -312
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000060.html +0 -23
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000061.html +0 -19
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000062.html +0 -22
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000063.html +0 -18
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000064.html +0 -45
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000065.html +0 -36
- data/doc/api/classes/Rumai/IXP/Agent/MODES.html +0 -130
- data/doc/api/classes/Rumai/IXP/Agent/MODES.src/M000059.html +0 -22
- data/doc/api/classes/Rumai/IXP/Agent/RangedPool.html +0 -203
- data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000067.html +0 -22
- data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000068.html +0 -36
- data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000069.html +0 -18
- data/doc/api/classes/Rumai/IXP/Error.html +0 -117
- data/doc/api/classes/Rumai/IXP/Fcall.html +0 -261
- data/doc/api/classes/Rumai/IXP/Fcall.src/M000070.html +0 -20
- data/doc/api/classes/Rumai/IXP/Fcall.src/M000071.html +0 -25
- data/doc/api/classes/Rumai/IXP/Fcall.src/M000072.html +0 -18
- data/doc/api/classes/Rumai/IXP/Fcall.src/M000073.html +0 -18
- data/doc/api/classes/Rumai/IXP/Qid.html +0 -184
- data/doc/api/classes/Rumai/IXP/Rattach.html +0 -119
- data/doc/api/classes/Rumai/IXP/Rauth.html +0 -119
- data/doc/api/classes/Rumai/IXP/Rclunk.html +0 -119
- data/doc/api/classes/Rumai/IXP/Rcreate.html +0 -119
- data/doc/api/classes/Rumai/IXP/Rerror.html +0 -119
- data/doc/api/classes/Rumai/IXP/Rflush.html +0 -119
- data/doc/api/classes/Rumai/IXP/Ropen.html +0 -119
- data/doc/api/classes/Rumai/IXP/Rread.html +0 -119
- data/doc/api/classes/Rumai/IXP/Rremove.html +0 -119
- data/doc/api/classes/Rumai/IXP/Rstat.html +0 -119
- data/doc/api/classes/Rumai/IXP/Rversion.html +0 -119
- data/doc/api/classes/Rumai/IXP/Rwalk.html +0 -119
- data/doc/api/classes/Rumai/IXP/Rwrite.html +0 -119
- data/doc/api/classes/Rumai/IXP/Rwstat.html +0 -119
- data/doc/api/classes/Rumai/IXP/Stat.html +0 -248
- data/doc/api/classes/Rumai/IXP/Stat.src/M000075.html +0 -18
- data/doc/api/classes/Rumai/IXP/Stream.html +0 -158
- data/doc/api/classes/Rumai/IXP/Stream.src/M000043.html +0 -18
- data/doc/api/classes/Rumai/IXP/Struct.html +0 -221
- data/doc/api/classes/Rumai/IXP/Struct.src/M000030.html +0 -19
- data/doc/api/classes/Rumai/IXP/Struct.src/M000031.html +0 -18
- data/doc/api/classes/Rumai/IXP/Struct.src/M000032.html +0 -20
- data/doc/api/classes/Rumai/IXP/Struct.src/M000033.html +0 -57
- data/doc/api/classes/Rumai/IXP/Struct/Field.html +0 -296
- data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000034.html +0 -21
- data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000035.html +0 -21
- data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000036.html +0 -20
- data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000037.html +0 -29
- data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000038.html +0 -18
- data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000039.html +0 -18
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.html +0 -152
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.src/M000041.html +0 -24
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.src/M000042.html +0 -25
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.html +0 -137
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.src/M000040.html +0 -18
- data/doc/api/classes/Rumai/IXP/Tattach.html +0 -120
- data/doc/api/classes/Rumai/IXP/Tauth.html +0 -119
- data/doc/api/classes/Rumai/IXP/Tclunk.html +0 -119
- data/doc/api/classes/Rumai/IXP/Tcreate.html +0 -120
- data/doc/api/classes/Rumai/IXP/Terror.html +0 -145
- data/doc/api/classes/Rumai/IXP/Terror.src/M000074.html +0 -18
- data/doc/api/classes/Rumai/IXP/Tflush.html +0 -119
- data/doc/api/classes/Rumai/IXP/Topen.html +0 -193
- data/doc/api/classes/Rumai/IXP/Tread.html +0 -119
- data/doc/api/classes/Rumai/IXP/Tremove.html +0 -119
- data/doc/api/classes/Rumai/IXP/Tstat.html +0 -119
- data/doc/api/classes/Rumai/IXP/Tversion.html +0 -137
- data/doc/api/classes/Rumai/IXP/Twalk.html +0 -120
- data/doc/api/classes/Rumai/IXP/Twrite.html +0 -120
- data/doc/api/classes/Rumai/IXP/Twstat.html +0 -119
- data/doc/api/classes/Rumai/Node.html +0 -461
- data/doc/api/classes/Rumai/Node.src/M000096.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000097.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000098.html +0 -22
- data/doc/api/classes/Rumai/Node.src/M000099.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000100.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000101.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000102.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000103.html +0 -22
- data/doc/api/classes/Rumai/Node.src/M000104.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000105.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000106.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000107.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000108.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000109.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000110.html +0 -18
- data/doc/api/classes/Rumai/Node.src/M000111.html +0 -20
- data/doc/api/classes/Rumai/Node.src/M000112.html +0 -27
- data/doc/api/classes/Rumai/View.html +0 -436
- data/doc/api/classes/Rumai/View.src/M000131.html +0 -18
- data/doc/api/classes/Rumai/View.src/M000132.html +0 -18
- data/doc/api/classes/Rumai/View.src/M000133.html +0 -18
- data/doc/api/classes/Rumai/View.src/M000134.html +0 -18
- data/doc/api/classes/Rumai/View.src/M000135.html +0 -18
- data/doc/api/classes/Rumai/View.src/M000136.html +0 -18
- data/doc/api/classes/Rumai/View.src/M000137.html +0 -18
- data/doc/api/classes/Rumai/View.src/M000138.html +0 -28
- data/doc/api/classes/Rumai/View.src/M000139.html +0 -18
- data/doc/api/classes/Rumai/View.src/M000140.html +0 -18
- data/doc/api/classes/Rumai/View.src/M000141.html +0 -18
- data/doc/api/classes/Rumai/View.src/M000142.html +0 -18
- data/doc/api/classes/Rumai/View.src/M000143.html +0 -29
- data/doc/api/classes/Rumai/View.src/M000144.html +0 -20
- data/doc/api/classes/Rumai/View.src/M000145.html +0 -33
- data/doc/api/classes/Rumai/View.src/M000146.html +0 -50
- data/doc/api/classes/String.html +0 -169
- data/doc/api/classes/String.src/M000005.html +0 -18
- data/doc/api/classes/String.src/M000006.html +0 -18
- data/doc/api/classes/StringIO.html +0 -120
- data/doc/api/classes/Time.html +0 -163
- data/doc/api/classes/Time.src/M000003.html +0 -18
- data/doc/api/classes/Time.src/M000004.html +0 -18
- data/doc/api/created.rid +0 -1
- data/doc/api/files/lib/rumai/fs_rb.html +0 -115
- data/doc/api/files/lib/rumai/ixp/message_rb.html +0 -120
- data/doc/api/files/lib/rumai/ixp/message_spec_rb.html +0 -175
- data/doc/api/files/lib/rumai/ixp/message_spec_rb.src/M000001.html +0 -37
- data/doc/api/files/lib/rumai/ixp/transport_rb.html +0 -115
- data/doc/api/files/lib/rumai/ixp_rb.html +0 -116
- data/doc/api/files/lib/rumai/nfo_rb.html +0 -107
- data/doc/api/files/lib/rumai/wm_rb.html +0 -115
- data/doc/api/files/lib/rumai_rb.html +0 -115
- data/doc/api/fr_class_index.html +0 -82
- data/doc/api/fr_file_index.html +0 -34
- data/doc/api/fr_method_index.html +0 -172
- data/doc/api/rdoc-style.css +0 -208
- data/doc/guide.erb +0 -390
- data/doc/guide.html +0 -2043
- data/lib/rumai/ixp/message_spec.rb +0 -247
- data/lib/rumai/nfo.rb +0 -24
@@ -0,0 +1,140 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
6
|
+
<link rel="stylesheet" href="style.css" type="text/css" charset="utf-8" />
|
7
|
+
<link rel="stylesheet" href="syntax_highlight.css" type="text/css" charset="utf-8" />
|
8
|
+
|
9
|
+
<title>All Modules / Classes</title>
|
10
|
+
<base target="main" />
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
<div id="nav" class="namespaces">
|
14
|
+
<h1>All Modules / Classes</h1>
|
15
|
+
<ul>
|
16
|
+
|
17
|
+
<li><a href="IO.html" title="IO">IO</a> <em>(class)</em></li>
|
18
|
+
|
19
|
+
<li><a href="Integer.html" title="Integer">Integer</a> <em>(class)</em></li>
|
20
|
+
|
21
|
+
<li><a href="Object.html" title="Object">Object</a> <em>(class)</em></li>
|
22
|
+
|
23
|
+
<li><a href="Rumai.html" title="Rumai">Rumai</a> <em>(module)</em></li>
|
24
|
+
|
25
|
+
<li><a href="Rumai/Area.html" title="Rumai::Area">Rumai::Area</a> <em>(class)</em></li>
|
26
|
+
|
27
|
+
<li><a href="Rumai/Chain.html" title="Rumai::Chain">Rumai::Chain</a> <em>(module)</em></li>
|
28
|
+
|
29
|
+
<li><a href="Rumai/Client.html" title="Rumai::Client">Rumai::Client</a> <em>(class)</em></li>
|
30
|
+
|
31
|
+
<li><a href="Rumai/ClientContainer.html" title="Rumai::ClientContainer">Rumai::ClientContainer</a> <em>(module)</em></li>
|
32
|
+
|
33
|
+
<li><a href="Rumai/ExportInstMethods.html" title="Rumai::ExportInstMethods">Rumai::ExportInstMethods</a> <em>(module)</em></li>
|
34
|
+
|
35
|
+
<li><a href="Rumai/IXP.html" title="Rumai::IXP">Rumai::IXP</a> <em>(module)</em></li>
|
36
|
+
|
37
|
+
<li><a href="Rumai/IXP/Agent.html" title="Rumai::IXP::Agent">Rumai::IXP::Agent</a> <em>(class)</em></li>
|
38
|
+
|
39
|
+
<li><a href="Rumai/IXP/Agent/FidStream.html" title="Rumai::IXP::Agent::FidStream">Rumai::IXP::Agent::FidStream</a> <em>(class)</em></li>
|
40
|
+
|
41
|
+
<li><a href="Rumai/IXP/Agent/RangedPool.html" title="Rumai::IXP::Agent::RangedPool">Rumai::IXP::Agent::RangedPool</a> <em>(class)</em></li>
|
42
|
+
|
43
|
+
<li><a href="Rumai/IXP/Error.html" title="Rumai::IXP::Error">Rumai::IXP::Error</a> <em>(class)</em></li>
|
44
|
+
|
45
|
+
<li><a href="Rumai/IXP/Fcall.html" title="Rumai::IXP::Fcall">Rumai::IXP::Fcall</a> <em>(class)</em></li>
|
46
|
+
|
47
|
+
<li><a href="Rumai/IXP/Qid.html" title="Rumai::IXP::Qid">Rumai::IXP::Qid</a> <em>(class)</em></li>
|
48
|
+
|
49
|
+
<li><a href="Rumai/IXP/Rattach.html" title="Rumai::IXP::Rattach">Rumai::IXP::Rattach</a> <em>(class)</em></li>
|
50
|
+
|
51
|
+
<li><a href="Rumai/IXP/Rauth.html" title="Rumai::IXP::Rauth">Rumai::IXP::Rauth</a> <em>(class)</em></li>
|
52
|
+
|
53
|
+
<li><a href="Rumai/IXP/Rclunk.html" title="Rumai::IXP::Rclunk">Rumai::IXP::Rclunk</a> <em>(class)</em></li>
|
54
|
+
|
55
|
+
<li><a href="Rumai/IXP/Rcreate.html" title="Rumai::IXP::Rcreate">Rumai::IXP::Rcreate</a> <em>(class)</em></li>
|
56
|
+
|
57
|
+
<li><a href="Rumai/IXP/Rerror.html" title="Rumai::IXP::Rerror">Rumai::IXP::Rerror</a> <em>(class)</em></li>
|
58
|
+
|
59
|
+
<li><a href="Rumai/IXP/Rflush.html" title="Rumai::IXP::Rflush">Rumai::IXP::Rflush</a> <em>(class)</em></li>
|
60
|
+
|
61
|
+
<li><a href="Rumai/IXP/Ropen.html" title="Rumai::IXP::Ropen">Rumai::IXP::Ropen</a> <em>(class)</em></li>
|
62
|
+
|
63
|
+
<li><a href="Rumai/IXP/Rread.html" title="Rumai::IXP::Rread">Rumai::IXP::Rread</a> <em>(class)</em></li>
|
64
|
+
|
65
|
+
<li><a href="Rumai/IXP/Rremove.html" title="Rumai::IXP::Rremove">Rumai::IXP::Rremove</a> <em>(class)</em></li>
|
66
|
+
|
67
|
+
<li><a href="Rumai/IXP/Rstat.html" title="Rumai::IXP::Rstat">Rumai::IXP::Rstat</a> <em>(class)</em></li>
|
68
|
+
|
69
|
+
<li><a href="Rumai/IXP/Rversion.html" title="Rumai::IXP::Rversion">Rumai::IXP::Rversion</a> <em>(class)</em></li>
|
70
|
+
|
71
|
+
<li><a href="Rumai/IXP/Rwalk.html" title="Rumai::IXP::Rwalk">Rumai::IXP::Rwalk</a> <em>(class)</em></li>
|
72
|
+
|
73
|
+
<li><a href="Rumai/IXP/Rwrite.html" title="Rumai::IXP::Rwrite">Rumai::IXP::Rwrite</a> <em>(class)</em></li>
|
74
|
+
|
75
|
+
<li><a href="Rumai/IXP/Rwstat.html" title="Rumai::IXP::Rwstat">Rumai::IXP::Rwstat</a> <em>(class)</em></li>
|
76
|
+
|
77
|
+
<li><a href="Rumai/IXP/Stat.html" title="Rumai::IXP::Stat">Rumai::IXP::Stat</a> <em>(class)</em></li>
|
78
|
+
|
79
|
+
<li><a href="Rumai/IXP/Stream.html" title="Rumai::IXP::Stream">Rumai::IXP::Stream</a> <em>(module)</em></li>
|
80
|
+
|
81
|
+
<li><a href="Rumai/IXP/Struct.html" title="Rumai::IXP::Struct">Rumai::IXP::Struct</a> <em>(module)</em></li>
|
82
|
+
|
83
|
+
<li><a href="Rumai/IXP/Struct/ClassField.html" title="Rumai::IXP::Struct::ClassField">Rumai::IXP::Struct::ClassField</a> <em>(class)</em></li>
|
84
|
+
|
85
|
+
<li><a href="Rumai/IXP/Struct/Field.html" title="Rumai::IXP::Struct::Field">Rumai::IXP::Struct::Field</a> <em>(class)</em></li>
|
86
|
+
|
87
|
+
<li><a href="Rumai/IXP/Struct/Field/CounteeField.html" title="Rumai::IXP::Struct::Field::CounteeField">Rumai::IXP::Struct::Field::CounteeField</a> <em>(module)</em></li>
|
88
|
+
|
89
|
+
<li><a href="Rumai/IXP/Struct/Field/CounterField.html" title="Rumai::IXP::Struct::Field::CounterField">Rumai::IXP::Struct::Field::CounterField</a> <em>(module)</em></li>
|
90
|
+
|
91
|
+
<li><a href="Rumai/IXP/Struct/Integer8Field.html" title="Rumai::IXP::Struct::Integer8Field">Rumai::IXP::Struct::Integer8Field</a> <em>(class)</em></li>
|
92
|
+
|
93
|
+
<li><a href="Rumai/IXP/Struct/StringField.html" title="Rumai::IXP::Struct::StringField">Rumai::IXP::Struct::StringField</a> <em>(class)</em></li>
|
94
|
+
|
95
|
+
<li><a href="Rumai/IXP/Tattach.html" title="Rumai::IXP::Tattach">Rumai::IXP::Tattach</a> <em>(class)</em></li>
|
96
|
+
|
97
|
+
<li><a href="Rumai/IXP/Tauth.html" title="Rumai::IXP::Tauth">Rumai::IXP::Tauth</a> <em>(class)</em></li>
|
98
|
+
|
99
|
+
<li><a href="Rumai/IXP/Tclunk.html" title="Rumai::IXP::Tclunk">Rumai::IXP::Tclunk</a> <em>(class)</em></li>
|
100
|
+
|
101
|
+
<li><a href="Rumai/IXP/Tcreate.html" title="Rumai::IXP::Tcreate">Rumai::IXP::Tcreate</a> <em>(class)</em></li>
|
102
|
+
|
103
|
+
<li><a href="Rumai/IXP/Terror.html" title="Rumai::IXP::Terror">Rumai::IXP::Terror</a> <em>(class)</em></li>
|
104
|
+
|
105
|
+
<li><a href="Rumai/IXP/Tflush.html" title="Rumai::IXP::Tflush">Rumai::IXP::Tflush</a> <em>(class)</em></li>
|
106
|
+
|
107
|
+
<li><a href="Rumai/IXP/Topen.html" title="Rumai::IXP::Topen">Rumai::IXP::Topen</a> <em>(class)</em></li>
|
108
|
+
|
109
|
+
<li><a href="Rumai/IXP/Tread.html" title="Rumai::IXP::Tread">Rumai::IXP::Tread</a> <em>(class)</em></li>
|
110
|
+
|
111
|
+
<li><a href="Rumai/IXP/Tremove.html" title="Rumai::IXP::Tremove">Rumai::IXP::Tremove</a> <em>(class)</em></li>
|
112
|
+
|
113
|
+
<li><a href="Rumai/IXP/Tstat.html" title="Rumai::IXP::Tstat">Rumai::IXP::Tstat</a> <em>(class)</em></li>
|
114
|
+
|
115
|
+
<li><a href="Rumai/IXP/Tversion.html" title="Rumai::IXP::Tversion">Rumai::IXP::Tversion</a> <em>(class)</em></li>
|
116
|
+
|
117
|
+
<li><a href="Rumai/IXP/Twalk.html" title="Rumai::IXP::Twalk">Rumai::IXP::Twalk</a> <em>(class)</em></li>
|
118
|
+
|
119
|
+
<li><a href="Rumai/IXP/Twrite.html" title="Rumai::IXP::Twrite">Rumai::IXP::Twrite</a> <em>(class)</em></li>
|
120
|
+
|
121
|
+
<li><a href="Rumai/IXP/Twstat.html" title="Rumai::IXP::Twstat">Rumai::IXP::Twstat</a> <em>(class)</em></li>
|
122
|
+
|
123
|
+
<li><a href="Rumai/Node.html" title="Rumai::Node">Rumai::Node</a> <em>(class)</em></li>
|
124
|
+
|
125
|
+
<li><a href="Rumai/View.html" title="Rumai::View">Rumai::View</a> <em>(class)</em></li>
|
126
|
+
|
127
|
+
<li><a href="Rumai/WidgetImpl.html" title="Rumai::WidgetImpl">Rumai::WidgetImpl</a> <em>(module)</em></li>
|
128
|
+
|
129
|
+
<li><a href="Rumai/WidgetNode.html" title="Rumai::WidgetNode">Rumai::WidgetNode</a> <em>(class)</em></li>
|
130
|
+
|
131
|
+
<li><a href="String.html" title="String">String</a> <em>(class)</em></li>
|
132
|
+
|
133
|
+
<li><a href="StringIO.html" title="StringIO">StringIO</a> <em>(class)</em></li>
|
134
|
+
|
135
|
+
<li><a href="Time.html" title="Time">Time</a> <em>(class)</em></li>
|
136
|
+
|
137
|
+
</ul>
|
138
|
+
</div>
|
139
|
+
</body>
|
140
|
+
</html>
|
data/doc/api/app.js
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
$(document).ready(function() {
|
2
|
+
// Set the title of this page as the index title
|
3
|
+
if (parent && parent.document) {
|
4
|
+
$('html head title', parent.document).text($('html head title').text());
|
5
|
+
}
|
6
|
+
|
7
|
+
// Setup the view source links
|
8
|
+
$(".section.source a.source_link").toggle(
|
9
|
+
function() {
|
10
|
+
$(this).text('Hide source');
|
11
|
+
$(this).parent().next().show();
|
12
|
+
},
|
13
|
+
function() {
|
14
|
+
$(this).text('View source');
|
15
|
+
$(this).parent().next().hide();
|
16
|
+
}
|
17
|
+
);
|
18
|
+
});
|
data/doc/api/index.html
CHANGED
@@ -1,24 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
<
|
12
|
-
<head>
|
13
|
-
<title>RDoc Documentation</title>
|
14
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
15
|
-
</head>
|
16
|
-
<frameset rows="20%, 80%">
|
17
|
-
<frameset cols="25%,35%,45%">
|
18
|
-
<frame src="fr_file_index.html" title="Files" name="Files" />
|
19
|
-
<frame src="fr_class_index.html" name="Classes" />
|
20
|
-
<frame src="fr_method_index.html" name="Methods" />
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
6
|
+
<title>YARD Documentation</title>
|
7
|
+
</head>
|
8
|
+
<frameset cols="20%,*">
|
9
|
+
<frameset rows="50%,50%">
|
10
|
+
<frame src="all-namespaces.html" />
|
11
|
+
<frame src="all-methods.html" />
|
21
12
|
</frameset>
|
22
|
-
<frame
|
23
|
-
|
13
|
+
<frame name="main" src="readme.html" />
|
14
|
+
<noframes>
|
15
|
+
<p><a href="readme.html">Click here to go to the title page</a>.</p>
|
16
|
+
</noframes>
|
17
|
+
</frameset>
|
24
18
|
</html>
|
data/doc/api/jquery.js
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
/*
|
2
|
+
* jQuery 1.2.6 - New Wave Javascript
|
3
|
+
*
|
4
|
+
* Copyright (c) 2008 John Resig (jquery.com)
|
5
|
+
* Dual licensed under the MIT (MIT-LICENSE.txt)
|
6
|
+
* and GPL (GPL-LICENSE.txt) licenses.
|
7
|
+
*
|
8
|
+
* $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
|
9
|
+
* $Rev: 5685 $
|
10
|
+
*/
|
11
|
+
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(H(){J w=1b.4M,3m$=1b.$;J D=1b.4M=1b.$=H(a,b){I 2B D.17.5j(a,b)};J u=/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/,62=/^.[^:#\\[\\.]*$/,12;D.17=D.44={5j:H(d,b){d=d||S;G(d.16){7[0]=d;7.K=1;I 7}G(1j d=="23"){J c=u.2D(d);G(c&&(c[1]||!b)){G(c[1])d=D.4h([c[1]],b);N{J a=S.61(c[3]);G(a){G(a.2v!=c[3])I D().2q(d);I D(a)}d=[]}}N I D(b).2q(d)}N G(D.1D(d))I D(S)[D.17.27?"27":"43"](d);I 7.6Y(D.2d(d))},5w:"1.2.6",8G:H(){I 7.K},K:0,3p:H(a){I a==12?D.2d(7):7[a]},2I:H(b){J a=D(b);a.5n=7;I a},6Y:H(a){7.K=0;2p.44.1p.1w(7,a);I 7},P:H(a,b){I D.P(7,a,b)},5i:H(b){J a=-1;I D.2L(b&&b.5w?b[0]:b,7)},1K:H(c,a,b){J d=c;G(c.1q==56)G(a===12)I 7[0]&&D[b||"1K"](7[0],c);N{d={};d[c]=a}I 7.P(H(i){R(c 1n d)D.1K(b?7.V:7,c,D.1i(7,d[c],b,i,c))})},1g:H(b,a){G((b==\'2h\'||b==\'1Z\')&&3d(a)<0)a=12;I 7.1K(b,a,"2a")},1r:H(b){G(1j b!="49"&&b!=U)I 7.4E().3v((7[0]&&7[0].2z||S).5F(b));J a="";D.P(b||7,H(){D.P(7.3t,H(){G(7.16!=8)a+=7.16!=1?7.76:D.17.1r([7])})});I a},5z:H(b){G(7[0])D(b,7[0].2z).5y().39(7[0]).2l(H(){J a=7;1B(a.1x)a=a.1x;I a}).3v(7);I 7},8Y:H(a){I 7.P(H(){D(7).6Q().5z(a)})},8R:H(a){I 7.P(H(){D(7).5z(a)})},3v:H(){I 7.3W(19,M,Q,H(a){G(7.16==1)7.3U(a)})},6F:H(){I 7.3W(19,M,M,H(a){G(7.16==1)7.39(a,7.1x)})},6E:H(){I 7.3W(19,Q,Q,H(a){7.1d.39(a,7)})},5q:H(){I 7.3W(19,Q,M,H(a){7.1d.39(a,7.2H)})},3l:H(){I 7.5n||D([])},2q:H(b){J c=D.2l(7,H(a){I D.2q(b,a)});I 7.2I(/[^+>] [^+>]/.11(b)||b.1h("..")>-1?D.4r(c):c)},5y:H(e){J f=7.2l(H(){G(D.14.1f&&!D.4n(7)){J a=7.6o(M),5h=S.3h("1v");5h.3U(a);I D.4h([5h.4H])[0]}N I 7.6o(M)});J d=f.2q("*").5c().P(H(){G(7[E]!=12)7[E]=U});G(e===M)7.2q("*").5c().P(H(i){G(7.16==3)I;J c=D.L(7,"3w");R(J a 1n c)R(J b 1n c[a])D.W.1e(d[i],a,c[a][b],c[a][b].L)});I f},1E:H(b){I 7.2I(D.1D(b)&&D.3C(7,H(a,i){I b.1k(a,i)})||D.3g(b,7))},4Y:H(b){G(b.1q==56)G(62.11(b))I 7.2I(D.3g(b,7,M));N b=D.3g(b,7);J a=b.K&&b[b.K-1]!==12&&!b.16;I 7.1E(H(){I a?D.2L(7,b)<0:7!=b})},1e:H(a){I 7.2I(D.4r(D.2R(7.3p(),1j a==\'23\'?D(a):D.2d(a))))},3F:H(a){I!!a&&D.3g(a,7).K>0},7T:H(a){I 7.3F("."+a)},6e:H(b){G(b==12){G(7.K){J c=7[0];G(D.Y(c,"2A")){J e=c.64,63=[],15=c.15,2V=c.O=="2A-2V";G(e<0)I U;R(J i=2V?e:0,2f=2V?e+1:15.K;i<2f;i++){J d=15[i];G(d.2W){b=D.14.1f&&!d.at.2x.an?d.1r:d.2x;G(2V)I b;63.1p(b)}}I 63}N I(7[0].2x||"").1o(/\\r/g,"")}I 12}G(b.1q==4L)b+=\'\';I 7.P(H(){G(7.16!=1)I;G(b.1q==2p&&/5O|5L/.11(7.O))7.4J=(D.2L(7.2x,b)>=0||D.2L(7.34,b)>=0);N G(D.Y(7,"2A")){J a=D.2d(b);D("9R",7).P(H(){7.2W=(D.2L(7.2x,a)>=0||D.2L(7.1r,a)>=0)});G(!a.K)7.64=-1}N 7.2x=b})},2K:H(a){I a==12?(7[0]?7[0].4H:U):7.4E().3v(a)},7b:H(a){I 7.5q(a).21()},79:H(i){I 7.3s(i,i+1)},3s:H(){I 7.2I(2p.44.3s.1w(7,19))},2l:H(b){I 7.2I(D.2l(7,H(a,i){I b.1k(a,i,a)}))},5c:H(){I 7.1e(7.5n)},L:H(d,b){J a=d.1R(".");a[1]=a[1]?"."+a[1]:"";G(b===12){J c=7.5C("9z"+a[1]+"!",[a[0]]);G(c===12&&7.K)c=D.L(7[0],d);I c===12&&a[1]?7.L(a[0]):c}N I 7.1P("9u"+a[1]+"!",[a[0],b]).P(H(){D.L(7,d,b)})},3b:H(a){I 7.P(H(){D.3b(7,a)})},3W:H(g,f,h,d){J e=7.K>1,3x;I 7.P(H(){G(!3x){3x=D.4h(g,7.2z);G(h)3x.9o()}J b=7;G(f&&D.Y(7,"1T")&&D.Y(3x[0],"4F"))b=7.3H("22")[0]||7.3U(7.2z.3h("22"));J c=D([]);D.P(3x,H(){J a=e?D(7).5y(M)[0]:7;G(D.Y(a,"1m"))c=c.1e(a);N{G(a.16==1)c=c.1e(D("1m",a).21());d.1k(b,a)}});c.P(6T)})}};D.17.5j.44=D.17;H 6T(i,a){G(a.4d)D.3Y({1a:a.4d,31:Q,1O:"1m"});N D.5u(a.1r||a.6O||a.4H||"");G(a.1d)a.1d.37(a)}H 1z(){I+2B 8J}D.1l=D.17.1l=H(){J b=19[0]||{},i=1,K=19.K,4x=Q,15;G(b.1q==8I){4x=b;b=19[1]||{};i=2}G(1j b!="49"&&1j b!="H")b={};G(K==i){b=7;--i}R(;i<K;i++)G((15=19[i])!=U)R(J c 1n 15){J a=b[c],2w=15[c];G(b===2w)6M;G(4x&&2w&&1j 2w=="49"&&!2w.16)b[c]=D.1l(4x,a||(2w.K!=U?[]:{}),2w);N G(2w!==12)b[c]=2w}I b};J E="4M"+1z(),6K=0,5r={},6G=/z-?5i|8B-?8A|1y|6B|8v-?1Z/i,3P=S.3P||{};D.1l({8u:H(a){1b.$=3m$;G(a)1b.4M=w;I D},1D:H(a){I!!a&&1j a!="23"&&!a.Y&&a.1q!=2p&&/^[\\s[]?H/.11(a+"")},4n:H(a){I a.1C&&!a.1c||a.2j&&a.2z&&!a.2z.1c},5u:H(a){a=D.3k(a);G(a){J b=S.3H("6w")[0]||S.1C,1m=S.3h("1m");1m.O="1r/4t";G(D.14.1f)1m.1r=a;N 1m.3U(S.5F(a));b.39(1m,b.1x);b.37(1m)}},Y:H(b,a){I b.Y&&b.Y.2r()==a.2r()},1Y:{},L:H(c,d,b){c=c==1b?5r:c;J a=c[E];G(!a)a=c[E]=++6K;G(d&&!D.1Y[a])D.1Y[a]={};G(b!==12)D.1Y[a][d]=b;I d?D.1Y[a][d]:a},3b:H(c,b){c=c==1b?5r:c;J a=c[E];G(b){G(D.1Y[a]){2U D.1Y[a][b];b="";R(b 1n D.1Y[a])1X;G(!b)D.3b(c)}}N{1U{2U c[E]}1V(e){G(c.5l)c.5l(E)}2U D.1Y[a]}},P:H(d,a,c){J e,i=0,K=d.K;G(c){G(K==12){R(e 1n d)G(a.1w(d[e],c)===Q)1X}N R(;i<K;)G(a.1w(d[i++],c)===Q)1X}N{G(K==12){R(e 1n d)G(a.1k(d[e],e,d[e])===Q)1X}N R(J b=d[0];i<K&&a.1k(b,i,b)!==Q;b=d[++i]){}}I d},1i:H(b,a,c,i,d){G(D.1D(a))a=a.1k(b,i);I a&&a.1q==4L&&c=="2a"&&!6G.11(d)?a+"2X":a},1F:{1e:H(c,b){D.P((b||"").1R(/\\s+/),H(i,a){G(c.16==1&&!D.1F.3T(c.1F,a))c.1F+=(c.1F?" ":"")+a})},21:H(c,b){G(c.16==1)c.1F=b!=12?D.3C(c.1F.1R(/\\s+/),H(a){I!D.1F.3T(b,a)}).6s(" "):""},3T:H(b,a){I D.2L(a,(b.1F||b).6r().1R(/\\s+/))>-1}},6q:H(b,c,a){J e={};R(J d 1n c){e[d]=b.V[d];b.V[d]=c[d]}a.1k(b);R(J d 1n c)b.V[d]=e[d]},1g:H(d,e,c){G(e=="2h"||e=="1Z"){J b,3X={30:"5x",5g:"1G",18:"3I"},35=e=="2h"?["5e","6k"]:["5G","6i"];H 5b(){b=e=="2h"?d.8f:d.8c;J a=0,2C=0;D.P(35,H(){a+=3d(D.2a(d,"57"+7,M))||0;2C+=3d(D.2a(d,"2C"+7+"4b",M))||0});b-=29.83(a+2C)}G(D(d).3F(":4j"))5b();N D.6q(d,3X,5b);I 29.2f(0,b)}I D.2a(d,e,c)},2a:H(f,l,k){J e,V=f.V;H 3E(b){G(!D.14.2k)I Q;J a=3P.54(b,U);I!a||a.52("3E")==""}G(l=="1y"&&D.14.1f){e=D.1K(V,"1y");I e==""?"1":e}G(D.14.2G&&l=="18"){J d=V.50;V.50="0 7Y 7W";V.50=d}G(l.1I(/4i/i))l=y;G(!k&&V&&V[l])e=V[l];N G(3P.54){G(l.1I(/4i/i))l="4i";l=l.1o(/([A-Z])/g,"-$1").3y();J c=3P.54(f,U);G(c&&!3E(f))e=c.52(l);N{J g=[],2E=[],a=f,i=0;R(;a&&3E(a);a=a.1d)2E.6h(a);R(;i<2E.K;i++)G(3E(2E[i])){g[i]=2E[i].V.18;2E[i].V.18="3I"}e=l=="18"&&g[2E.K-1]!=U?"2F":(c&&c.52(l))||"";R(i=0;i<g.K;i++)G(g[i]!=U)2E[i].V.18=g[i]}G(l=="1y"&&e=="")e="1"}N G(f.4g){J h=l.1o(/\\-(\\w)/g,H(a,b){I b.2r()});e=f.4g[l]||f.4g[h];G(!/^\\d+(2X)?$/i.11(e)&&/^\\d/.11(e)){J j=V.1A,66=f.65.1A;f.65.1A=f.4g.1A;V.1A=e||0;e=V.aM+"2X";V.1A=j;f.65.1A=66}}I e},4h:H(l,h){J k=[];h=h||S;G(1j h.3h==\'12\')h=h.2z||h[0]&&h[0].2z||S;D.P(l,H(i,d){G(!d)I;G(d.1q==4L)d+=\'\';G(1j d=="23"){d=d.1o(/(<(\\w+)[^>]*?)\\/>/g,H(b,a,c){I c.1I(/^(aK|4f|7E|aG|4T|7A|aB|3n|az|ay|av)$/i)?b:a+"></"+c+">"});J f=D.3k(d).3y(),1v=h.3h("1v");J e=!f.1h("<au")&&[1,"<2A 7w=\'7w\'>","</2A>"]||!f.1h("<ar")&&[1,"<7v>","</7v>"]||f.1I(/^<(aq|22|am|ak|ai)/)&&[1,"<1T>","</1T>"]||!f.1h("<4F")&&[2,"<1T><22>","</22></1T>"]||(!f.1h("<af")||!f.1h("<ad"))&&[3,"<1T><22><4F>","</4F></22></1T>"]||!f.1h("<7E")&&[2,"<1T><22></22><7q>","</7q></1T>"]||D.14.1f&&[1,"1v<1v>","</1v>"]||[0,"",""];1v.4H=e[1]+d+e[2];1B(e[0]--)1v=1v.5T;G(D.14.1f){J g=!f.1h("<1T")&&f.1h("<22")<0?1v.1x&&1v.1x.3t:e[1]=="<1T>"&&f.1h("<22")<0?1v.3t:[];R(J j=g.K-1;j>=0;--j)G(D.Y(g[j],"22")&&!g[j].3t.K)g[j].1d.37(g[j]);G(/^\\s/.11(d))1v.39(h.5F(d.1I(/^\\s*/)[0]),1v.1x)}d=D.2d(1v.3t)}G(d.K===0&&(!D.Y(d,"3V")&&!D.Y(d,"2A")))I;G(d[0]==12||D.Y(d,"3V")||d.15)k.1p(d);N k=D.2R(k,d)});I k},1K:H(d,f,c){G(!d||d.16==3||d.16==8)I 12;J e=!D.4n(d),40=c!==12,1f=D.14.1f;f=e&&D.3X[f]||f;G(d.2j){J g=/5Q|4d|V/.11(f);G(f=="2W"&&D.14.2k)d.1d.64;G(f 1n d&&e&&!g){G(40){G(f=="O"&&D.Y(d,"4T")&&d.1d)7p"O a3 a1\'t 9V 9U";d[f]=c}G(D.Y(d,"3V")&&d.7i(f))I d.7i(f).76;I d[f]}G(1f&&e&&f=="V")I D.1K(d.V,"9T",c);G(40)d.9Q(f,""+c);J h=1f&&e&&g?d.4G(f,2):d.4G(f);I h===U?12:h}G(1f&&f=="1y"){G(40){d.6B=1;d.1E=(d.1E||"").1o(/7f\\([^)]*\\)/,"")+(3r(c)+\'\'=="9L"?"":"7f(1y="+c*7a+")")}I d.1E&&d.1E.1h("1y=")>=0?(3d(d.1E.1I(/1y=([^)]*)/)[1])/7a)+\'\':""}f=f.1o(/-([a-z])/9H,H(a,b){I b.2r()});G(40)d[f]=c;I d[f]},3k:H(a){I(a||"").1o(/^\\s+|\\s+$/g,"")},2d:H(b){J a=[];G(b!=U){J i=b.K;G(i==U||b.1R||b.4I||b.1k)a[0]=b;N 1B(i)a[--i]=b[i]}I a},2L:H(b,a){R(J i=0,K=a.K;i<K;i++)G(a[i]===b)I i;I-1},2R:H(a,b){J i=0,T,2S=a.K;G(D.14.1f){1B(T=b[i++])G(T.16!=8)a[2S++]=T}N 1B(T=b[i++])a[2S++]=T;I a},4r:H(a){J c=[],2o={};1U{R(J i=0,K=a.K;i<K;i++){J b=D.L(a[i]);G(!2o[b]){2o[b]=M;c.1p(a[i])}}}1V(e){c=a}I c},3C:H(c,a,d){J b=[];R(J i=0,K=c.K;i<K;i++)G(!d!=!a(c[i],i))b.1p(c[i]);I b},2l:H(d,a){J c=[];R(J i=0,K=d.K;i<K;i++){J b=a(d[i],i);G(b!=U)c[c.K]=b}I c.7d.1w([],c)}});J v=9B.9A.3y();D.14={5B:(v.1I(/.+(?:9y|9x|9w|9v)[\\/: ]([\\d.]+)/)||[])[1],2k:/75/.11(v),2G:/2G/.11(v),1f:/1f/.11(v)&&!/2G/.11(v),42:/42/.11(v)&&!/(9s|75)/.11(v)};J y=D.14.1f?"7o":"72";D.1l({71:!D.14.1f||S.70=="6Z",3X:{"R":"9n","9k":"1F","4i":y,72:y,7o:y,9h:"9f",9e:"9d",9b:"99"}});D.P({6W:H(a){I a.1d},97:H(a){I D.4S(a,"1d")},95:H(a){I D.3a(a,2,"2H")},91:H(a){I D.3a(a,2,"4l")},8Z:H(a){I D.4S(a,"2H")},8X:H(a){I D.4S(a,"4l")},8W:H(a){I D.5v(a.1d.1x,a)},8V:H(a){I D.5v(a.1x)},6Q:H(a){I D.Y(a,"8U")?a.8T||a.8S.S:D.2d(a.3t)}},H(c,d){D.17[c]=H(b){J a=D.2l(7,d);G(b&&1j b=="23")a=D.3g(b,a);I 7.2I(D.4r(a))}});D.P({6P:"3v",8Q:"6F",39:"6E",8P:"5q",8O:"7b"},H(c,b){D.17[c]=H(){J a=19;I 7.P(H(){R(J i=0,K=a.K;i<K;i++)D(a[i])[b](7)})}});D.P({8N:H(a){D.1K(7,a,"");G(7.16==1)7.5l(a)},8M:H(a){D.1F.1e(7,a)},8L:H(a){D.1F.21(7,a)},8K:H(a){D.1F[D.1F.3T(7,a)?"21":"1e"](7,a)},21:H(a){G(!a||D.1E(a,[7]).r.K){D("*",7).1e(7).P(H(){D.W.21(7);D.3b(7)});G(7.1d)7.1d.37(7)}},4E:H(){D(">*",7).21();1B(7.1x)7.37(7.1x)}},H(a,b){D.17[a]=H(){I 7.P(b,19)}});D.P(["6N","4b"],H(i,c){J b=c.3y();D.17[b]=H(a){I 7[0]==1b?D.14.2G&&S.1c["5t"+c]||D.14.2k&&1b["5s"+c]||S.70=="6Z"&&S.1C["5t"+c]||S.1c["5t"+c]:7[0]==S?29.2f(29.2f(S.1c["4y"+c],S.1C["4y"+c]),29.2f(S.1c["2i"+c],S.1C["2i"+c])):a==12?(7.K?D.1g(7[0],b):U):7.1g(b,a.1q==56?a:a+"2X")}});H 25(a,b){I a[0]&&3r(D.2a(a[0],b,M),10)||0}J C=D.14.2k&&3r(D.14.5B)<8H?"(?:[\\\\w*3m-]|\\\\\\\\.)":"(?:[\\\\w\\8F-\\8E*3m-]|\\\\\\\\.)",6L=2B 4v("^>\\\\s*("+C+"+)"),6J=2B 4v("^("+C+"+)(#)("+C+"+)"),6I=2B 4v("^([#.]?)("+C+"*)");D.1l({6H:{"":H(a,i,m){I m[2]=="*"||D.Y(a,m[2])},"#":H(a,i,m){I a.4G("2v")==m[2]},":":{8D:H(a,i,m){I i<m[3]-0},8C:H(a,i,m){I i>m[3]-0},3a:H(a,i,m){I m[3]-0==i},79:H(a,i,m){I m[3]-0==i},3o:H(a,i){I i==0},3S:H(a,i,m,r){I i==r.K-1},6D:H(a,i){I i%2==0},6C:H(a,i){I i%2},"3o-4u":H(a){I a.1d.3H("*")[0]==a},"3S-4u":H(a){I D.3a(a.1d.5T,1,"4l")==a},"8z-4u":H(a){I!D.3a(a.1d.5T,2,"4l")},6W:H(a){I a.1x},4E:H(a){I!a.1x},8y:H(a,i,m){I(a.6O||a.8x||D(a).1r()||"").1h(m[3])>=0},4j:H(a){I"1G"!=a.O&&D.1g(a,"18")!="2F"&&D.1g(a,"5g")!="1G"},1G:H(a){I"1G"==a.O||D.1g(a,"18")=="2F"||D.1g(a,"5g")=="1G"},8w:H(a){I!a.3R},3R:H(a){I a.3R},4J:H(a){I a.4J},2W:H(a){I a.2W||D.1K(a,"2W")},1r:H(a){I"1r"==a.O},5O:H(a){I"5O"==a.O},5L:H(a){I"5L"==a.O},5p:H(a){I"5p"==a.O},3Q:H(a){I"3Q"==a.O},5o:H(a){I"5o"==a.O},6A:H(a){I"6A"==a.O},6z:H(a){I"6z"==a.O},2s:H(a){I"2s"==a.O||D.Y(a,"2s")},4T:H(a){I/4T|2A|6y|2s/i.11(a.Y)},3T:H(a,i,m){I D.2q(m[3],a).K},8t:H(a){I/h\\d/i.11(a.Y)},8s:H(a){I D.3C(D.3O,H(b){I a==b.T}).K}}},6x:[/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,2B 4v("^([:.#]*)("+C+"+)")],3g:H(a,c,b){J d,1t=[];1B(a&&a!=d){d=a;J f=D.1E(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1t=b?c=f.r:D.2R(1t,f.r)}I 1t},2q:H(t,o){G(1j t!="23")I[t];G(o&&o.16!=1&&o.16!=9)I[];o=o||S;J d=[o],2o=[],3S,Y;1B(t&&3S!=t){J r=[];3S=t;t=D.3k(t);J l=Q,3j=6L,m=3j.2D(t);G(m){Y=m[1].2r();R(J i=0;d[i];i++)R(J c=d[i].1x;c;c=c.2H)G(c.16==1&&(Y=="*"||c.Y.2r()==Y))r.1p(c);d=r;t=t.1o(3j,"");G(t.1h(" ")==0)6M;l=M}N{3j=/^([>+~])\\s*(\\w*)/i;G((m=3j.2D(t))!=U){r=[];J k={};Y=m[2].2r();m=m[1];R(J j=0,3i=d.K;j<3i;j++){J n=m=="~"||m=="+"?d[j].2H:d[j].1x;R(;n;n=n.2H)G(n.16==1){J g=D.L(n);G(m=="~"&&k[g])1X;G(!Y||n.Y.2r()==Y){G(m=="~")k[g]=M;r.1p(n)}G(m=="+")1X}}d=r;t=D.3k(t.1o(3j,""));l=M}}G(t&&!l){G(!t.1h(",")){G(o==d[0])d.4s();2o=D.2R(2o,d);r=d=[o];t=" "+t.6v(1,t.K)}N{J h=6J;J m=h.2D(t);G(m){m=[0,m[2],m[3],m[1]]}N{h=6I;m=h.2D(t)}m[2]=m[2].1o(/\\\\/g,"");J f=d[d.K-1];G(m[1]=="#"&&f&&f.61&&!D.4n(f)){J p=f.61(m[2]);G((D.14.1f||D.14.2G)&&p&&1j p.2v=="23"&&p.2v!=m[2])p=D(\'[@2v="\'+m[2]+\'"]\',f)[0];d=r=p&&(!m[3]||D.Y(p,m[3]))?[p]:[]}N{R(J i=0;d[i];i++){J a=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];G(a=="*"&&d[i].Y.3y()=="49")a="3n";r=D.2R(r,d[i].3H(a))}G(m[1]==".")r=D.5m(r,m[2]);G(m[1]=="#"){J e=[];R(J i=0;r[i];i++)G(r[i].4G("2v")==m[2]){e=[r[i]];1X}r=e}d=r}t=t.1o(h,"")}}G(t){J b=D.1E(t,r);d=r=b.r;t=D.3k(b.t)}}G(t)d=[];G(d&&o==d[0])d.4s();2o=D.2R(2o,d);I 2o},5m:H(r,m,a){m=" "+m+" ";J c=[];R(J i=0;r[i];i++){J b=(" "+r[i].1F+" ").1h(m)>=0;G(!a&&b||a&&!b)c.1p(r[i])}I c},1E:H(t,r,h){J d;1B(t&&t!=d){d=t;J p=D.6x,m;R(J i=0;p[i];i++){m=p[i].2D(t);G(m){t=t.8r(m[0].K);m[2]=m[2].1o(/\\\\/g,"");1X}}G(!m)1X;G(m[1]==":"&&m[2]=="4Y")r=62.11(m[3])?D.1E(m[3],r,M).r:D(r).4Y(m[3]);N G(m[1]==".")r=D.5m(r,m[2],h);N G(m[1]=="["){J g=[],O=m[3];R(J i=0,3i=r.K;i<3i;i++){J a=r[i],z=a[D.3X[m[2]]||m[2]];G(z==U||/5Q|4d|2W/.11(m[2]))z=D.1K(a,m[2])||\'\';G((O==""&&!!z||O=="="&&z==m[5]||O=="!="&&z!=m[5]||O=="^="&&z&&!z.1h(m[5])||O=="$="&&z.6v(z.K-m[5].K)==m[5]||(O=="*="||O=="~=")&&z.1h(m[5])>=0)^h)g.1p(a)}r=g}N G(m[1]==":"&&m[2]=="3a-4u"){J e={},g=[],11=/(-?)(\\d*)n((?:\\+|-)?\\d*)/.2D(m[3]=="6D"&&"2n"||m[3]=="6C"&&"2n+1"||!/\\D/.11(m[3])&&"8q+"+m[3]||m[3]),3o=(11[1]+(11[2]||1))-0,d=11[3]-0;R(J i=0,3i=r.K;i<3i;i++){J j=r[i],1d=j.1d,2v=D.L(1d);G(!e[2v]){J c=1;R(J n=1d.1x;n;n=n.2H)G(n.16==1)n.4q=c++;e[2v]=M}J b=Q;G(3o==0){G(j.4q==d)b=M}N G((j.4q-d)%3o==0&&(j.4q-d)/3o>=0)b=M;G(b^h)g.1p(j)}r=g}N{J f=D.6H[m[1]];G(1j f=="49")f=f[m[2]];G(1j f=="23")f=6u("Q||H(a,i){I "+f+";}");r=D.3C(r,H(a,i){I f(a,i,m,r)},h)}}I{r:r,t:t}},4S:H(b,c){J a=[],1t=b[c];1B(1t&&1t!=S){G(1t.16==1)a.1p(1t);1t=1t[c]}I a},3a:H(a,e,c,b){e=e||1;J d=0;R(;a;a=a[c])G(a.16==1&&++d==e)1X;I a},5v:H(n,a){J r=[];R(;n;n=n.2H){G(n.16==1&&n!=a)r.1p(n)}I r}});D.W={1e:H(f,i,g,e){G(f.16==3||f.16==8)I;G(D.14.1f&&f.4I)f=1b;G(!g.24)g.24=7.24++;G(e!=12){J h=g;g=7.3M(h,H(){I h.1w(7,19)});g.L=e}J j=D.L(f,"3w")||D.L(f,"3w",{}),1H=D.L(f,"1H")||D.L(f,"1H",H(){G(1j D!="12"&&!D.W.5k)I D.W.1H.1w(19.3L.T,19)});1H.T=f;D.P(i.1R(/\\s+/),H(c,b){J a=b.1R(".");b=a[0];g.O=a[1];J d=j[b];G(!d){d=j[b]={};G(!D.W.2t[b]||D.W.2t[b].4p.1k(f)===Q){G(f.3K)f.3K(b,1H,Q);N G(f.6t)f.6t("4o"+b,1H)}}d[g.24]=g;D.W.26[b]=M});f=U},24:1,26:{},21:H(e,h,f){G(e.16==3||e.16==8)I;J i=D.L(e,"3w"),1L,5i;G(i){G(h==12||(1j h=="23"&&h.8p(0)=="."))R(J g 1n i)7.21(e,g+(h||""));N{G(h.O){f=h.2y;h=h.O}D.P(h.1R(/\\s+/),H(b,a){J c=a.1R(".");a=c[0];G(i[a]){G(f)2U i[a][f.24];N R(f 1n i[a])G(!c[1]||i[a][f].O==c[1])2U i[a][f];R(1L 1n i[a])1X;G(!1L){G(!D.W.2t[a]||D.W.2t[a].4A.1k(e)===Q){G(e.6p)e.6p(a,D.L(e,"1H"),Q);N G(e.6n)e.6n("4o"+a,D.L(e,"1H"))}1L=U;2U i[a]}}})}R(1L 1n i)1X;G(!1L){J d=D.L(e,"1H");G(d)d.T=U;D.3b(e,"3w");D.3b(e,"1H")}}},1P:H(h,c,f,g,i){c=D.2d(c);G(h.1h("!")>=0){h=h.3s(0,-1);J a=M}G(!f){G(7.26[h])D("*").1e([1b,S]).1P(h,c)}N{G(f.16==3||f.16==8)I 12;J b,1L,17=D.1D(f[h]||U),W=!c[0]||!c[0].32;G(W){c.6h({O:h,2J:f,32:H(){},3J:H(){},4C:1z()});c[0][E]=M}c[0].O=h;G(a)c[0].6m=M;J d=D.L(f,"1H");G(d)b=d.1w(f,c);G((!17||(D.Y(f,\'a\')&&h=="4V"))&&f["4o"+h]&&f["4o"+h].1w(f,c)===Q)b=Q;G(W)c.4s();G(i&&D.1D(i)){1L=i.1w(f,b==U?c:c.7d(b));G(1L!==12)b=1L}G(17&&g!==Q&&b!==Q&&!(D.Y(f,\'a\')&&h=="4V")){7.5k=M;1U{f[h]()}1V(e){}}7.5k=Q}I b},1H:H(b){J a,1L,38,5f,4m;b=19[0]=D.W.6l(b||1b.W);38=b.O.1R(".");b.O=38[0];38=38[1];5f=!38&&!b.6m;4m=(D.L(7,"3w")||{})[b.O];R(J j 1n 4m){J c=4m[j];G(5f||c.O==38){b.2y=c;b.L=c.L;1L=c.1w(7,19);G(a!==Q)a=1L;G(1L===Q){b.32();b.3J()}}}I a},6l:H(b){G(b[E]==M)I b;J d=b;b={8o:d};J c="8n 8m 8l 8k 2s 8j 47 5d 6j 5E 8i L 8h 8g 4K 2y 5a 59 8e 8b 58 6f 8a 88 4k 87 86 84 6d 2J 4C 6c O 82 81 35".1R(" ");R(J i=c.K;i;i--)b[c[i]]=d[c[i]];b[E]=M;b.32=H(){G(d.32)d.32();d.80=Q};b.3J=H(){G(d.3J)d.3J();d.7Z=M};b.4C=b.4C||1z();G(!b.2J)b.2J=b.6d||S;G(b.2J.16==3)b.2J=b.2J.1d;G(!b.4k&&b.4K)b.4k=b.4K==b.2J?b.6c:b.4K;G(b.58==U&&b.5d!=U){J a=S.1C,1c=S.1c;b.58=b.5d+(a&&a.2e||1c&&1c.2e||0)-(a.6b||0);b.6f=b.6j+(a&&a.2c||1c&&1c.2c||0)-(a.6a||0)}G(!b.35&&((b.47||b.47===0)?b.47:b.5a))b.35=b.47||b.5a;G(!b.59&&b.5E)b.59=b.5E;G(!b.35&&b.2s)b.35=(b.2s&1?1:(b.2s&2?3:(b.2s&4?2:0)));I b},3M:H(a,b){b.24=a.24=a.24||b.24||7.24++;I b},2t:{27:{4p:H(){55();I},4A:H(){I}},3D:{4p:H(){G(D.14.1f)I Q;D(7).2O("53",D.W.2t.3D.2y);I M},4A:H(){G(D.14.1f)I Q;D(7).4e("53",D.W.2t.3D.2y);I M},2y:H(a){G(F(a,7))I M;a.O="3D";I D.W.1H.1w(7,19)}},3N:{4p:H(){G(D.14.1f)I Q;D(7).2O("51",D.W.2t.3N.2y);I M},4A:H(){G(D.14.1f)I Q;D(7).4e("51",D.W.2t.3N.2y);I M},2y:H(a){G(F(a,7))I M;a.O="3N";I D.W.1H.1w(7,19)}}}};D.17.1l({2O:H(c,a,b){I c=="4X"?7.2V(c,a,b):7.P(H(){D.W.1e(7,c,b||a,b&&a)})},2V:H(d,b,c){J e=D.W.3M(c||b,H(a){D(7).4e(a,e);I(c||b).1w(7,19)});I 7.P(H(){D.W.1e(7,d,e,c&&b)})},4e:H(a,b){I 7.P(H(){D.W.21(7,a,b)})},1P:H(c,a,b){I 7.P(H(){D.W.1P(c,a,7,M,b)})},5C:H(c,a,b){I 7[0]&&D.W.1P(c,a,7[0],Q,b)},2m:H(b){J c=19,i=1;1B(i<c.K)D.W.3M(b,c[i++]);I 7.4V(D.W.3M(b,H(a){7.4Z=(7.4Z||0)%i;a.32();I c[7.4Z++].1w(7,19)||Q}))},7X:H(a,b){I 7.2O(\'3D\',a).2O(\'3N\',b)},27:H(a){55();G(D.2Q)a.1k(S,D);N D.3A.1p(H(){I a.1k(7,D)});I 7}});D.1l({2Q:Q,3A:[],27:H(){G(!D.2Q){D.2Q=M;G(D.3A){D.P(D.3A,H(){7.1k(S)});D.3A=U}D(S).5C("27")}}});J x=Q;H 55(){G(x)I;x=M;G(S.3K&&!D.14.2G)S.3K("69",D.27,Q);G(D.14.1f&&1b==1S)(H(){G(D.2Q)I;1U{S.1C.7V("1A")}1V(3e){3B(19.3L,0);I}D.27()})();G(D.14.2G)S.3K("69",H(){G(D.2Q)I;R(J i=0;i<S.4W.K;i++)G(S.4W[i].3R){3B(19.3L,0);I}D.27()},Q);G(D.14.2k){J a;(H(){G(D.2Q)I;G(S.3f!="68"&&S.3f!="1J"){3B(19.3L,0);I}G(a===12)a=D("V, 7A[7U=7S]").K;G(S.4W.K!=a){3B(19.3L,0);I}D.27()})()}D.W.1e(1b,"43",D.27)}D.P(("7R,7Q,43,85,4y,4X,4V,7P,"+"7O,7N,89,53,51,7M,2A,"+"5o,7L,7K,8d,3e").1R(","),H(i,b){D.17[b]=H(a){I a?7.2O(b,a):7.1P(b)}});J F=H(a,c){J b=a.4k;1B(b&&b!=c)1U{b=b.1d}1V(3e){b=c}I b==c};D(1b).2O("4X",H(){D("*").1e(S).4e()});D.17.1l({67:D.17.43,43:H(g,d,c){G(1j g!=\'23\')I 7.67(g);J e=g.1h(" ");G(e>=0){J i=g.3s(e,g.K);g=g.3s(0,e)}c=c||H(){};J f="2P";G(d)G(D.1D(d)){c=d;d=U}N{d=D.3n(d);f="6g"}J h=7;D.3Y({1a:g,O:f,1O:"2K",L:d,1J:H(a,b){G(b=="1W"||b=="7J")h.2K(i?D("<1v/>").3v(a.4U.1o(/<1m(.|\\s)*?\\/1m>/g,"")).2q(i):a.4U);h.P(c,[a.4U,b,a])}});I 7},aL:H(){I D.3n(7.7I())},7I:H(){I 7.2l(H(){I D.Y(7,"3V")?D.2d(7.aH):7}).1E(H(){I 7.34&&!7.3R&&(7.4J||/2A|6y/i.11(7.Y)||/1r|1G|3Q/i.11(7.O))}).2l(H(i,c){J b=D(7).6e();I b==U?U:b.1q==2p?D.2l(b,H(a,i){I{34:c.34,2x:a}}):{34:c.34,2x:b}}).3p()}});D.P("7H,7G,7F,7D,7C,7B".1R(","),H(i,o){D.17[o]=H(f){I 7.2O(o,f)}});J B=1z();D.1l({3p:H(d,b,a,c){G(D.1D(b)){a=b;b=U}I D.3Y({O:"2P",1a:d,L:b,1W:a,1O:c})},aE:H(b,a){I D.3p(b,U,a,"1m")},aD:H(c,b,a){I D.3p(c,b,a,"3z")},aC:H(d,b,a,c){G(D.1D(b)){a=b;b={}}I D.3Y({O:"6g",1a:d,L:b,1W:a,1O:c})},aA:H(a){D.1l(D.60,a)},60:{1a:5Z.5Q,26:M,O:"2P",2T:0,7z:"4R/x-ax-3V-aw",7x:M,31:M,L:U,5Y:U,3Q:U,4Q:{2N:"4R/2N, 1r/2N",2K:"1r/2K",1m:"1r/4t, 4R/4t",3z:"4R/3z, 1r/4t",1r:"1r/as",4w:"*/*"}},4z:{},3Y:H(s){s=D.1l(M,s,D.1l(M,{},D.60,s));J g,2Z=/=\\?(&|$)/g,1u,L,O=s.O.2r();G(s.L&&s.7x&&1j s.L!="23")s.L=D.3n(s.L);G(s.1O=="4P"){G(O=="2P"){G(!s.1a.1I(2Z))s.1a+=(s.1a.1I(/\\?/)?"&":"?")+(s.4P||"7u")+"=?"}N G(!s.L||!s.L.1I(2Z))s.L=(s.L?s.L+"&":"")+(s.4P||"7u")+"=?";s.1O="3z"}G(s.1O=="3z"&&(s.L&&s.L.1I(2Z)||s.1a.1I(2Z))){g="4P"+B++;G(s.L)s.L=(s.L+"").1o(2Z,"="+g+"$1");s.1a=s.1a.1o(2Z,"="+g+"$1");s.1O="1m";1b[g]=H(a){L=a;1W();1J();1b[g]=12;1U{2U 1b[g]}1V(e){}G(i)i.37(h)}}G(s.1O=="1m"&&s.1Y==U)s.1Y=Q;G(s.1Y===Q&&O=="2P"){J j=1z();J k=s.1a.1o(/(\\?|&)3m=.*?(&|$)/,"$ap="+j+"$2");s.1a=k+((k==s.1a)?(s.1a.1I(/\\?/)?"&":"?")+"3m="+j:"")}G(s.L&&O=="2P"){s.1a+=(s.1a.1I(/\\?/)?"&":"?")+s.L;s.L=U}G(s.26&&!D.4O++)D.W.1P("7H");J n=/^(?:\\w+:)?\\/\\/([^\\/?#]+)/;G(s.1O=="1m"&&O=="2P"&&n.11(s.1a)&&n.2D(s.1a)[1]!=5Z.al){J i=S.3H("6w")[0];J h=S.3h("1m");h.4d=s.1a;G(s.7t)h.aj=s.7t;G(!g){J l=Q;h.ah=h.ag=H(){G(!l&&(!7.3f||7.3f=="68"||7.3f=="1J")){l=M;1W();1J();i.37(h)}}}i.3U(h);I 12}J m=Q;J c=1b.7s?2B 7s("ae.ac"):2B 7r();G(s.5Y)c.6R(O,s.1a,s.31,s.5Y,s.3Q);N c.6R(O,s.1a,s.31);1U{G(s.L)c.4B("ab-aa",s.7z);G(s.5S)c.4B("a9-5R-a8",D.4z[s.1a]||"a7, a6 a5 a4 5N:5N:5N a2");c.4B("X-9Z-9Y","7r");c.4B("9W",s.1O&&s.4Q[s.1O]?s.4Q[s.1O]+", */*":s.4Q.4w)}1V(e){}G(s.7m&&s.7m(c,s)===Q){s.26&&D.4O--;c.7l();I Q}G(s.26)D.W.1P("7B",[c,s]);J d=H(a){G(!m&&c&&(c.3f==4||a=="2T")){m=M;G(f){7k(f);f=U}1u=a=="2T"&&"2T"||!D.7j(c)&&"3e"||s.5S&&D.7h(c,s.1a)&&"7J"||"1W";G(1u=="1W"){1U{L=D.6X(c,s.1O,s.9S)}1V(e){1u="5J"}}G(1u=="1W"){J b;1U{b=c.5I("7g-5R")}1V(e){}G(s.5S&&b)D.4z[s.1a]=b;G(!g)1W()}N D.5H(s,c,1u);1J();G(s.31)c=U}};G(s.31){J f=4I(d,13);G(s.2T>0)3B(H(){G(c){c.7l();G(!m)d("2T")}},s.2T)}1U{c.9P(s.L)}1V(e){D.5H(s,c,U,e)}G(!s.31)d();H 1W(){G(s.1W)s.1W(L,1u);G(s.26)D.W.1P("7C",[c,s])}H 1J(){G(s.1J)s.1J(c,1u);G(s.26)D.W.1P("7F",[c,s]);G(s.26&&!--D.4O)D.W.1P("7G")}I c},5H:H(s,a,b,e){G(s.3e)s.3e(a,b,e);G(s.26)D.W.1P("7D",[a,s,e])},4O:0,7j:H(a){1U{I!a.1u&&5Z.9O=="5p:"||(a.1u>=7e&&a.1u<9N)||a.1u==7c||a.1u==9K||D.14.2k&&a.1u==12}1V(e){}I Q},7h:H(a,c){1U{J b=a.5I("7g-5R");I a.1u==7c||b==D.4z[c]||D.14.2k&&a.1u==12}1V(e){}I Q},6X:H(a,c,b){J d=a.5I("9J-O"),2N=c=="2N"||!c&&d&&d.1h("2N")>=0,L=2N?a.9I:a.4U;G(2N&&L.1C.2j=="5J")7p"5J";G(b)L=b(L,c);G(c=="1m")D.5u(L);G(c=="3z")L=6u("("+L+")");I L},3n:H(a){J s=[];G(a.1q==2p||a.5w)D.P(a,H(){s.1p(3u(7.34)+"="+3u(7.2x))});N R(J j 1n a)G(a[j]&&a[j].1q==2p)D.P(a[j],H(){s.1p(3u(j)+"="+3u(7))});N s.1p(3u(j)+"="+3u(D.1D(a[j])?a[j]():a[j]));I s.6s("&").1o(/%20/g,"+")}});D.17.1l({1N:H(c,b){I c?7.2g({1Z:"1N",2h:"1N",1y:"1N"},c,b):7.1E(":1G").P(H(){7.V.18=7.5D||"";G(D.1g(7,"18")=="2F"){J a=D("<"+7.2j+" />").6P("1c");7.V.18=a.1g("18");G(7.V.18=="2F")7.V.18="3I";a.21()}}).3l()},1M:H(b,a){I b?7.2g({1Z:"1M",2h:"1M",1y:"1M"},b,a):7.1E(":4j").P(H(){7.5D=7.5D||D.1g(7,"18");7.V.18="2F"}).3l()},78:D.17.2m,2m:H(a,b){I D.1D(a)&&D.1D(b)?7.78.1w(7,19):a?7.2g({1Z:"2m",2h:"2m",1y:"2m"},a,b):7.P(H(){D(7)[D(7).3F(":1G")?"1N":"1M"]()})},9G:H(b,a){I 7.2g({1Z:"1N"},b,a)},9F:H(b,a){I 7.2g({1Z:"1M"},b,a)},9E:H(b,a){I 7.2g({1Z:"2m"},b,a)},9D:H(b,a){I 7.2g({1y:"1N"},b,a)},9M:H(b,a){I 7.2g({1y:"1M"},b,a)},9C:H(c,a,b){I 7.2g({1y:a},c,b)},2g:H(k,j,i,g){J h=D.77(j,i,g);I 7[h.36===Q?"P":"36"](H(){G(7.16!=1)I Q;J f=D.1l({},h),p,1G=D(7).3F(":1G"),46=7;R(p 1n k){G(k[p]=="1M"&&1G||k[p]=="1N"&&!1G)I f.1J.1k(7);G(p=="1Z"||p=="2h"){f.18=D.1g(7,"18");f.33=7.V.33}}G(f.33!=U)7.V.33="1G";f.45=D.1l({},k);D.P(k,H(c,a){J e=2B D.28(46,f,c);G(/2m|1N|1M/.11(a))e[a=="2m"?1G?"1N":"1M":a](k);N{J b=a.6r().1I(/^([+-]=)?([\\d+-.]+)(.*)$/),2b=e.1t(M)||0;G(b){J d=3d(b[2]),2M=b[3]||"2X";G(2M!="2X"){46.V[c]=(d||1)+2M;2b=((d||1)/e.1t(M))*2b;46.V[c]=2b+2M}G(b[1])d=((b[1]=="-="?-1:1)*d)+2b;e.3G(2b,d,2M)}N e.3G(2b,a,"")}});I M})},36:H(a,b){G(D.1D(a)||(a&&a.1q==2p)){b=a;a="28"}G(!a||(1j a=="23"&&!b))I A(7[0],a);I 7.P(H(){G(b.1q==2p)A(7,a,b);N{A(7,a).1p(b);G(A(7,a).K==1)b.1k(7)}})},9X:H(b,c){J a=D.3O;G(b)7.36([]);7.P(H(){R(J i=a.K-1;i>=0;i--)G(a[i].T==7){G(c)a[i](M);a.7n(i,1)}});G(!c)7.5A();I 7}});J A=H(b,c,a){G(b){c=c||"28";J q=D.L(b,c+"36");G(!q||a)q=D.L(b,c+"36",D.2d(a))}I q};D.17.5A=H(a){a=a||"28";I 7.P(H(){J q=A(7,a);q.4s();G(q.K)q[0].1k(7)})};D.1l({77:H(b,a,c){J d=b&&b.1q==a0?b:{1J:c||!c&&a||D.1D(b)&&b,2u:b,41:c&&a||a&&a.1q!=9t&&a};d.2u=(d.2u&&d.2u.1q==4L?d.2u:D.28.5K[d.2u])||D.28.5K.74;d.5M=d.1J;d.1J=H(){G(d.36!==Q)D(7).5A();G(D.1D(d.5M))d.5M.1k(7)};I d},41:{73:H(p,n,b,a){I b+a*p},5P:H(p,n,b,a){I((-29.9r(p*29.9q)/2)+0.5)*a+b}},3O:[],48:U,28:H(b,c,a){7.15=c;7.T=b;7.1i=a;G(!c.3Z)c.3Z={}}});D.28.44={4D:H(){G(7.15.2Y)7.15.2Y.1k(7.T,7.1z,7);(D.28.2Y[7.1i]||D.28.2Y.4w)(7);G(7.1i=="1Z"||7.1i=="2h")7.T.V.18="3I"},1t:H(a){G(7.T[7.1i]!=U&&7.T.V[7.1i]==U)I 7.T[7.1i];J r=3d(D.1g(7.T,7.1i,a));I r&&r>-9p?r:3d(D.2a(7.T,7.1i))||0},3G:H(c,b,d){7.5V=1z();7.2b=c;7.3l=b;7.2M=d||7.2M||"2X";7.1z=7.2b;7.2S=7.4N=0;7.4D();J e=7;H t(a){I e.2Y(a)}t.T=7.T;D.3O.1p(t);G(D.48==U){D.48=4I(H(){J a=D.3O;R(J i=0;i<a.K;i++)G(!a[i]())a.7n(i--,1);G(!a.K){7k(D.48);D.48=U}},13)}},1N:H(){7.15.3Z[7.1i]=D.1K(7.T.V,7.1i);7.15.1N=M;7.3G(0,7.1t());G(7.1i=="2h"||7.1i=="1Z")7.T.V[7.1i]="9m";D(7.T).1N()},1M:H(){7.15.3Z[7.1i]=D.1K(7.T.V,7.1i);7.15.1M=M;7.3G(7.1t(),0)},2Y:H(a){J t=1z();G(a||t>7.15.2u+7.5V){7.1z=7.3l;7.2S=7.4N=1;7.4D();7.15.45[7.1i]=M;J b=M;R(J i 1n 7.15.45)G(7.15.45[i]!==M)b=Q;G(b){G(7.15.18!=U){7.T.V.33=7.15.33;7.T.V.18=7.15.18;G(D.1g(7.T,"18")=="2F")7.T.V.18="3I"}G(7.15.1M)7.T.V.18="2F";G(7.15.1M||7.15.1N)R(J p 1n 7.15.45)D.1K(7.T.V,p,7.15.3Z[p])}G(b)7.15.1J.1k(7.T);I Q}N{J n=t-7.5V;7.4N=n/7.15.2u;7.2S=D.41[7.15.41||(D.41.5P?"5P":"73")](7.4N,n,0,1,7.15.2u);7.1z=7.2b+((7.3l-7.2b)*7.2S);7.4D()}I M}};D.1l(D.28,{5K:{9l:9j,9i:7e,74:9g},2Y:{2e:H(a){a.T.2e=a.1z},2c:H(a){a.T.2c=a.1z},1y:H(a){D.1K(a.T.V,"1y",a.1z)},4w:H(a){a.T.V[a.1i]=a.1z+a.2M}}});D.17.2i=H(){J b=0,1S=0,T=7[0],3q;G(T)ao(D.14){J d=T.1d,4a=T,1s=T.1s,1Q=T.2z,5U=2k&&3r(5B)<9c&&!/9a/i.11(v),1g=D.2a,3c=1g(T,"30")=="3c";G(T.7y){J c=T.7y();1e(c.1A+29.2f(1Q.1C.2e,1Q.1c.2e),c.1S+29.2f(1Q.1C.2c,1Q.1c.2c));1e(-1Q.1C.6b,-1Q.1C.6a)}N{1e(T.5X,T.5W);1B(1s){1e(1s.5X,1s.5W);G(42&&!/^t(98|d|h)$/i.11(1s.2j)||2k&&!5U)2C(1s);G(!3c&&1g(1s,"30")=="3c")3c=M;4a=/^1c$/i.11(1s.2j)?4a:1s;1s=1s.1s}1B(d&&d.2j&&!/^1c|2K$/i.11(d.2j)){G(!/^96|1T.*$/i.11(1g(d,"18")))1e(-d.2e,-d.2c);G(42&&1g(d,"33")!="4j")2C(d);d=d.1d}G((5U&&(3c||1g(4a,"30")=="5x"))||(42&&1g(4a,"30")!="5x"))1e(-1Q.1c.5X,-1Q.1c.5W);G(3c)1e(29.2f(1Q.1C.2e,1Q.1c.2e),29.2f(1Q.1C.2c,1Q.1c.2c))}3q={1S:1S,1A:b}}H 2C(a){1e(D.2a(a,"6V",M),D.2a(a,"6U",M))}H 1e(l,t){b+=3r(l,10)||0;1S+=3r(t,10)||0}I 3q};D.17.1l({30:H(){J a=0,1S=0,3q;G(7[0]){J b=7.1s(),2i=7.2i(),4c=/^1c|2K$/i.11(b[0].2j)?{1S:0,1A:0}:b.2i();2i.1S-=25(7,\'94\');2i.1A-=25(7,\'aF\');4c.1S+=25(b,\'6U\');4c.1A+=25(b,\'6V\');3q={1S:2i.1S-4c.1S,1A:2i.1A-4c.1A}}I 3q},1s:H(){J a=7[0].1s;1B(a&&(!/^1c|2K$/i.11(a.2j)&&D.1g(a,\'30\')==\'93\'))a=a.1s;I D(a)}});D.P([\'5e\',\'5G\'],H(i,b){J c=\'4y\'+b;D.17[c]=H(a){G(!7[0])I;I a!=12?7.P(H(){7==1b||7==S?1b.92(!i?a:D(1b).2e(),i?a:D(1b).2c()):7[c]=a}):7[0]==1b||7[0]==S?46[i?\'aI\':\'aJ\']||D.71&&S.1C[c]||S.1c[c]:7[0][c]}});D.P(["6N","4b"],H(i,b){J c=i?"5e":"5G",4f=i?"6k":"6i";D.17["5s"+b]=H(){I 7[b.3y()]()+25(7,"57"+c)+25(7,"57"+4f)};D.17["90"+b]=H(a){I 7["5s"+b]()+25(7,"2C"+c+"4b")+25(7,"2C"+4f+"4b")+(a?25(7,"6S"+c)+25(7,"6S"+4f):0)}})})();',62,669,'|||||||this|||||||||||||||||||||||||||||||||||if|function|return|var|length|data|true|else|type|each|false|for|document|elem|null|style|event||nodeName|||test|undefined||browser|options|nodeType|fn|display|arguments|url|window|body|parentNode|add|msie|css|indexOf|prop|typeof|call|extend|script|in|replace|push|constructor|text|offsetParent|cur|status|div|apply|firstChild|opacity|now|left|while|documentElement|isFunction|filter|className|hidden|handle|match|complete|attr|ret|hide|show|dataType|trigger|doc|split|top|table|try|catch|success|break|cache|height||remove|tbody|string|guid|num|global|ready|fx|Math|curCSS|start|scrollTop|makeArray|scrollLeft|max|animate|width|offset|tagName|safari|map|toggle||done|Array|find|toUpperCase|button|special|duration|id|copy|value|handler|ownerDocument|select|new|border|exec|stack|none|opera|nextSibling|pushStack|target|html|inArray|unit|xml|bind|GET|isReady|merge|pos|timeout|delete|one|selected|px|step|jsre|position|async|preventDefault|overflow|name|which|queue|removeChild|namespace|insertBefore|nth|removeData|fixed|parseFloat|error|readyState|multiFilter|createElement|rl|re|trim|end|_|param|first|get|results|parseInt|slice|childNodes|encodeURIComponent|append|events|elems|toLowerCase|json|readyList|setTimeout|grep|mouseenter|color|is|custom|getElementsByTagName|block|stopPropagation|addEventListener|callee|proxy|mouseleave|timers|defaultView|password|disabled|last|has|appendChild|form|domManip|props|ajax|orig|set|easing|mozilla|load|prototype|curAnim|self|charCode|timerId|object|offsetChild|Width|parentOffset|src|unbind|br|currentStyle|clean|float|visible|relatedTarget|previousSibling|handlers|isXMLDoc|on|setup|nodeIndex|unique|shift|javascript|child|RegExp|_default|deep|scroll|lastModified|teardown|setRequestHeader|timeStamp|update|empty|tr|getAttribute|innerHTML|setInterval|checked|fromElement|Number|jQuery|state|active|jsonp|accepts|application|dir|input|responseText|click|styleSheets|unload|not|lastToggle|outline|mouseout|getPropertyValue|mouseover|getComputedStyle|bindReady|String|padding|pageX|metaKey|keyCode|getWH|andSelf|clientX|Left|all|visibility|container|index|init|triggered|removeAttribute|classFilter|prevObject|submit|file|after|windowData|inner|client|globalEval|sibling|jquery|absolute|clone|wrapAll|dequeue|version|triggerHandler|oldblock|ctrlKey|createTextNode|Top|handleError|getResponseHeader|parsererror|speeds|checkbox|old|00|radio|swing|href|Modified|ifModified|lastChild|safari2|startTime|offsetTop|offsetLeft|username|location|ajaxSettings|getElementById|isSimple|values|selectedIndex|runtimeStyle|rsLeft|_load|loaded|DOMContentLoaded|clientTop|clientLeft|toElement|srcElement|val|pageY|POST|unshift|Bottom|clientY|Right|fix|exclusive|detachEvent|cloneNode|removeEventListener|swap|toString|join|attachEvent|eval|substr|head|parse|textarea|reset|image|zoom|odd|even|before|prepend|exclude|expr|quickClass|quickID|uuid|quickChild|continue|Height|textContent|appendTo|contents|open|margin|evalScript|borderTopWidth|borderLeftWidth|parent|httpData|setArray|CSS1Compat|compatMode|boxModel|cssFloat|linear|def|webkit|nodeValue|speed|_toggle|eq|100|replaceWith|304|concat|200|alpha|Last|httpNotModified|getAttributeNode|httpSuccess|clearInterval|abort|beforeSend|splice|styleFloat|throw|colgroup|XMLHttpRequest|ActiveXObject|scriptCharset|callback|fieldset|multiple|processData|getBoundingClientRect|contentType|link|ajaxSend|ajaxSuccess|ajaxError|col|ajaxComplete|ajaxStop|ajaxStart|serializeArray|notmodified|keypress|keydown|change|mouseup|mousedown|dblclick|focus|blur|stylesheet|hasClass|rel|doScroll|black|hover|solid|cancelBubble|returnValue|wheelDelta|view|round|shiftKey|resize|screenY|screenX|relatedNode|mousemove|prevValue|originalTarget|offsetHeight|keyup|newValue|offsetWidth|eventPhase|detail|currentTarget|cancelable|bubbles|attrName|attrChange|altKey|originalEvent|charAt|0n|substring|animated|header|noConflict|line|enabled|innerText|contains|only|weight|font|gt|lt|uFFFF|u0128|size|417|Boolean|Date|toggleClass|removeClass|addClass|removeAttr|replaceAll|insertAfter|prependTo|wrap|contentWindow|contentDocument|iframe|children|siblings|prevAll|wrapInner|nextAll|outer|prev|scrollTo|static|marginTop|next|inline|parents|able|cellSpacing|adobeair|cellspacing|522|maxLength|maxlength|readOnly|400|readonly|fast|600|class|slow|1px|htmlFor|reverse|10000|PI|cos|compatible|Function|setData|ie|ra|it|rv|getData|userAgent|navigator|fadeTo|fadeIn|slideToggle|slideUp|slideDown|ig|responseXML|content|1223|NaN|fadeOut|300|protocol|send|setAttribute|option|dataFilter|cssText|changed|be|Accept|stop|With|Requested|Object|can|GMT|property|1970|Jan|01|Thu|Since|If|Type|Content|XMLHTTP|th|Microsoft|td|onreadystatechange|onload|cap|charset|colg|host|tfoot|specified|with|1_|thead|leg|plain|attributes|opt|embed|urlencoded|www|area|hr|ajaxSetup|meta|post|getJSON|getScript|marginLeft|img|elements|pageYOffset|pageXOffset|abbr|serialize|pixelLeft'.split('|'),0,{}))
|
data/doc/api/readme.html
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
6
|
+
<link rel="stylesheet" href="style.css" type="text/css" charset="utf-8" />
|
7
|
+
<link rel="stylesheet" href="syntax_highlight.css" type="text/css" charset="utf-8" />
|
8
|
+
|
9
|
+
<title>README</title>
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<div id="content">
|
13
|
+
<div class="section docstring readme">
|
14
|
+
<p>
|
15
|
+
Copyright 2006 Suraj N. Kurapati <sunaku@gmail.com>
|
16
|
+
</p>
|
17
|
+
<p>
|
18
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
19
|
+
purpose with or without fee is hereby granted, provided that the above
|
20
|
+
copyright notice and this permission notice appear in all copies.
|
21
|
+
</p>
|
22
|
+
<p>
|
23
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
24
|
+
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
25
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
26
|
+
SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
27
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
28
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
29
|
+
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
30
|
+
</p>
|
31
|
+
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
</body>
|
35
|
+
</html>
|
data/doc/api/style.css
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
body { font-family: Myriad, Helvetica, Arial, Verdana, sans-serif; font-size: 10pt; }
|
2
|
+
#nav ul { list-style: none; padding: 0; margin: 0; }
|
3
|
+
#nav ul li { white-space: nowrap; }
|
4
|
+
#nav li em { font-size: 0.9em; color: #999; }
|
5
|
+
#nav h1 { font-size: 1.2em; }
|
6
|
+
h1 { font-size: 1.5em; background: #eee; color: #000; padding: 3px; text-decoration: none; }
|
7
|
+
h2 { font-size: 1.2em; background: #eef; color: #000; padding: 3px; text-decoration: none; }
|
8
|
+
h3 { font-size: 1.0em; }
|
9
|
+
.clear { clear: both; }
|
10
|
+
.section.module h1.title, .section.class h1.title, .section.readme h1 { color: #000; background: #ddd; border: 1px solid #ccc; padding: 7px; margin: 0; margin-bottom: 7px; }
|
11
|
+
.section.class h1.title { border-bottom: 0; margin-bottom: 0; }
|
12
|
+
.section.class > .section.docstring, .section.module > .section.docstring { padding: 0; }
|
13
|
+
#initialize-instance_method .methodsignature .return_types { display: none; }
|
14
|
+
.methodsignature .visibility { display: none; }
|
15
|
+
.methodsignature .name { font-weight: bold; }
|
16
|
+
.methoddetails .method_header h3 { display: none; }
|
17
|
+
.section.method { background: #eee; margin-bottom: 0.8em; }
|
18
|
+
.section.tags,.section.docstring,.section.source { padding: 5px 12px; }
|
19
|
+
.section.method .details_title { font-size: 1.1em; background: #dde; padding: 7px; }
|
20
|
+
.section.method .details_title p.aliases { padding: 0; margin: 0; font-style: italic; font-size: 0.9em; }
|
21
|
+
.section.method .details_title p.aliases tt { font-weight: bold; font-style: normal; font-size: 1.1em; }
|
22
|
+
.section.constants dl { font-family: monospace; }
|
23
|
+
.section.constants dt { font-weight: bold; font-size: 1.1em; }
|
24
|
+
.section.constants dt:after { content: " = "; }
|
25
|
+
.section.constants dd { margin-bottom: 1em; }
|
26
|
+
.section.source .source_link { font-size: 0.9em; }
|
27
|
+
.section.source .source_code { display: none; }
|
28
|
+
/*.section.source .source_code pre { float: left; }*/
|
29
|
+
.section.attributes table { padding: 0; width: 100%; }
|
30
|
+
.section.attributes .readwrite { width: 5%; }
|
31
|
+
.section.attributes .name { font-weight: bold; width: 10%; }
|
32
|
+
.section.attributes .visibility { font-style: italic; color: #666; width: 5%; }
|
33
|
+
.section.attributes td, .section.attributes th { vertical-align: top; padding: 5px; }
|
34
|
+
.section.attributes th { padding-left: 0; text-align: left; }
|
35
|
+
.section.attributes .docstring p.returns { color: #555; font-style: italic; }
|
36
|
+
.section.attributes .docstring .return_types { font-style: normal; }
|
37
|
+
.section.attributes .docstring { width: 80%; }
|
38
|
+
.section.attributes .docstring * { display: inline; }
|
39
|
+
.section.inheritance { background: #ddd; padding: 5px; border: 1px solid #ccc; border-top: 0; }
|
40
|
+
.section.inheritance ul { list-style: none; padding-left: 2.2em; margin: 0; }
|
41
|
+
.section.inheritance ul li { line-height: 1.2em; }
|
42
|
+
.section.inheritance ul li:before { content: "↳ "; }
|
43
|
+
.section.inheritance > ul { padding-left: 5px; }
|
44
|
+
.section.inheritance > ul > li:before { content: ""; }
|
45
|
+
.section.inheritance > ul > ul { padding-left: 1em; }
|
46
|
+
.section.methodsummary table { width: 100%; }
|
47
|
+
.section.methodsummary td, .section.methodsummary th { background: #eee; vertical-align: top; padding: 5px; }
|
48
|
+
.section.methodsummary th { background: #dde; text-align: left; white-space: nowrap; padding-right: 12px; }
|
49
|
+
.section.methodsummary .signature { font-family: monospace; font-weight: normal; }
|
50
|
+
.section.methodsummary .signature .name { font-weight: bold; }
|
51
|
+
.section.methodsummary .signature .alias { display: block; }
|
52
|
+
.section.methodsummary .docstring { width: 80%; }
|
53
|
+
.section.methodsummary .docstring * { display: inline; }
|
54
|
+
.section.methodsummary .docstring p.returns { color: #555; font-style: italic; }
|
55
|
+
.section.methodsummary .docstring .return_types { font-style: normal; }
|
56
|
+
.section.tags div { clear: both; }
|
57
|
+
.section.tags h2 { display: none; }
|
58
|
+
.section.tags h3 { font-size: 1.0em; margin-top: 3px; }
|
59
|
+
.section.tags dl { margin-left: 2em; }
|
60
|
+
.section.tags .option table { width: 100%; border: 0; padding: 0; }
|
61
|
+
.section.tags .option th { text-align: left; background: #e5e5e5; padding: 3px; }
|
62
|
+
.section.tags .option td.name { font-family: monospace; }
|
63
|
+
.section.methodmissing p.note { font-style: italic; }
|
64
|
+
.section.constructor p.inherited_msg { font-style: italic; }
|
65
|
+
.included h1, .inherited h1 { font-size: 1em !important; border: 0; margin: 0; padding: 5px; border-bottom: 1px solid #ccc; }
|
66
|
+
.included div, .inherited div { color: #444; margin: 1.5em 0; width: 47%; border: 1px solid #ccc; float: left; margin-right: 12px; }
|
67
|
+
.included p .name, .inherited p .name { font-family: monospace; }
|
68
|
+
.included p, .inherited p { margin: 5px; }
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/* Canvas */
|
2
|
+
.source_code pre.lines { margin-right: 20px; text-align: right; color: #888; }
|
3
|
+
.docstring pre { padding: 12px; padding-left: 0; }
|
4
|
+
.docstring pre, .source_code { background: #222; padding: 12px; margin-top: 8px; border: 1px dashed #ccc; font-size: 0.9em; overflow-x: auto; }
|
5
|
+
|
6
|
+
/* Token colours. Borrowed from pastie.org's "Blackboard" theme */
|
7
|
+
pre.code, pre.lines { font-family: Monaco, Courier, monospace; }
|
8
|
+
pre.code { color: #fff; }
|
9
|
+
pre.code .info.file { color: #888; }
|
10
|
+
pre.code .val { color: #61CE3C; }
|
11
|
+
pre.code .dstring { color: #61DE3C; }
|
12
|
+
pre.code .fid, pre.code .id.new, pre.code .id.to_s,
|
13
|
+
pre.code .id.to_sym, pre.code .id.to_f,
|
14
|
+
pre.code .dot + pre.code .id,
|
15
|
+
pre.code .id.to_i pre.code .id.each { color: #FF6400; }
|
16
|
+
pre.code .comment { color: #AEAEAE; }
|
17
|
+
pre.code .constant, pre.code .symbol { color: #D8FA3C; }
|
18
|
+
pre.code .kw { color: #FBDE2D; }
|
19
|
+
pre.code .ivar { color: #AACEFB; }
|
20
|
+
pre.code .gvar, pre.code .id.nth_ref { color: #BADEFF; }
|
21
|
+
pre.code .regexp, .dregexp { color: #EA5EFB; }
|
data/doc/history.erb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
<% chapter "History" do %>
|
2
|
+
<% project_history do %>
|
3
|
+
<% section "Version 2.0.1 (2009-01-20)" do %>
|
4
|
+
This release simplifies project administrivia using [<%= Inochi::PROJECT %>](<%= Inochi::WEBSITE %>), improves the unit tests, and revises the user manual.
|
5
|
+
|
6
|
+
<% paragraph "Bug fixes" do %>
|
7
|
+
* The <tt>lib/rumai/ixp/message.rb</tt> library's unit test would fail if <tt>/rbar/status</tt> did not already exist in wmii.
|
8
|
+
<% end %>
|
9
|
+
|
10
|
+
<% paragraph "Housekeeping" do %>
|
11
|
+
* Store IXP socket address in `Rumai::IXP_SOCK_ADDR`.
|
12
|
+
|
13
|
+
* Added missing test cases for (TR)create and (TR)remove messages in the unit test for the <tt>lib/rumai/ixp/message.rb</tt> library.
|
14
|
+
<% end %>
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
17
|
+
<% end %>
|
data/doc/index.erb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
<%
|
2
|
+
Inochi.book :Rumai, self
|
3
|
+
|
4
|
+
ruby_url = 'http://ruby-lang.org'
|
5
|
+
wmii_url = 'http://www.suckless.org/wiki/wmii'
|
6
|
+
wmii_ixp_url = 'http://www.suckless.org/wiki/libs/libixp'
|
7
|
+
p9p_url = 'http://cm.bell-labs.com/magic/man2html/5/intro'
|
8
|
+
%>
|
9
|
+
|
10
|
+
<%# include intro.erb #%>
|
11
|
+
<%# include setup.erb #%>
|
12
|
+
<%# include usage.erb #%>
|
13
|
+
<%# include history.erb #%>
|
data/doc/index.xhtml
ADDED
@@ -0,0 +1,1235 @@
|
|
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
|
+
<!ENTITY icon_caution "data:image/png;base64,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">
|
5
|
+
<!ENTITY icon_tip "data:image/png;base64,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">
|
6
|
+
<!ENTITY icon_important "data:image/png;base64,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">
|
7
|
+
<!ENTITY icon_note "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAmCSURBVGiB1ZltbJXlGcd/9/N+Tlssh1JahNEJaK2UFxFptqC2wGCSTWdM3DSQzWVDEzVxy4xfjNkHQ8xMnEEXviwZ62Rj6siWTcVBZeJA5yBQpOWlKNZSaEvpyyk95zwv970Pp+fY5/S0tFBkXsmTc67neu77+f/u6349Ryil+Cqbdq0FXKldEuClp+3nfvVz/eJLT9vPXQv/igFc13tqw4/ujLqu99S18C9lRr6br7zyyi2WZb2eSqUqpVSUlE5BSmW8/PLL6sv2bdtuTiaT9z/++ONN486AZVm/XLiw+qZlt98Wun/bsqUhf+nSJSF/ya2LQv6ixQtD/sJFC0L+guqqkF91S2XIr6y6idlfm1Vp2/Yz+XSOCiCEqDJMQ3ze+hm6bnC+sx9d1zl+vBlN1znf2Y+m6TQfa0LTvvCbmo6G/KNHj4T8Ix83hvzGI4dD/uHGQyG/peUElmUJIURlPp2jAkgpiwXg+R5FM9dRv3U/heXrkFJSWHZ32i/7NlJKCsrWUr91P9EZa5FSEildQ/3W/USmfwspJc701dRv3Y9dshopJda0VdRv3Y8VW4mUEjO2kvqt+zCm1iGlxCiu5fe/24defBeu6yHSkopHAxD51oEtW7bEb1++rLC5+ShBEKCU+uJCgWJCvlJD9/iinlw/o2O4b5omixct4fixkz2PPPJILB9A3kEspYzOmjWbxYuWjIiNtfBdjdjg4EWam44XjhYf0YU2b948xTTNoGRaSbjlR2mlqx0rLCxC0zR98+bNdj6AERkIgiDmOI6nlDK/7NbOF1NKYdt2KplMxoCzufERAKZpxiKRSDC8wnfeeWfUl06W0FxbtWpV9tloNOoPDg6OD0BKGYtEIqGXrV69etKFXio2vGs5jqOklOMbxJqmxaLRqBheSRAEo77sSoWOZkKI7DORSERomjY+AKVULBKJGMMB3n333Uum/XK35aOVq6ury2YiEonoSqnxAziOYw0HqKurG5fIyR68mU/Hccyes8cq19cVbQB84Fh9Q/xgXgDTNGfYtq0NBxivkMmGAGg73cTOV58xe9tPPvnwuodUxFX89cOd/vq6orX1DfG9IwB0XS+zbTs0kHbt2jVhiMwscrkQrS2H+ce2TfSdPc2Dd9xN1cL7TK29E9rbWWBXWk9o+95eX1c0Jd9KXGqaZghg5cqVExIyEaG51tL0IW9u2wRuijVrf4JXXIHR1oZoaIC2NjhzBtHbS+lcTT9jBNPzAUyzLCvUBy9HyETLHm98nze3bWKw7xy1NZXcOG8JUmq0BgGtpaVoRUWUfPwxnb5Pl+/RJ6QAIvkGcXFuBq4mxNEDu3lr2yaUN8BdyyuZO/d2hNBQ0sPrf43C0yvoqqjic9umdXCQ85akeT6plMUL9f+Mf5pvIZtiGAa5g3gyIZRSNH74Nm/9cRO2HrByeSUVFRWAQAYpEj2nSF44hZI+F/tn4V0/n3hPJ+1Vym+KKFcY4lXPU89A/r1QgWEY+L6fvbd79+4rhkg/Izlz8j+c/O/rlBRHufuOBcyeNRsA6Q+S6G4h1XcaJdMLZ0evT3tXG/65VznU9j5eofqN5/N8/c7+9kydofPAiy++GIlGo/ENGzborutOWOhosSDw+ehfb7Dzzy9QVjKFO5bdTHl5eTrmxklcOEmq73NQEqmgvduj5axLR5/GRVdQd89G2uMFsqd3wH722Wf94XWHMhCJRGK2bbtAZDLmc99z+aDhT+x6/dfMmTWdH3znG5ROL03HUr0kzp/AjbcDikAqWrt8TrWn6IgbSC1K3b2PsbzuAQqLrmP79u2u0KypQNeoAL7vxxzH8XMHb0NDw4Qh2k99RPO//0DlvNlsuL+WabFpAHiJbpLdx3EHOgBwfcVnnR4t7SnO9Qk0q5Ablt7Lgz/+BZqmZ+uzbdsfGBiIjQkwtI1QuTNQbW3tJVt7uB14bwcfHdnBxofvoTgaBQTuxXMkuk/gD3YDkHAVn55z+eRcis64QUnZXB7Y8DNuXnzXiNlvaD+kDMMYsR8akQHTNIWU8rJnoAN7d7DrtefZ+MSjRGfMI/HpPuInd+EnewGIJySnzrp81unRGRdU3LiUHz76JBU3LhkhOmNSShzHId+WOgSQTCZjlmWFdqIAe/bsGdcs03ZiH62H/sJPH12PXXAd0r2IXVZFz5E36BkIaDnr0trl09kXUF6xiOW191BYXM7p9j5Ot+8J1XXnnXeGYEzT1F3XHRsgCIKYZVlmLsCKFStGtMqwMvi+z4H3dtD1yXus+e59WJaBn+hBc+MoBUfaFM2nk1y4KKlaupq1teuZWjITwzDQdR3DMDAMA9M0s/UOFy+lxLZtw/f9sQE8z5tu27aR24UyhwshROiQ47ourutyaN/f2Pv3Lew9fJ7Dxzr4/pqv0xt36e4ZoOt8D6mUy7zFa6m5dR0FRVPxlUFvby+maWJZFqZpZr9blkVmIR0OY5qm6XnetDEBlFLllmWNaO29e/eS8xy+7+P7Pm0nPuD4B9soKCxkzTdvoOC6Ms755TglMWZ+bSpzIsWYzhR0XSdQOslkksw7hBAIIdA0LfuZ2cbkvs80TaGUKh8TwPf9UsuykFKGIGpqanLLZVPbffNcvvfQY3heGsjzPDzPy3at3Exqmoau6+i6jmmaGIaB4zg4joNhGKEsZ0xKyZCuGZcCKMnsRIf3QV3XRwBkYmUzK0JAmSsIguz3fK2t6zqapqFp2og6873Hsiw8z5s+JkAqlZqaycDlTKO5gsZTbjynvkwGXNedOiaA67pT8gFMBOJqxDIAqVRqxI+8IYBEIlE4lKoJn4evZiwDkEgkinKfyeZ748aNpuu6pmma2QzkXplKv+yYlBLTNEkmk86CBQus4QDZDDQ2Nl4/f/5817Isp7S0NDv3T6aNZzUfzXzfRwjhK6XmCCHOAoNKKWkACCEKqqurpwkhZEtLC42NjZOledKsuroaTdOU67olwACgCSEGDCGEBdiu6zq+75NMJkNL+v+LJRIJfN8nkUhEgAgQAK5BehzoPT098e7ubj2VSjFnzpxrKjafSSm5cOEC/f39KUAnrVsTgAkUAYU1NTUPx2KxjUEQTLmWYvOZpmnxjo6O3x48eHA76S4UB3qEUgohRBQoGLoyKTJJp+nyR97kmA1IwANSwODQ1auUSmYP9UNjoQBwAIv0DBUMFb6WZpNuRB9wSYsfUEr5kOdfSiGETrr1DUCQhrhWJkj394A0gKeUCjVo3r9Zv0r2P3yyQqPd16MPAAAAAElFTkSuQmCC">
|
8
|
+
<!ENTITY icon_warning "data:image/png;base64,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">
|
9
|
+
<!ENTITY icon_quote "data:image/png;base64,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">
|
10
|
+
<!ENTITY icon_link "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAAFVBMVEVmmcwzmcyZzP8AZswAZv////////9E6giVAAAAB3RSTlP///////8AGksDRgAAADhJREFUGFcly0ESAEAEA0Ei6/9P3sEcVB8kmrwFyni0bOeyyDpy9JTLEaOhQq7Ongf5FeMhHS/4AVnsAZubxDVmAAAAAElFTkSuQmCC">
|
11
|
+
]>
|
12
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
13
|
+
<head>
|
14
|
+
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
15
|
+
<meta name="generator" content="ERBook 6.0.1"/>
|
16
|
+
|
17
|
+
<title>Rumai 2.0.1</title>
|
18
|
+
|
19
|
+
<meta name="author" content="Suraj N. Kurapati"/>
|
20
|
+
|
21
|
+
<meta name="date" content="25 January 2009"/>
|
22
|
+
|
23
|
+
<link rel="alternate" type="application/rss+xml" href="http://snk.tuxfamily.org/lib/rumai/ann.xml"/>
|
24
|
+
|
25
|
+
<style type="text/css" media="all">
|
26
|
+
<![CDATA[/* general */
|
27
|
+
body
|
28
|
+
{
|
29
|
+
color : #000000;
|
30
|
+
background-color : #FFFFFF;
|
31
|
+
line-height : 1.5em;
|
32
|
+
font-family : Calibri, Verdana, sans-serif;
|
33
|
+
}
|
34
|
+
|
35
|
+
/* emphasis */
|
36
|
+
blockquote
|
37
|
+
{
|
38
|
+
color : #333;
|
39
|
+
font-style : italic;
|
40
|
+
}
|
41
|
+
|
42
|
+
em
|
43
|
+
{
|
44
|
+
font-family : Constantia, "Book Antiqua", "URW Bookman L", serif;
|
45
|
+
font-size : 105%;
|
46
|
+
}
|
47
|
+
|
48
|
+
hr
|
49
|
+
{
|
50
|
+
height : 0;
|
51
|
+
border : 0;
|
52
|
+
border-top : 2px solid #FF0000;
|
53
|
+
}
|
54
|
+
|
55
|
+
/* source code */
|
56
|
+
tt,
|
57
|
+
code,
|
58
|
+
pre
|
59
|
+
{
|
60
|
+
font-family : Monaco, Consolas, "Lucida Console", monospace;
|
61
|
+
font-size : 100%; /* appears like "size: small" otherwise */
|
62
|
+
}
|
63
|
+
|
64
|
+
/* hyperlinks */
|
65
|
+
a > img
|
66
|
+
{
|
67
|
+
border : none;
|
68
|
+
}
|
69
|
+
|
70
|
+
a img
|
71
|
+
{
|
72
|
+
_border : none; /* for IE6 */
|
73
|
+
}
|
74
|
+
|
75
|
+
/* headings */
|
76
|
+
h1,
|
77
|
+
h2,
|
78
|
+
h3,
|
79
|
+
h4,
|
80
|
+
h5,
|
81
|
+
h6,
|
82
|
+
.title
|
83
|
+
{
|
84
|
+
font-weight : lighter;
|
85
|
+
font-family : Constantia, "Book Antiqua", "URW Bookman L", serif;
|
86
|
+
}
|
87
|
+
|
88
|
+
#lof h1,
|
89
|
+
#lof h2,
|
90
|
+
#lof h3,
|
91
|
+
#lof h4,
|
92
|
+
#lof h5,
|
93
|
+
#lof h6
|
94
|
+
{
|
95
|
+
margin-top : 1.25em;
|
96
|
+
}
|
97
|
+
|
98
|
+
#content h1,
|
99
|
+
#content h2,
|
100
|
+
#content h3,
|
101
|
+
#content h4,
|
102
|
+
#content h5,
|
103
|
+
#content h6
|
104
|
+
{
|
105
|
+
margin-top : 2.5em;
|
106
|
+
line-height : 1.25em;
|
107
|
+
}
|
108
|
+
|
109
|
+
#content h1
|
110
|
+
{
|
111
|
+
font-size : 2.0em;
|
112
|
+
}
|
113
|
+
|
114
|
+
#content h2
|
115
|
+
{
|
116
|
+
font-size : 1.8em;
|
117
|
+
}
|
118
|
+
|
119
|
+
#content h3
|
120
|
+
{
|
121
|
+
font-size : 1.6em;
|
122
|
+
}
|
123
|
+
|
124
|
+
#content h4
|
125
|
+
{
|
126
|
+
font-size : 1.4em;
|
127
|
+
}
|
128
|
+
|
129
|
+
#content h5
|
130
|
+
{
|
131
|
+
font-size : 1.2em;
|
132
|
+
}
|
133
|
+
|
134
|
+
#content h6
|
135
|
+
{
|
136
|
+
font-size : 1.0em;
|
137
|
+
}
|
138
|
+
|
139
|
+
/* tables */
|
140
|
+
table
|
141
|
+
{
|
142
|
+
border-collapse : collapse; /* no spacing between cell borders */
|
143
|
+
margin : auto; /* center horizontally */
|
144
|
+
margin-top : 1em;
|
145
|
+
}
|
146
|
+
|
147
|
+
th,
|
148
|
+
td
|
149
|
+
{
|
150
|
+
padding : 1em;
|
151
|
+
border : 1px solid #bbb;
|
152
|
+
vertical-align : top;
|
153
|
+
background-color : #FFFFFF;
|
154
|
+
_background-color : #FFFFFF; /* for IE6 */
|
155
|
+
}
|
156
|
+
|
157
|
+
th
|
158
|
+
{
|
159
|
+
background-color : #F5F5F5;
|
160
|
+
}
|
161
|
+
|
162
|
+
/* document structure */
|
163
|
+
#header
|
164
|
+
{
|
165
|
+
text-align : center;
|
166
|
+
}
|
167
|
+
|
168
|
+
.logo,
|
169
|
+
.header_outside_above,
|
170
|
+
#header,
|
171
|
+
.header_outside_below
|
172
|
+
{
|
173
|
+
margin-bottom : 5em;
|
174
|
+
}
|
175
|
+
|
176
|
+
.footer_outside_above,
|
177
|
+
#footer,
|
178
|
+
.footer_outside_below
|
179
|
+
{
|
180
|
+
margin-top : 5em;
|
181
|
+
}
|
182
|
+
|
183
|
+
#header .header_inside_above,
|
184
|
+
#footer .footer_inside_above
|
185
|
+
{
|
186
|
+
margin-bottom : 4em;
|
187
|
+
}
|
188
|
+
|
189
|
+
#header .header_inside_below,
|
190
|
+
#footer .footer_inside_below
|
191
|
+
{
|
192
|
+
margin-top : 4em;
|
193
|
+
}
|
194
|
+
|
195
|
+
#Abstract
|
196
|
+
{
|
197
|
+
margin-bottom : 5em;
|
198
|
+
}
|
199
|
+
|
200
|
+
#toc li
|
201
|
+
{
|
202
|
+
list-style-type : none;
|
203
|
+
}
|
204
|
+
|
205
|
+
#toc li ul
|
206
|
+
{
|
207
|
+
padding-bottom : 1em;
|
208
|
+
border-left : thick solid #F5F5F5;
|
209
|
+
_border-left : none; /* for IE6 */
|
210
|
+
}
|
211
|
+
|
212
|
+
#toc li ul:hover
|
213
|
+
{
|
214
|
+
border-color : #DCDCDC;
|
215
|
+
}
|
216
|
+
|
217
|
+
#toc > ul
|
218
|
+
{
|
219
|
+
padding-left : 1em;
|
220
|
+
}
|
221
|
+
|
222
|
+
#bib
|
223
|
+
{
|
224
|
+
margin-top : 5em;
|
225
|
+
}
|
226
|
+
|
227
|
+
#footer
|
228
|
+
{
|
229
|
+
border-top : thick dotted #DCDCDC;
|
230
|
+
padding-top : 1em;
|
231
|
+
text-align : center;
|
232
|
+
}
|
233
|
+
|
234
|
+
#footer-credits
|
235
|
+
{
|
236
|
+
margin-top : 2em;
|
237
|
+
margin-bottom : 2em;
|
238
|
+
}
|
239
|
+
|
240
|
+
/* document nodes */
|
241
|
+
.part > .title,
|
242
|
+
.chapter > .title
|
243
|
+
{
|
244
|
+
padding-bottom : 0.5em;
|
245
|
+
}
|
246
|
+
|
247
|
+
.part > .title > big,
|
248
|
+
.chapter > .title > big
|
249
|
+
{
|
250
|
+
display : block;
|
251
|
+
margin-top : 0.25em;
|
252
|
+
}
|
253
|
+
|
254
|
+
.part .title big,
|
255
|
+
.chapter .title big
|
256
|
+
{
|
257
|
+
_display : block; /* for IE6 */
|
258
|
+
_margin-top : 0.25em; /* for IE6 */
|
259
|
+
_margin-bottom : 0.75em; /* for IE6 */
|
260
|
+
}
|
261
|
+
|
262
|
+
.paragraph > .title,
|
263
|
+
.tip > .title,
|
264
|
+
.note > .title,
|
265
|
+
.caution > .title,
|
266
|
+
.warning > .title,
|
267
|
+
.important > .title,
|
268
|
+
.figure > .title,
|
269
|
+
.table > .title,
|
270
|
+
.example > .title,
|
271
|
+
.equation > .title,
|
272
|
+
.procedure > .title
|
273
|
+
{
|
274
|
+
font-size : large;
|
275
|
+
margin-top : 2em;
|
276
|
+
}
|
277
|
+
|
278
|
+
.paragraph .title,
|
279
|
+
.tip .title,
|
280
|
+
.note .title,
|
281
|
+
.caution .title,
|
282
|
+
.warning .title,
|
283
|
+
.important .title,
|
284
|
+
.figure .title,
|
285
|
+
.table .title,
|
286
|
+
.example .title,
|
287
|
+
.equation .title,
|
288
|
+
.procedure .title
|
289
|
+
{
|
290
|
+
_font-size : large; /* for IE6 */
|
291
|
+
_font-weight : bold; /* large is not bold in IE6 */
|
292
|
+
_margin-top : 2em; /* for IE6 */
|
293
|
+
}
|
294
|
+
|
295
|
+
.tip ,
|
296
|
+
.note ,
|
297
|
+
.caution ,
|
298
|
+
.warning ,
|
299
|
+
.important,
|
300
|
+
.figure ,
|
301
|
+
.table ,
|
302
|
+
.example ,
|
303
|
+
.equation ,
|
304
|
+
.procedure
|
305
|
+
{
|
306
|
+
margin : 3em;
|
307
|
+
}
|
308
|
+
|
309
|
+
.tip .nav,
|
310
|
+
.note .nav,
|
311
|
+
.caution .nav,
|
312
|
+
.warning .nav,
|
313
|
+
.important .nav,
|
314
|
+
.figure .nav,
|
315
|
+
.table .nav,
|
316
|
+
.example .nav,
|
317
|
+
.equation .nav,
|
318
|
+
.procedure .nav
|
319
|
+
{
|
320
|
+
margin-left : -7.65em;
|
321
|
+
}
|
322
|
+
|
323
|
+
.tip > .content,
|
324
|
+
.note > .content,
|
325
|
+
.caution > .content,
|
326
|
+
.warning > .content,
|
327
|
+
.important > .content,
|
328
|
+
.figure > .content,
|
329
|
+
.table > .content,
|
330
|
+
.example > .content,
|
331
|
+
.equation > .content,
|
332
|
+
.procedure > .content
|
333
|
+
{
|
334
|
+
min-height : 48px; /* 48px is height of icon */
|
335
|
+
}
|
336
|
+
|
337
|
+
.tip > .content > .icon,
|
338
|
+
.note > .content > .icon,
|
339
|
+
.caution > .content > .icon,
|
340
|
+
.warning > .content > .icon,
|
341
|
+
.important > .content > .icon
|
342
|
+
{
|
343
|
+
float : left;
|
344
|
+
margin : 0 1em 1em 0; /* top right bottom left */
|
345
|
+
}
|
346
|
+
|
347
|
+
.tip .content .icon,
|
348
|
+
.note .content .icon,
|
349
|
+
.caution .content .icon,
|
350
|
+
.warning .content .icon,
|
351
|
+
.important .content .icon
|
352
|
+
{
|
353
|
+
_display : none; /* IE6 cannot display embedded images */
|
354
|
+
}
|
355
|
+
|
356
|
+
.figure > .title
|
357
|
+
{
|
358
|
+
text-align : center;
|
359
|
+
}
|
360
|
+
|
361
|
+
.figure .title
|
362
|
+
{
|
363
|
+
_text-align : center; /* for IE6 */
|
364
|
+
}
|
365
|
+
|
366
|
+
.figure > .content img
|
367
|
+
{
|
368
|
+
display : block;
|
369
|
+
margin : auto;
|
370
|
+
}
|
371
|
+
|
372
|
+
.figure .content img
|
373
|
+
{
|
374
|
+
_display : block; /* for IE6 */
|
375
|
+
_margin : auto; /* for IE6 */
|
376
|
+
}
|
377
|
+
]]>
|
378
|
+
</style>
|
379
|
+
<style type="text/css" media="screen">
|
380
|
+
<![CDATA[/* general */
|
381
|
+
body
|
382
|
+
{
|
383
|
+
margin : 0;
|
384
|
+
padding : 0;
|
385
|
+
padding-left : 10em; /* room for local navigation menus */
|
386
|
+
padding-right : 10em; /* keep #body visually centered */
|
387
|
+
background-color : #808080;
|
388
|
+
}
|
389
|
+
|
390
|
+
/* the actual content of the <body> element */
|
391
|
+
#body
|
392
|
+
{
|
393
|
+
margin : auto;
|
394
|
+
max-width : 38em;
|
395
|
+
|
396
|
+
background-color : #FFFFFF;
|
397
|
+
border-left : 0.35em solid #696969;
|
398
|
+
border-right : 0.35em solid #696969;
|
399
|
+
padding : 2em;
|
400
|
+
}
|
401
|
+
|
402
|
+
/* source code */
|
403
|
+
tt
|
404
|
+
{
|
405
|
+
background-color : #F0F8FF;
|
406
|
+
}
|
407
|
+
|
408
|
+
pre
|
409
|
+
{
|
410
|
+
cursor : text;
|
411
|
+
line-height : normal;
|
412
|
+
border : 1px solid #b1d827;
|
413
|
+
background-color : #F5FFDF;
|
414
|
+
padding : 1em;
|
415
|
+
|
416
|
+
/* fit container to content; no overflow! */
|
417
|
+
display : inline-block;
|
418
|
+
margin : 0;
|
419
|
+
min-width : 92.5%;
|
420
|
+
}
|
421
|
+
|
422
|
+
/* output of the syntax coloring library */
|
423
|
+
pre.code
|
424
|
+
{
|
425
|
+
background-color : #FFFFE8;
|
426
|
+
border-color : #EEDD88;
|
427
|
+
}
|
428
|
+
|
429
|
+
/* hyperlinks */
|
430
|
+
a
|
431
|
+
{
|
432
|
+
text-decoration : none;
|
433
|
+
}
|
434
|
+
|
435
|
+
a:hover
|
436
|
+
{
|
437
|
+
text-decoration : underline;
|
438
|
+
}
|
439
|
+
|
440
|
+
a:link
|
441
|
+
{
|
442
|
+
color : #0038E1; /* maximum saturation of RoyalBlue */
|
443
|
+
}
|
444
|
+
|
445
|
+
a:visited
|
446
|
+
{
|
447
|
+
color : #800080;
|
448
|
+
}
|
449
|
+
|
450
|
+
#toc a:target:after,
|
451
|
+
#lof a:target:after,
|
452
|
+
#nav a:target:after
|
453
|
+
{
|
454
|
+
content : "★"; /* ★ */
|
455
|
+
color : #FF0000;
|
456
|
+
font-size : x-large;
|
457
|
+
padding-left : 0.125em;
|
458
|
+
}
|
459
|
+
|
460
|
+
/* document structure */
|
461
|
+
/* mini navigation menu beside every block node */
|
462
|
+
.nav
|
463
|
+
{
|
464
|
+
width : 4em;
|
465
|
+
float : left; /* detach from main content */
|
466
|
+
margin-left : -6.075em;
|
467
|
+
|
468
|
+
font-size : 1.9em;
|
469
|
+
letter-spacing : 0.25em;
|
470
|
+
text-align : center;
|
471
|
+
|
472
|
+
color : #696969; /* same colors to hide non-links */
|
473
|
+
background-color : #696969;
|
474
|
+
padding : 0.5em;
|
475
|
+
margin-top : -0.5em;
|
476
|
+
}
|
477
|
+
|
478
|
+
.nav:target,
|
479
|
+
.nav:hover
|
480
|
+
{
|
481
|
+
color : #333; /* same colors to hide non-links */
|
482
|
+
background-color : #333;
|
483
|
+
}
|
484
|
+
|
485
|
+
.nav a:link,
|
486
|
+
.nav a:visited
|
487
|
+
{
|
488
|
+
color : #D3D3D3;
|
489
|
+
}
|
490
|
+
|
491
|
+
.nav a:hover,
|
492
|
+
#nav a:target:after {
|
493
|
+
color : #9ACD32;
|
494
|
+
text-decoration : none;
|
495
|
+
}
|
496
|
+
|
497
|
+
/* global navigation menu at the top of the page */
|
498
|
+
#nav
|
499
|
+
{
|
500
|
+
font-size : 1em;
|
501
|
+
letter-spacing : 0;
|
502
|
+
width : 8.5em;
|
503
|
+
margin-left : -11.5em;
|
504
|
+
}
|
505
|
+
|
506
|
+
#nav li
|
507
|
+
{
|
508
|
+
list-style-type : none;
|
509
|
+
}
|
510
|
+
]]>
|
511
|
+
</style>
|
512
|
+
<style type="text/css" media="print">
|
513
|
+
<![CDATA[/* source code */
|
514
|
+
tt
|
515
|
+
{
|
516
|
+
font-weight : normal;
|
517
|
+
}
|
518
|
+
|
519
|
+
pre
|
520
|
+
{
|
521
|
+
border : none;
|
522
|
+
}
|
523
|
+
|
524
|
+
/* headings */
|
525
|
+
h1,
|
526
|
+
h2,
|
527
|
+
h3,
|
528
|
+
h4,
|
529
|
+
h5,
|
530
|
+
h6
|
531
|
+
{
|
532
|
+
font-weight : normal;
|
533
|
+
clear : both;
|
534
|
+
}
|
535
|
+
|
536
|
+
/* hyperlinks */
|
537
|
+
/* blend all hyperlinks with normal text */
|
538
|
+
a:link,
|
539
|
+
a:visited
|
540
|
+
{
|
541
|
+
color : #000000;
|
542
|
+
text-decoration : none;
|
543
|
+
}
|
544
|
+
|
545
|
+
/* emphasize external and cross-reference hyperlinks */
|
546
|
+
a[href]:not([href^="#"]):link,
|
547
|
+
a[href]:not([href^="#"]):visited,
|
548
|
+
a.xref[title]:link,
|
549
|
+
a.xref[title]:visited
|
550
|
+
{
|
551
|
+
color : #0000FF;
|
552
|
+
text-decoration : underline;
|
553
|
+
font-weight : bolder;
|
554
|
+
}
|
555
|
+
|
556
|
+
/* show URL of destination for external hyperlinks */
|
557
|
+
a[href]:not([href^="#"]):after
|
558
|
+
{
|
559
|
+
content : " " attr(href);
|
560
|
+
font-family : Monaco, Consolas, "Lucida Console", monospace;
|
561
|
+
}
|
562
|
+
|
563
|
+
/* show name of destination for cross-references */
|
564
|
+
a.xref[title]:after
|
565
|
+
{
|
566
|
+
content : " " attr(title);
|
567
|
+
}
|
568
|
+
|
569
|
+
a:after
|
570
|
+
{
|
571
|
+
font-weight : normal;
|
572
|
+
font-size : smaller;
|
573
|
+
}
|
574
|
+
|
575
|
+
/* document structure */
|
576
|
+
#nav,
|
577
|
+
.nav,
|
578
|
+
#lof
|
579
|
+
{
|
580
|
+
display : none;
|
581
|
+
}
|
582
|
+
|
583
|
+
#toc,
|
584
|
+
.part,
|
585
|
+
.chapter,
|
586
|
+
#bib
|
587
|
+
{
|
588
|
+
page-break-before : always;
|
589
|
+
}
|
590
|
+
|
591
|
+
/* document nodes */
|
592
|
+
.part > .title > big,
|
593
|
+
.chapter > .title > big
|
594
|
+
{
|
595
|
+
padding-bottom : 0.5em;
|
596
|
+
}
|
597
|
+
|
598
|
+
.part .title big,
|
599
|
+
.chapter .title big
|
600
|
+
{
|
601
|
+
_padding-bottom : 0.5em; /* for IE6 */
|
602
|
+
}
|
603
|
+
]]>
|
604
|
+
</style>
|
605
|
+
|
606
|
+
<style type="text/css" media="screen">
|
607
|
+
<![CDATA[
|
608
|
+
/* decorate external hyperlinks with a visual indicator */
|
609
|
+
a[href]:not([href^="#"])
|
610
|
+
{
|
611
|
+
background : url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAAFVBMVEVmmcwzmcyZzP8AZswAZv////////9E6giVAAAAB3RSTlP///////8AGksDRgAAADhJREFUGFcly0ESAEAEA0Ei6/9P3sEcVB8kmrwFyni0bOeyyDpy9JTLEaOhQq7Ongf5FeMhHS/4AVnsAZubxDVmAAAAAElFTkSuQmCC");
|
612
|
+
background-position : center right;
|
613
|
+
background-repeat : no-repeat;
|
614
|
+
padding-right : 13px;
|
615
|
+
}
|
616
|
+
|
617
|
+
/* display icon for blockquote elements */
|
618
|
+
blockquote
|
619
|
+
{
|
620
|
+
background-image : url("data:image/png;base64,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");
|
621
|
+
background-repeat : no-repeat;
|
622
|
+
margin-left : 0;
|
623
|
+
padding-left : 65px;
|
624
|
+
min-height : 50px;
|
625
|
+
}
|
626
|
+
]]>
|
627
|
+
</style>
|
628
|
+
</head>
|
629
|
+
<body>
|
630
|
+
<div id="body">
|
631
|
+
|
632
|
+
<br style="display: none"/>
|
633
|
+
<hr style="display: none"/>
|
634
|
+
<br style="display: none"/>
|
635
|
+
|
636
|
+
|
637
|
+
<div id="header">
|
638
|
+
|
639
|
+
|
640
|
+
<h1 class="title">Rumai 2.0.1</h1>
|
641
|
+
|
642
|
+
<h2 class="subtitle">Ruby interface to the wmii window manager</h2>
|
643
|
+
|
644
|
+
<h3 class="authors"><a href="mailto:sunaku@gmail.com">Suraj N. Kurapati</a></h3>
|
645
|
+
|
646
|
+
<h3 class="date">25 January 2009</h3>
|
647
|
+
|
648
|
+
</div>
|
649
|
+
|
650
|
+
|
651
|
+
|
652
|
+
|
653
|
+
<br style="display: none"/>
|
654
|
+
<hr style="display: none"/>
|
655
|
+
<br style="display: none"/>
|
656
|
+
|
657
|
+
<div id="toc">
|
658
|
+
<a name="Contents"/><div class="nav" id="Contents"><a title="Reverse jump to listing" href="#rev:Contents">≡</a>△▽<a title="Jump to this segment" href="#Contents">◎</a></div>
|
659
|
+
<h1 class="title">Contents</h1>
|
660
|
+
<ul>
|
661
|
+
<li>1 <a id="rev:Introduction" href="#Introduction">Introduction</a><ul><li><a id="rev:Etymology" href="#Etymology">Etymology</a></li><li>1.1 <a id="rev:Logistics" href="#Logistics">Logistics</a><ul><li><a id="rev:Version-numbers" href="#Version-numbers">Version numbers</a></li></ul></li><li>1.2 <a id="rev:License" href="#License">License</a></li><li>1.3 <a id="rev:Credits" href="#Credits">Credits</a></li></ul></li><li>2 <a id="rev:Setup" href="#Setup">Setup</a><ul><li>2.1 <a id="rev:Requirements" href="#Requirements">Requirements</a></li><li>2.2 <a id="rev:Installation" href="#Installation">Installation</a></li><li>2.3 <a id="rev:Manifest" href="#Manifest">Manifest</a></li></ul></li><li>3 <a id="rev:Usage" href="#Usage">Usage</a><ul><li>3.1 <a id="rev:Concepts" href="#Concepts">Concepts</a></li><li>3.2 <a id="rev:Command-line-interface" href="#Command-line-interface">Command-line interface</a><ul><li><a id="rev:shell" href="#shell">Interactive shell</a></li></ul></li><li>3.3 <a id="rev:Tutorial" href="#Tutorial">Tutorial</a><ul><li>3.3.1 <a id="rev:Automated-client-arrangement" href="#Automated-client-arrangement">Automated client arrangement</a></li><li>3.3.2 <a id="rev:Multiple-client-grouping" href="#Multiple-client-grouping">Multiple client grouping</a></li><li>3.3.3 <a id="rev:Easy-column-manipulation" href="#Easy-column-manipulation">Easy column manipulation</a></li><li>3.3.4 <a id="rev:Easy-client-manipulation" href="#Easy-client-manipulation">Easy client manipulation</a></li><li>3.3.5 <a id="rev:Traversing-the-file-system" href="#Traversing-the-file-system">Traversing the file system</a></li><li>3.3.6 <a id="rev:Available-commands" href="#Available-commands">Available commands</a></li></ul></li><li>3.4 <a id="rev:wmiirc" href="#wmiirc">Scripting your wmiirc</a></li></ul></li><li>4 <a id="rev:History" href="#History">History</a><ul><li>4.1 <a id="rev:Version-2.0.1-2009-01-20" href="#Version-2.0.1-2009-01-20">Version 2.0.1 (2009-01-20)</a><ul><li><a id="rev:Bug-fixes" href="#Bug-fixes">Bug fixes</a></li><li><a id="rev:Housekeeping" href="#Housekeeping">Housekeeping</a></li></ul></li></ul></li>
|
662
|
+
|
663
|
+
</ul>
|
664
|
+
</div>
|
665
|
+
|
666
|
+
|
667
|
+
<br style="display: none"/>
|
668
|
+
<hr style="display: none"/>
|
669
|
+
<br style="display: none"/>
|
670
|
+
|
671
|
+
<div id="content">
|
672
|
+
<div class="chapter">
|
673
|
+
<a name="Introduction"/><div class="nav" id="Introduction"><a title="Reverse jump to listing" href="#rev:Introduction">≡</a>△<a title="Jump to next segment" href="#Etymology">▽</a><a title="Jump to this segment" href="#Introduction">◎</a></div>
|
674
|
+
<h1 class="title">
|
675
|
+
Chapter 1
|
676
|
+
<br/>
|
677
|
+
<big>Introduction</big>
|
678
|
+
</h1>
|
679
|
+
<div class="content"><p><p><strong>Rumai</strong> is a <a href='http://ruby-lang.org'>Ruby</a> interface to the <a href='http://www.suckless.org/wiki/wmii'>wmii</a> window manager.</p> <strong>Rumai</strong> is exciting because:</p>
|
680
|
+
|
681
|
+
<ul>
|
682
|
+
<li>It excels at <em>dynamic arrangement</em> of clients, columns, views, and tags.</li>
|
683
|
+
|
684
|
+
<li>It provides an <a class="xref" href="#shell" title="Paragraph. Interactive shell">interactive shell</a> for live entertainment.</li>
|
685
|
+
|
686
|
+
<li>It contains a <em>pure Ruby client</em> for the <a href='http://cm.bell-labs.com/magic/man2html/5/intro'>9P2000 protocol</a> on which wmii’s <a href='http://www.suckless.org/wiki/libs/libixp'>IXP file-system interface</a> is built.</li>
|
687
|
+
</ul>
|
688
|
+
|
689
|
+
<p>These features distinguish <strong>Rumai</strong> from the competition:</p>
|
690
|
+
|
691
|
+
<ul>
|
692
|
+
<li><a href='http://eigenclass.org/hiki.rb?wmii+ruby'>ruby-wmii</a></li>
|
693
|
+
|
694
|
+
<li><a href='http://'>Rii</a></li>
|
695
|
+
|
696
|
+
<li><a href='http://'>Ruby-IXP</a></li>
|
697
|
+
</ul>
|
698
|
+
|
699
|
+
<p><div class="paragraph">
|
700
|
+
<a name="Etymology"/><div class="nav" id="Etymology"><a title="Reverse jump to listing" href="#rev:Etymology">≡</a><a title="Jump to previous segment" href="#Introduction">△</a><a title="Jump to next segment" href="#Logistics">▽</a><a title="Jump to this segment" href="#Etymology">◎</a></div>
|
701
|
+
<p class="title">Etymology</p>
|
702
|
+
<div class="content"><p>The word “wmii” is incredibly difficult to pronounce because it is an abbreviation, not an acronym. If we were to treat it as an acronym, the closest pronounciation would be, in my mind, something like “vim-eye”.</p>
|
703
|
+
|
704
|
+
<p>Since this is a Ruby library, I added a “roo” and worked it through:</p>
|
705
|
+
|
706
|
+
<pre>vim-eye
|
707
|
+
roo-vim-eye
|
708
|
+
roovm-eye
|
709
|
+
roo-mai</pre>
|
710
|
+
|
711
|
+
<p>And thus we get “Rumai”.</p></div>
|
712
|
+
</div> <div class="section">
|
713
|
+
<a name="Logistics"/><div class="nav" id="Logistics"><a title="Reverse jump to listing" href="#rev:Logistics">≡</a><a title="Jump to previous segment" href="#Etymology">△</a><a title="Jump to next segment" href="#Version-numbers">▽</a><a title="Jump to this segment" href="#Logistics">◎</a></div>
|
714
|
+
<h2 class="title">
|
715
|
+
1.1 Logistics
|
716
|
+
</h2>
|
717
|
+
<div class="content"><ul>
|
718
|
+
<li><a class="xref" href="#History" title="Chapter 4. History">Release notes</a> — history of project releases.</li>
|
719
|
+
|
720
|
+
<li><a href='http://github.com/sunaku/rumai'>Source code</a> — obtain via <a href='http://git.or.cz'>Git</a> or browse online.</li>
|
721
|
+
|
722
|
+
<li><a href='api/index.html'>API reference</a> — documentation for source code.</li>
|
723
|
+
</ul>
|
724
|
+
|
725
|
+
<p>To get help or provide feedback, simply <a class="xref" href="#License" title="Section 1.2. License">contact the author(s)</a>.</p>
|
726
|
+
|
727
|
+
<p><div class="paragraph">
|
728
|
+
<a name="Version-numbers"/><div class="nav" id="Version-numbers"><a title="Reverse jump to listing" href="#rev:Version-numbers">≡</a><a title="Jump to previous segment" href="#Logistics">△</a><a title="Jump to next segment" href="#License">▽</a><a title="Jump to this segment" href="#Version-numbers">◎</a></div>
|
729
|
+
<p class="title">Version numbers</p>
|
730
|
+
<div class="content"><p><strong>Rumai</strong> releases are numbered in <em>major.minor.patch</em> form according to the <a href='http://www.rubygems.org/read/chapter/7'>RubyGems rational versioning policy</a>, which can be summarized thus:</p>
|
731
|
+
<table border="1">
|
732
|
+
<thead>
|
733
|
+
<tr>
|
734
|
+
<td rowspan='2'>What increased in the version number?</td>
|
735
|
+
<td colspan='3'>The increase indicates that the release:</td>
|
736
|
+
</tr>
|
737
|
+
<tr>
|
738
|
+
<th>Is backward compatible?</th>
|
739
|
+
<th>Has new features?</th>
|
740
|
+
<th>Has bug fixes?</th>
|
741
|
+
</tr>
|
742
|
+
</thead>
|
743
|
+
<tbody>
|
744
|
+
<tr>
|
745
|
+
<th>major</th>
|
746
|
+
<td style='background-color: #FFE4E1;'>No</td>
|
747
|
+
<td>Yes</td>
|
748
|
+
<td>Yes</td>
|
749
|
+
</tr>
|
750
|
+
<tr>
|
751
|
+
<th>minor</th>
|
752
|
+
<td>Yes</td>
|
753
|
+
<td>Yes</td>
|
754
|
+
<td>Yes</td>
|
755
|
+
</tr>
|
756
|
+
<tr>
|
757
|
+
<th>patch</th>
|
758
|
+
<td>Yes</td>
|
759
|
+
<td style='background-color: #FFE4E1;'>No</td>
|
760
|
+
<td>Yes</td>
|
761
|
+
</tr>
|
762
|
+
</tbody>
|
763
|
+
</table></div>
|
764
|
+
</div></p></div>
|
765
|
+
</div> <div class="section">
|
766
|
+
<a name="License"/><div class="nav" id="License"><a title="Reverse jump to listing" href="#rev:License">≡</a><a title="Jump to previous segment" href="#Version-numbers">△</a><a title="Jump to next segment" href="#Credits">▽</a><a title="Jump to this segment" href="#License">◎</a></div>
|
767
|
+
<h2 class="title">
|
768
|
+
1.2 License
|
769
|
+
</h2>
|
770
|
+
<div class="content"><p>Copyright 2006 Suraj N. Kurapati <a href='mailto:sunaku@gmail.com'>sunaku@gmail.com</a></p>
|
771
|
+
|
772
|
+
<p>Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.</p>
|
773
|
+
|
774
|
+
<p>THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</p></div>
|
775
|
+
</div> <div class="section">
|
776
|
+
<a name="Credits"/><div class="nav" id="Credits"><a title="Reverse jump to listing" href="#rev:Credits">≡</a><a title="Jump to previous segment" href="#License">△</a><a title="Jump to next segment" href="#Setup">▽</a><a title="Jump to this segment" href="#Credits">◎</a></div>
|
777
|
+
<h2 class="title">
|
778
|
+
1.3 Credits
|
779
|
+
</h2>
|
780
|
+
<div class="content"><blockquote>
|
781
|
+
<p>TODO: give attribution to your predecessors and contributors</p>
|
782
|
+
</blockquote></div>
|
783
|
+
</div></p></div>
|
784
|
+
</div><div class="chapter">
|
785
|
+
<a name="Setup"/><div class="nav" id="Setup"><a title="Reverse jump to listing" href="#rev:Setup">≡</a><a title="Jump to previous segment" href="#Credits">△</a><a title="Jump to next segment" href="#Requirements">▽</a><a title="Jump to this segment" href="#Setup">◎</a></div>
|
786
|
+
<h1 class="title">
|
787
|
+
Chapter 2
|
788
|
+
<br/>
|
789
|
+
<big>Setup</big>
|
790
|
+
</h1>
|
791
|
+
<div class="content"><p><div class="section">
|
792
|
+
<a name="Requirements"/><div class="nav" id="Requirements"><a title="Reverse jump to listing" href="#rev:Requirements">≡</a><a title="Jump to previous segment" href="#Setup">△</a><a title="Jump to next segment" href="#Installation">▽</a><a title="Jump to this segment" href="#Requirements">◎</a></div>
|
793
|
+
<h2 class="title">
|
794
|
+
2.1 Requirements
|
795
|
+
</h2>
|
796
|
+
<div class="content"><p>Your system needs the following software to run <strong>Rumai</strong>.</p>
|
797
|
+
<table border="1"><thead><tr><th>Software</th><th>Description</th><th>Notes</th></tr></thead><tbody><tr><td style='text-align: left;'><a href='http://ruby-lang.org'>Ruby</a></td><td style='text-align: left;'>Ruby language interpreter</td><td style='text-align: left;'>Version 1.8.6 or newer is required.</td>
|
798
|
+
</tr><tr><td style='text-align: left;'><a href='http://rubygems.org'>RubyGems</a></td><td style='text-align: left;'>Ruby packaging system</td><td style='text-align: left;'>Version 1.3.1 or newer is required.</td>
|
799
|
+
</tr><tr><td style='text-align: left;'><a href='http://www.suckless.org/wiki/wmii'>wmii</a></td><td style='text-align: left;'>Window manager</td><td style='text-align: left;'>Version 3.6 or newer is required.</td>
|
800
|
+
</tr></tbody></table></div>
|
801
|
+
</div> <div class="section">
|
802
|
+
<a name="Installation"/><div class="nav" id="Installation"><a title="Reverse jump to listing" href="#rev:Installation">≡</a><a title="Jump to previous segment" href="#Requirements">△</a><a title="Jump to next segment" href="#Manifest">▽</a><a title="Jump to this segment" href="#Installation">◎</a></div>
|
803
|
+
<h2 class="title">
|
804
|
+
2.2 Installation
|
805
|
+
</h2>
|
806
|
+
<div class="content"><p>You can install <strong>Rumai</strong> by running this command:</p>
|
807
|
+
|
808
|
+
<pre>gem install rumai</pre>
|
809
|
+
|
810
|
+
<p>To check whether the installation was sucessful, run this command:</p>
|
811
|
+
|
812
|
+
<pre>rumai --version</pre>
|
813
|
+
|
814
|
+
<p>If the installation was successful, you will see output like this:</p>
|
815
|
+
|
816
|
+
<p><pre>project: Rumai
|
817
|
+
version: 2.0.1
|
818
|
+
release: 2009-01-25
|
819
|
+
website: http://snk.tuxfamily.org/lib/rumai
|
820
|
+
install: /home/sun/src/rumai</pre></p>
|
821
|
+
|
822
|
+
<p>If you do not see such output, you may <a class="xref" href="#License" title="Section 1.2. License">ask the author(s)</a> for help.</p></div>
|
823
|
+
</div> <div class="section">
|
824
|
+
<a name="Manifest"/><div class="nav" id="Manifest"><a title="Reverse jump to listing" href="#rev:Manifest">≡</a><a title="Jump to previous segment" href="#Installation">△</a><a title="Jump to next segment" href="#Usage">▽</a><a title="Jump to this segment" href="#Manifest">◎</a></div>
|
825
|
+
<h2 class="title">
|
826
|
+
2.3 Manifest
|
827
|
+
</h2>
|
828
|
+
<div class="content"><p>You will see the following items inside <strong>Rumai</strong>’s installation directory, whose path you can determine by running this command:</p>
|
829
|
+
|
830
|
+
<pre>rumai --version</pre>
|
831
|
+
|
832
|
+
<ul>
|
833
|
+
<li>
|
834
|
+
<p><tt>bin/</tt></p>
|
835
|
+
|
836
|
+
<ul>
|
837
|
+
<li><tt>rumai</tt> — the main <strong>Rumai</strong> executable.</li>
|
838
|
+
</ul>
|
839
|
+
</li>
|
840
|
+
|
841
|
+
<li>
|
842
|
+
<p><tt>lib/</tt></p>
|
843
|
+
|
844
|
+
<ul>
|
845
|
+
<li>
|
846
|
+
<p><tt>rumai.rb</tt> — the main <strong>Rumai</strong> library.</p>
|
847
|
+
</li>
|
848
|
+
|
849
|
+
<li>
|
850
|
+
<p><tt>rumai/</tt></p>
|
851
|
+
|
852
|
+
<ul>
|
853
|
+
<li><tt>ixp.rb</tt> - pure Ruby client for the <a href='http://cm.bell-labs.com/magic/man2html/5/intro'>9P2000 protocol</a></li>
|
854
|
+
</ul>
|
855
|
+
</li>
|
856
|
+
</ul>
|
857
|
+
</li>
|
858
|
+
|
859
|
+
<li>
|
860
|
+
<p><tt>doc/</tt></p>
|
861
|
+
|
862
|
+
<ul>
|
863
|
+
<li>
|
864
|
+
<p><tt>api/</tt> — API reference documentation.</p>
|
865
|
+
</li>
|
866
|
+
|
867
|
+
<li>
|
868
|
+
<p><tt>index.erb</tt> — source of this user manual.</p>
|
869
|
+
</li>
|
870
|
+
</ul>
|
871
|
+
</li>
|
872
|
+
|
873
|
+
<li>
|
874
|
+
<p><tt>LICENSE</tt> — copyright notice and legal conditions.</p>
|
875
|
+
</li>
|
876
|
+
</ul></div>
|
877
|
+
</div></p></div>
|
878
|
+
</div><div class="chapter">
|
879
|
+
<a name="Usage"/><div class="nav" id="Usage"><a title="Reverse jump to listing" href="#rev:Usage">≡</a><a title="Jump to previous segment" href="#Manifest">△</a><a title="Jump to next segment" href="#Concepts">▽</a><a title="Jump to this segment" href="#Usage">◎</a></div>
|
880
|
+
<h1 class="title">
|
881
|
+
Chapter 3
|
882
|
+
<br/>
|
883
|
+
<big>Usage</big>
|
884
|
+
</h1>
|
885
|
+
<div class="content"><p><div class="section">
|
886
|
+
<a name="Concepts"/><div class="nav" id="Concepts"><a title="Reverse jump to listing" href="#rev:Concepts">≡</a><a title="Jump to previous segment" href="#Usage">△</a><a title="Jump to next segment" href="#Command-line-interface">▽</a><a title="Jump to this segment" href="#Concepts">◎</a></div>
|
887
|
+
<h2 class="title">
|
888
|
+
3.1 Concepts
|
889
|
+
</h2>
|
890
|
+
<div class="content"><p>If you wish to wield the power of <strong>Rumai</strong> more effectively, you should understand the following basic concepts:</p>
|
891
|
+
|
892
|
+
<ul>
|
893
|
+
<li>
|
894
|
+
<p>A <em>client</em> is any graphical program that is running in your X session. In other words, any <em>window</em> in your wmii session is a <em>client</em>.</p>
|
895
|
+
</li>
|
896
|
+
|
897
|
+
<li>
|
898
|
+
<p>A <em>tag</em> is an arbitrary string (a label) that can be associated with one or more clients.</p>
|
899
|
+
</li>
|
900
|
+
|
901
|
+
<li>
|
902
|
+
<p>A <em>view</em> is a graphical representation of a <em>tag</em>. It shows all clients associated with a particular tag.</p>
|
903
|
+
</li>
|
904
|
+
|
905
|
+
<li>
|
906
|
+
<p>An <em>area</em> is a region inside a <em>view</em>. It contains clients.</p>
|
907
|
+
|
908
|
+
<ul>
|
909
|
+
<li>
|
910
|
+
<p>A <em>managed area</em> or <em>column</em> is a region where clients cannot overlap each other.</p>
|
911
|
+
</li>
|
912
|
+
|
913
|
+
<li>
|
914
|
+
<p>The <em>floating area</em> is an area whose clients (1) can overlap each other and (2) <em>float above</em> the managed areas.</p>
|
915
|
+
</li>
|
916
|
+
</ul>
|
917
|
+
</li>
|
918
|
+
</ul></div>
|
919
|
+
</div> <div class="section">
|
920
|
+
<a name="Command-line-interface"/><div class="nav" id="Command-line-interface"><a title="Reverse jump to listing" href="#rev:Command-line-interface">≡</a><a title="Jump to previous segment" href="#Concepts">△</a><a title="Jump to next segment" href="#shell">▽</a><a title="Jump to this segment" href="#Command-line-interface">◎</a></div>
|
921
|
+
<h2 class="title">
|
922
|
+
3.2 Command-line interface
|
923
|
+
</h2>
|
924
|
+
<div class="content"><p>When you run this command:</p>
|
925
|
+
|
926
|
+
<pre>rumai --help</pre>
|
927
|
+
|
928
|
+
<p>You will see this output:</p>
|
929
|
+
|
930
|
+
<p><pre>Rumai - Ruby interface to the wmii window manager
|
931
|
+
|
932
|
+
This program is an interactive shell for Rumai.
|
933
|
+
|
934
|
+
Usage:
|
935
|
+
|
936
|
+
rumai [Options]
|
937
|
+
rumai [Options] -- irb_args
|
938
|
+
|
939
|
+
irb_args: Command-line options and arguments that should
|
940
|
+
be passed to `irb`, the interactive Ruby shell.
|
941
|
+
|
942
|
+
Options:
|
943
|
+
|
944
|
+
--manual, -m: Show the user manual
|
945
|
+
--version, -v: Print version and exit
|
946
|
+
--help, -h: Show this message</pre></p>
|
947
|
+
|
948
|
+
<p><div class="paragraph">
|
949
|
+
<a name="shell"/><div class="nav" id="shell"><a title="Reverse jump to listing" href="#rev:shell">≡</a><a title="Jump to previous segment" href="#Command-line-interface">△</a><a title="Jump to next segment" href="#Tutorial">▽</a><a title="Jump to this segment" href="#shell">◎</a></div>
|
950
|
+
<p class="title">Interactive shell</p>
|
951
|
+
<div class="content"><p>When you run this command:</p>
|
952
|
+
|
953
|
+
<pre>rumai</pre>
|
954
|
+
|
955
|
+
<p>An IRB session will begin, showing you a command prompt like this:</p>
|
956
|
+
|
957
|
+
<pre>irb(Rumai):001:0></pre>
|
958
|
+
|
959
|
+
<p>The <tt>irb(Rumai)</tt> token in the command prompt indicates that commands will be evaluated <em>inside</em> the <code class="code"><span style="color:#036;font-weight:bold">Rumai</span></code> module. As a result, you can omit the “Rumai” prefix from your commands if you wish.</p>
|
960
|
+
|
961
|
+
<p>For example, to get the current client object, you can type <code class="code">curr_client</code> instead of having to type <code class="code"><span style="color:#036;font-weight:bold">Rumai</span>.curr_client</code> at the prompt. Both commands achieve the same effect.</p>
|
962
|
+
|
963
|
+
<p>The next thing to note is that <strong>tab completion</strong> is enabled by default. So you can type part of a command and press the TAB key to see a list of possible completions.</p></div>
|
964
|
+
</div></p></div>
|
965
|
+
</div> <div class="section">
|
966
|
+
<a name="Tutorial"/><div class="nav" id="Tutorial"><a title="Reverse jump to listing" href="#rev:Tutorial">≡</a><a title="Jump to previous segment" href="#shell">△</a><a title="Jump to next segment" href="#Automated-client-arrangement">▽</a><a title="Jump to this segment" href="#Tutorial">◎</a></div>
|
967
|
+
<h2 class="title">
|
968
|
+
3.3 Tutorial
|
969
|
+
</h2>
|
970
|
+
<div class="content"><p>Now that you know <a class="xref" href="#shell" title="Paragraph. Interactive shell">how to start the interactive shell</a>, let us walk through a quick demonstration that highlights the main features of <strong>Rumai</strong>. You can follow along by copying & pasting the presented commands into the interactive shell.</p>
|
971
|
+
|
972
|
+
<p><div class="section">
|
973
|
+
<a name="Automated-client-arrangement"/><div class="nav" id="Automated-client-arrangement"><a title="Reverse jump to listing" href="#rev:Automated-client-arrangement">≡</a><a title="Jump to previous segment" href="#Tutorial">△</a><a title="Jump to next segment" href="#Multiple-client-grouping">▽</a><a title="Jump to this segment" href="#Automated-client-arrangement">◎</a></div>
|
974
|
+
<h3 class="title">
|
975
|
+
3.3.1 Automated client arrangement
|
976
|
+
</h3>
|
977
|
+
<div class="content"><p>Launch a few terminals so that we have something to work with: <pre class="code">colors = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style=""> red green blue black orange brown gray navy gold </span><span style="color:#710">]</span></span>
|
978
|
+
colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">xterm -bg </span><span style="background:#eee"><span style="font-weight:bold;color:#888">#{</span>c<span style="font-weight:bold;color:#888">}</span></span><span style=""> -title </span><span style="background:#eee"><span style="font-weight:bold;color:#888">#{</span>c<span style="font-weight:bold;color:#888">}</span></span><span style=""> -e read &</span><span style="color:#710">"</span></span> }
|
979
|
+
</pre></p>
|
980
|
+
|
981
|
+
<p>Arrange all clients in a grid: <pre class="code">curr_view.arrange_in_grid
|
982
|
+
</pre></p>
|
983
|
+
|
984
|
+
<p>Arrange all clients in a diamond shape: <pre class="code">curr_view.arrange_in_diamond
|
985
|
+
</pre></p>
|
986
|
+
|
987
|
+
<p>Arrange all clients like LarsWM does: <pre class="code">curr_view.arrange_as_larswm
|
988
|
+
</pre></p>
|
989
|
+
|
990
|
+
<p>Close the terminals we launched earlier: <pre class="code">terms = curr_view.clients.select {|c| colors.include? c.label.read }
|
991
|
+
terms.each {|c| c.kill }
|
992
|
+
</pre></p></div>
|
993
|
+
</div> <div class="section">
|
994
|
+
<a name="Multiple-client-grouping"/><div class="nav" id="Multiple-client-grouping"><a title="Reverse jump to listing" href="#rev:Multiple-client-grouping">≡</a><a title="Jump to previous segment" href="#Automated-client-arrangement">△</a><a title="Jump to next segment" href="#Easy-column-manipulation">▽</a><a title="Jump to this segment" href="#Multiple-client-grouping">◎</a></div>
|
995
|
+
<h3 class="title">
|
996
|
+
3.3.2 Multiple client grouping
|
997
|
+
</h3>
|
998
|
+
<div class="content"><p>Launch a few terminals so that we have something to work with: <pre class="code">colors = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style=""> red green blue black orange brown gray navy gold </span><span style="color:#710">]</span></span>
|
999
|
+
colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">xterm -bg </span><span style="background:#eee"><span style="font-weight:bold;color:#888">#{</span>c<span style="font-weight:bold;color:#888">}</span></span><span style=""> -title </span><span style="background:#eee"><span style="font-weight:bold;color:#888">#{</span>c<span style="font-weight:bold;color:#888">}</span></span><span style=""> -e read &</span><span style="color:#710">"</span></span> }
|
1000
|
+
</pre></p>
|
1001
|
+
|
1002
|
+
<p>Add the red, green, and blue terminals into the “grouping”: <pre class="code">terms = curr_view.clients.select {|c| <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style="">red green blue</span><span style="color:#710">]</span></span>.include? c.label.read }
|
1003
|
+
terms.each {|c| c.group }
|
1004
|
+
</pre></p>
|
1005
|
+
|
1006
|
+
<p>You should now see a new button labelled as ”<notextile>@</notextile>” on the left-hand side of wmii’s bar, indicating that there is now a new view labelled ”<notextile>@</notextile>” in wmii. Let us inspect what clients this mysterious view contains: <pre class="code">v = <span style="color:#036;font-weight:bold">View</span>.new <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">@</span><span style="color:#710">"</span></span>
|
1007
|
+
puts v.clients.map {|c| c.label.read }
|
1008
|
+
</pre></p>
|
1009
|
+
|
1010
|
+
<p>Aha! The mysterious view contains the red, green, and blue clients we recently “grouped”. Thus, by adding a client to the “grouping”, we are simply tagging the client with the ”@” token.</p>
|
1011
|
+
|
1012
|
+
<p>Now that we have put some clients into the “grouping”, let us move all clients in the grouping to the floating area in the current view: <pre class="code">grouping.each {|c| c.send <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">toggle</span><span style="color:#710">"</span></span> }
|
1013
|
+
</pre></p>
|
1014
|
+
|
1015
|
+
<p>Neat! Let us bring them back into the managed area: <pre class="code">grouping.each {|c| c.send <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">toggle</span><span style="color:#710">"</span></span> }
|
1016
|
+
</pre></p>
|
1017
|
+
|
1018
|
+
<p>Close the terminals we launched earlier: <pre class="code">terms = curr_view.clients.select {|c| colors.include? c.label.read }
|
1019
|
+
terms.each {|c| c.kill }
|
1020
|
+
</pre></p>
|
1021
|
+
|
1022
|
+
<p>In summary, you can select multiple clients (by adding them to the “grouping”) and perform operations on them. This is useful when you want to do something with a group of clients but do not want to manually focus one, perform the action, focus the next one, and so on.</p>
|
1023
|
+
|
1024
|
+
<p>Another important aspect is that selected clients stay selected until they are unselected. This allows you to continue performing tasks on the selection without having to reselect the same clients after every operation.</p></div>
|
1025
|
+
</div> <div class="section">
|
1026
|
+
<a name="Easy-column-manipulation"/><div class="nav" id="Easy-column-manipulation"><a title="Reverse jump to listing" href="#rev:Easy-column-manipulation">≡</a><a title="Jump to previous segment" href="#Multiple-client-grouping">△</a><a title="Jump to next segment" href="#Easy-client-manipulation">▽</a><a title="Jump to this segment" href="#Easy-column-manipulation">◎</a></div>
|
1027
|
+
<h3 class="title">
|
1028
|
+
3.3.3 Easy column manipulation
|
1029
|
+
</h3>
|
1030
|
+
<div class="content"><p>Launch a few terminals so that we have something to work with: <pre class="code">colors = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style=""> red green blue black orange brown gray navy gold </span><span style="color:#710">]</span></span>
|
1031
|
+
colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">xterm -bg </span><span style="background:#eee"><span style="font-weight:bold;color:#888">#{</span>c<span style="font-weight:bold;color:#888">}</span></span><span style=""> -title </span><span style="background:#eee"><span style="font-weight:bold;color:#888">#{</span>c<span style="font-weight:bold;color:#888">}</span></span><span style=""> -e read &</span><span style="color:#710">"</span></span> }
|
1032
|
+
</pre></p>
|
1033
|
+
|
1034
|
+
<p>You can insert a group of clients to the top, bottom, or after the currently focused client of <em>any</em> column using Array-like methods.</p>
|
1035
|
+
|
1036
|
+
<p>Give each client its own column (one client per column): <pre class="code">curr_view.each_column {|c| c.length = <span style="color:#00D;font-weight:bold">1</span> }
|
1037
|
+
</pre></p>
|
1038
|
+
|
1039
|
+
<p>Put (at most) three clients in every column: <pre class="code">curr_view.each_column {|c| c.length = <span style="color:#00D;font-weight:bold">3</span> }
|
1040
|
+
</pre></p>
|
1041
|
+
|
1042
|
+
<p>Move the red, green, and blue clients into the floating area: <pre class="code">rgb = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style="">red green blue</span><span style="color:#710">]</span></span>
|
1043
|
+
terms = curr_view.clients.select {|c| rgb.include? c.label.read }
|
1044
|
+
curr_view.areas[<span style="color:#00D;font-weight:bold">0</span>].push terms
|
1045
|
+
</pre></p>
|
1046
|
+
|
1047
|
+
<p>Slurp all floating clients into the last column: <pre class="code">list = curr_view.areas
|
1048
|
+
a, b = list.first, list.last
|
1049
|
+
b.concat a
|
1050
|
+
</pre></p>
|
1051
|
+
|
1052
|
+
<p>Set the last column’s layout to stacking mode: <pre class="code">b.layout = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">stack</span><span style="color:#710">'</span></span>
|
1053
|
+
</pre></p>
|
1054
|
+
|
1055
|
+
<p>Move the red, green, and blue clients to the top of the second column: <pre class="code">curr_view.areas[<span style="color:#00D;font-weight:bold">2</span>].unshift terms
|
1056
|
+
</pre></p>
|
1057
|
+
|
1058
|
+
<p>Move the red, green, and blue clients to the bottom of the third column: <pre class="code">curr_view.areas[<span style="color:#00D;font-weight:bold">3</span>].push terms
|
1059
|
+
</pre></p>
|
1060
|
+
|
1061
|
+
<p>Close the terminals we launched earlier: <pre class="code">terms = curr_view.clients.select {|c| colors.include? c.label.read }
|
1062
|
+
terms.each {|c| c.kill }
|
1063
|
+
</pre></p></div>
|
1064
|
+
</div> <div class="section">
|
1065
|
+
<a name="Easy-client-manipulation"/><div class="nav" id="Easy-client-manipulation"><a title="Reverse jump to listing" href="#rev:Easy-client-manipulation">≡</a><a title="Jump to previous segment" href="#Easy-column-manipulation">△</a><a title="Jump to next segment" href="#Traversing-the-file-system">▽</a><a title="Jump to this segment" href="#Easy-client-manipulation">◎</a></div>
|
1066
|
+
<h3 class="title">
|
1067
|
+
3.3.4 Easy client manipulation
|
1068
|
+
</h3>
|
1069
|
+
<div class="content"><p>Launch a few terminals so that we have something to work with: <pre class="code">colors = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style=""> red green blue black orange brown gray navy gold </span><span style="color:#710">]</span></span>
|
1070
|
+
colors.each {|c| system <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">xterm -bg </span><span style="background:#eee"><span style="font-weight:bold;color:#888">#{</span>c<span style="font-weight:bold;color:#888">}</span></span><span style=""> -title </span><span style="background:#eee"><span style="font-weight:bold;color:#888">#{</span>c<span style="font-weight:bold;color:#888">}</span></span><span style=""> -e read &</span><span style="color:#710">"</span></span> }
|
1071
|
+
</pre></p>
|
1072
|
+
|
1073
|
+
<p>Obtain a reference to the red client: <pre class="code">red = curr_view.clients.find {|c| c.label.read == <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">red</span><span style="color:#710">"</span></span> }
|
1074
|
+
</pre></p>
|
1075
|
+
|
1076
|
+
<p>Show the red client’s current tags: <pre class="code">red.tags
|
1077
|
+
</pre></p>
|
1078
|
+
|
1079
|
+
<p>Add the “foo” and “bar” tags to the red client: <pre class="code">red.tag <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">foo</span><span style="color:#710">"</span></span>, <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">bar</span><span style="color:#710">"</span></span>
|
1080
|
+
</pre></p>
|
1081
|
+
|
1082
|
+
<p>Remove the “bar” tag from the red client: <pre class="code">red.untag <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">bar</span><span style="color:#710">"</span></span>
|
1083
|
+
</pre></p>
|
1084
|
+
|
1085
|
+
<p>Do complex operations on the red client’s tags: <pre class="code">red.with_tags { concat <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style="">a b c</span><span style="color:#710">]</span></span>; push <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">z</span><span style="color:#710">'</span></span>; delete <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">c</span><span style="color:#710">'</span></span> }
|
1086
|
+
</pre></p>
|
1087
|
+
|
1088
|
+
<p>Focus the next client after the red client: <pre class="code">red.next.focus ; curr_client == red.next <span style="color:#666">#=> true</span>
|
1089
|
+
</pre></p>
|
1090
|
+
|
1091
|
+
<p>Notice that by focusing a client, we make it the current client.</p>
|
1092
|
+
|
1093
|
+
<p>Focus the red client on a different view: <pre class="code">orig = curr_view
|
1094
|
+
v = red.views.last
|
1095
|
+
red.focus v
|
1096
|
+
</pre></p>
|
1097
|
+
|
1098
|
+
<p>Return to the original view: <pre class="code">orig.focus
|
1099
|
+
</pre></p>
|
1100
|
+
|
1101
|
+
<p>Send the red client to the last column: <pre class="code">red.send curr_view.areas.last
|
1102
|
+
</pre></p>
|
1103
|
+
|
1104
|
+
<p>Close the terminals we launched earlier: <pre class="code">terms = curr_view.clients.select {|c| colors.include? c.label.read }
|
1105
|
+
terms.each {|c| c.kill }
|
1106
|
+
</pre></p></div>
|
1107
|
+
</div> <div class="section">
|
1108
|
+
<a name="Traversing-the-file-system"/><div class="nav" id="Traversing-the-file-system"><a title="Reverse jump to listing" href="#rev:Traversing-the-file-system">≡</a><a title="Jump to previous segment" href="#Easy-client-manipulation">△</a><a title="Jump to next segment" href="#Available-commands">▽</a><a title="Jump to this segment" href="#Traversing-the-file-system">◎</a></div>
|
1109
|
+
<h3 class="title">
|
1110
|
+
3.3.5 Traversing the file system
|
1111
|
+
</h3>
|
1112
|
+
<div class="content"><p>Show the root node of wmii’s IXP file system: <pre class="code">fs
|
1113
|
+
</pre></p>
|
1114
|
+
|
1115
|
+
<p>Show the names of all files at the root level: <pre class="code">fs.entries
|
1116
|
+
</pre></p>
|
1117
|
+
|
1118
|
+
<p>Show the parent of the root node: <pre class="code">fs.parent
|
1119
|
+
</pre></p>
|
1120
|
+
|
1121
|
+
<p>Show the children of the root node: <pre class="code">fs.children
|
1122
|
+
</pre></p>
|
1123
|
+
|
1124
|
+
<p>Navigate into to the <tt>/lbar/</tt> directory: <pre class="code">n1 = fs.lbar
|
1125
|
+
n2 = fs[<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">lbar</span><span style="color:#710">'</span></span>]
|
1126
|
+
n1 == n2 <span style="color:#666">#=> true</span>
|
1127
|
+
left_bar = n1
|
1128
|
+
</pre></p>
|
1129
|
+
|
1130
|
+
<p>Notice that you can traverse the file system hierarchy by simply calling methods on node objects. Alternatively, you can traverse by specifying an arbitrary sub-path (relative path) using the <code class="code">[]</code> operator on a node.</p>
|
1131
|
+
|
1132
|
+
<p>Create a new temporary button: <pre class="code">b = left_bar.rumai_example <span style="color:#666"># path of new button</span>
|
1133
|
+
b.exist? <span style="color:#666">#=> false</span>
|
1134
|
+
b.create
|
1135
|
+
b.exist? <span style="color:#666">#=> true</span>
|
1136
|
+
</pre></p>
|
1137
|
+
|
1138
|
+
<p>You should now see an empty button on the left-hand side of the wmii bar.</p>
|
1139
|
+
|
1140
|
+
<p>Color the button black-on-white and label it as “hello world”: <pre class="code">content = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">#000000 #ffffff #000000 hello world</span><span style="color:#710">"</span></span>
|
1141
|
+
b.write content
|
1142
|
+
b.read == content <span style="color:#666">#=> true</span>
|
1143
|
+
</pre></p>
|
1144
|
+
|
1145
|
+
<p>Remove the temporary button: <pre class="code">b.remove
|
1146
|
+
b.exist? <span style="color:#666">#=> false</span>
|
1147
|
+
</pre></p></div>
|
1148
|
+
</div> <div class="section">
|
1149
|
+
<a name="Available-commands"/><div class="nav" id="Available-commands"><a title="Reverse jump to listing" href="#rev:Available-commands">≡</a><a title="Jump to previous segment" href="#Traversing-the-file-system">△</a><a title="Jump to next segment" href="#wmiirc">▽</a><a title="Jump to this segment" href="#Available-commands">◎</a></div>
|
1150
|
+
<h3 class="title">
|
1151
|
+
3.3.6 Available commands
|
1152
|
+
</h3>
|
1153
|
+
<div class="content"><p>Refer to the <code class="code"><span style="color:#036;font-weight:bold">Rumai</span></code> module in the <a href='api/index.html'>API documentation</a> for a complete list of commands (method calls, really) and their documentation.</p></div>
|
1154
|
+
</div></p></div>
|
1155
|
+
</div> <div class="section">
|
1156
|
+
<a name="wmiirc"/><div class="nav" id="wmiirc"><a title="Reverse jump to listing" href="#rev:wmiirc">≡</a><a title="Jump to previous segment" href="#Available-commands">△</a><a title="Jump to next segment" href="#History">▽</a><a title="Jump to this segment" href="#wmiirc">◎</a></div>
|
1157
|
+
<h2 class="title">
|
1158
|
+
3.4 Scripting your wmiirc
|
1159
|
+
</h2>
|
1160
|
+
<div class="content"><p>One important application of <strong>Rumai</strong> is the support of Ruby-based <tt>wmiirc</tt> configuration files. For a solid example of such application, take a look at <a href='http://github.com/sunaku/wmiirc/tree/master'>my personal <tt>wmiirc</tt></a>.</p></div>
|
1161
|
+
</div></p></div>
|
1162
|
+
</div><div class="chapter">
|
1163
|
+
<a name="History"/><div class="nav" id="History"><a title="Reverse jump to listing" href="#rev:History">≡</a><a title="Jump to previous segment" href="#wmiirc">△</a><a title="Jump to next segment" href="#Version-2.0.1-2009-01-20">▽</a><a title="Jump to this segment" href="#History">◎</a></div>
|
1164
|
+
<h1 class="title">
|
1165
|
+
Chapter 4
|
1166
|
+
<br/>
|
1167
|
+
<big>History</big>
|
1168
|
+
</h1>
|
1169
|
+
<div class="content"><p><p><div class="section">
|
1170
|
+
<a name="Version-2.0.1-2009-01-20"/><div class="nav" id="Version-2.0.1-2009-01-20"><a title="Reverse jump to listing" href="#rev:Version-2.0.1-2009-01-20">≡</a><a title="Jump to previous segment" href="#History">△</a><a title="Jump to next segment" href="#Bug-fixes">▽</a><a title="Jump to this segment" href="#Version-2.0.1-2009-01-20">◎</a></div>
|
1171
|
+
<h2 class="title">
|
1172
|
+
4.1 Version 2.0.1 (2009-01-20)
|
1173
|
+
</h2>
|
1174
|
+
<div class="content"><p>This release simplifies project administrivia using <a href='http://snk.tuxfamily.org/lib/inochi'>Inochi</a>, improves the unit tests, and revises the user manual.</p>
|
1175
|
+
|
1176
|
+
<p><div class="paragraph">
|
1177
|
+
<a name="Bug-fixes"/><div class="nav" id="Bug-fixes"><a title="Reverse jump to listing" href="#rev:Bug-fixes">≡</a><a title="Jump to previous segment" href="#Version-2.0.1-2009-01-20">△</a><a title="Jump to next segment" href="#Housekeeping">▽</a><a title="Jump to this segment" href="#Bug-fixes">◎</a></div>
|
1178
|
+
<p class="title">Bug fixes</p>
|
1179
|
+
<div class="content"><ul>
|
1180
|
+
<li>The <tt>lib/rumai/ixp/message.rb</tt> library’s unit test would fail if <tt>/rbar/status</tt> did not already exist in wmii.</li>
|
1181
|
+
</ul></div>
|
1182
|
+
</div> <div class="paragraph">
|
1183
|
+
<a name="Housekeeping"/><div class="nav" id="Housekeeping"><a title="Reverse jump to listing" href="#rev:Housekeeping">≡</a><a title="Jump to previous segment" href="#Bug-fixes">△</a>▽<a title="Jump to this segment" href="#Housekeeping">◎</a></div>
|
1184
|
+
<p class="title">Housekeeping</p>
|
1185
|
+
<div class="content"><ul>
|
1186
|
+
<li>
|
1187
|
+
<p>Store IXP socket address in <code class="code"><span style="color:#036;font-weight:bold">Rumai</span>::<span style="color:#036;font-weight:bold">IXP_SOCK_ADDR</span></code>.</p>
|
1188
|
+
</li>
|
1189
|
+
|
1190
|
+
<li>
|
1191
|
+
<p>Added missing test cases for (TR)create and (TR)remove messages in the unit test for the <tt>lib/rumai/ixp/message.rb</tt> library.</p>
|
1192
|
+
</li>
|
1193
|
+
</ul></div>
|
1194
|
+
</div></p></div>
|
1195
|
+
</div></p></p></div>
|
1196
|
+
</div></div>
|
1197
|
+
|
1198
|
+
|
1199
|
+
<br style="display: none"/>
|
1200
|
+
<hr style="display: none"/>
|
1201
|
+
<br style="display: none"/>
|
1202
|
+
|
1203
|
+
|
1204
|
+
<div id="footer">
|
1205
|
+
|
1206
|
+
Generated by <a href="http://snk.tuxfamily.org/lib/erbook/">ERBook 6.0.1</a> on Sun Jan 25 11:09:42 -0800 2009.
|
1207
|
+
|
1208
|
+
<div id="footer-credits">
|
1209
|
+
<p>
|
1210
|
+
<img class="icon" alt="caution" src="&icon_caution;"/>
|
1211
|
+
<img class="icon" alt="tip" src="&icon_tip;"/>
|
1212
|
+
<img class="icon" alt="important" src="&icon_important;"/>
|
1213
|
+
<img class="icon" alt="note" src="&icon_note;"/>
|
1214
|
+
<img class="icon" alt="warning" src="&icon_warning;"/>
|
1215
|
+
<img class="icon" alt="quote" src="&icon_quote;"/>
|
1216
|
+
|
1217
|
+
<br/>
|
1218
|
+
|
1219
|
+
The icons shown above are © 2005 <a href="http://tango.freedesktop.org">Tango Desktop Project</a>. They are part of the <a href="http://tango.freedesktop.org/Tango_Icon_Library">Tango Icon Theme</a> set, which is distributed under the <a href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License Agreement</a>.
|
1220
|
+
</p>
|
1221
|
+
|
1222
|
+
<p>
|
1223
|
+
<img class="icon" alt="link" src="&icon_link;"/>
|
1224
|
+
|
1225
|
+
<br/>
|
1226
|
+
|
1227
|
+
The icons shown above are © 2007 <a href="https://www.ohloh.net/projects/mediawiki/contributors">MediaWiki contributors</a>. They are part of the <a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a> software, which is distributed under the <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General Public License, version 2</a>.
|
1228
|
+
</p>
|
1229
|
+
</div>
|
1230
|
+
|
1231
|
+
</div>
|
1232
|
+
|
1233
|
+
</div>
|
1234
|
+
</body>
|
1235
|
+
</html>
|