rumai 3.2.2 → 3.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. data/CREDITS +27 -5
  2. data/bin/rumai +12 -37
  3. data/lib/rumai/inochi.rb +8 -17
  4. data/lib/rumai/irb.rb +21 -0
  5. data/man.html +914 -0
  6. data/man/man1/rumai.1.gz +0 -0
  7. metadata +19 -94
  8. data/HISTORY +0 -350
  9. data/INSTALL +0 -33
  10. data/MANUAL +0 -26
  11. data/README +0 -92
  12. data/USAGE +0 -297
  13. data/doc/ann.xml +0 -61
  14. data/doc/api/IO.html +0 -119
  15. data/doc/api/Integer.html +0 -171
  16. data/doc/api/Rumai.html +0 -1540
  17. data/doc/api/Rumai/Area.html +0 -1485
  18. data/doc/api/Rumai/Chain.html +0 -301
  19. data/doc/api/Rumai/Client.html +0 -2451
  20. data/doc/api/Rumai/ClientContainer.html +0 -301
  21. data/doc/api/Rumai/ExportInstanceMethods.html +0 -103
  22. data/doc/api/Rumai/IXP.html +0 -94
  23. data/doc/api/Rumai/IXP/Agent.html +0 -1625
  24. data/doc/api/Rumai/IXP/Agent/FidStream.html +0 -959
  25. data/doc/api/Rumai/IXP/Agent/RangedPool.html +0 -381
  26. data/doc/api/Rumai/IXP/Error.html +0 -110
  27. data/doc/api/Rumai/IXP/Fcall.html +0 -503
  28. data/doc/api/Rumai/IXP/Qid.html +0 -207
  29. data/doc/api/Rumai/IXP/Rattach.html +0 -148
  30. data/doc/api/Rumai/IXP/Rauth.html +0 -148
  31. data/doc/api/Rumai/IXP/Rclunk.html +0 -148
  32. data/doc/api/Rumai/IXP/Rcreate.html +0 -148
  33. data/doc/api/Rumai/IXP/Rerror.html +0 -148
  34. data/doc/api/Rumai/IXP/Rflush.html +0 -148
  35. data/doc/api/Rumai/IXP/Ropen.html +0 -148
  36. data/doc/api/Rumai/IXP/Rread.html +0 -148
  37. data/doc/api/Rumai/IXP/Rremove.html +0 -148
  38. data/doc/api/Rumai/IXP/Rstat.html +0 -148
  39. data/doc/api/Rumai/IXP/Rversion.html +0 -148
  40. data/doc/api/Rumai/IXP/Rwalk.html +0 -148
  41. data/doc/api/Rumai/IXP/Rwrite.html +0 -148
  42. data/doc/api/Rumai/IXP/Rwstat.html +0 -148
  43. data/doc/api/Rumai/IXP/Stat.html +0 -335
  44. data/doc/api/Rumai/IXP/Stream.html +0 -194
  45. data/doc/api/Rumai/IXP/Struct.html +0 -586
  46. data/doc/api/Rumai/IXP/Struct/ClassField.html +0 -242
  47. data/doc/api/Rumai/IXP/Struct/Field.html +0 -782
  48. data/doc/api/Rumai/IXP/Struct/Field/CounteeField.html +0 -227
  49. data/doc/api/Rumai/IXP/Struct/Field/CounterField.html +0 -153
  50. data/doc/api/Rumai/IXP/Struct/Integer8Field.html +0 -242
  51. data/doc/api/Rumai/IXP/Struct/StringField.html +0 -206
  52. data/doc/api/Rumai/IXP/Tattach.html +0 -148
  53. data/doc/api/Rumai/IXP/Tauth.html +0 -148
  54. data/doc/api/Rumai/IXP/Tclunk.html +0 -148
  55. data/doc/api/Rumai/IXP/Tcreate.html +0 -148
  56. data/doc/api/Rumai/IXP/Terror.html +0 -231
  57. data/doc/api/Rumai/IXP/Tflush.html +0 -148
  58. data/doc/api/Rumai/IXP/Topen.html +0 -240
  59. data/doc/api/Rumai/IXP/Tread.html +0 -148
  60. data/doc/api/Rumai/IXP/Tremove.html +0 -148
  61. data/doc/api/Rumai/IXP/Tstat.html +0 -148
  62. data/doc/api/Rumai/IXP/Tversion.html +0 -162
  63. data/doc/api/Rumai/IXP/Twalk.html +0 -148
  64. data/doc/api/Rumai/IXP/Twrite.html +0 -148
  65. data/doc/api/Rumai/IXP/Twstat.html +0 -148
  66. data/doc/api/Rumai/Node.html +0 -1406
  67. data/doc/api/Rumai/View.html +0 -1587
  68. data/doc/api/Rumai/WidgetImpl.html +0 -333
  69. data/doc/api/Rumai/WidgetNode.html +0 -246
  70. data/doc/api/String.html +0 -258
  71. data/doc/api/StringIO.html +0 -119
  72. data/doc/api/Time.html +0 -247
  73. data/doc/api/_index.html +0 -581
  74. data/doc/api/class_list.html +0 -36
  75. data/doc/api/css/common.css +0 -1
  76. data/doc/api/css/full_list.css +0 -50
  77. data/doc/api/css/style.css +0 -273
  78. data/doc/api/file.LICENSE.html +0 -73
  79. data/doc/api/file_list.html +0 -38
  80. data/doc/api/frames.html +0 -13
  81. data/doc/api/index.html +0 -73
  82. data/doc/api/js/app.js +0 -111
  83. data/doc/api/js/full_list.js +0 -117
  84. data/doc/api/js/jquery.js +0 -19
  85. data/doc/api/method_list.html +0 -1491
  86. data/doc/api/top-level-namespace.html +0 -89
  87. data/doc/index.html +0 -2655
  88. data/inochi.opts +0 -31
  89. data/test/rumai/ixp/message_test.rb +0 -245
  90. data/test/runner +0 -25
  91. data/test/test_helper.rb +0 -1
data/INSTALL DELETED
@@ -1,33 +0,0 @@
1
- %# #%
2
- %# You can read this document in its full glory by #%
3
- %# opening ./doc/index.html in your favorite Web browser. #%
4
- %# #%
5
-
6
- %#----------------------------------------------------------------------------
7
- %| section "Prerequisites"
8
- %#----------------------------------------------------------------------------
9
-
10
- * [Ruby](http://ruby-lang.org) 1.8.6 or newer.
11
-
12
- * [RubyGems](http://rubygems.org) 1.3.6 or newer.
13
-
14
- * [wmii](http://wmii.suckless.org) 3.6 or newer.
15
-
16
- %#----------------------------------------------------------------------------
17
- %| section "Installing"
18
- %#----------------------------------------------------------------------------
19
-
20
- %|command! "gem install rumai"
21
-
22
- %#----------------------------------------------------------------------------
23
- %| section "Upgrading"
24
- %#----------------------------------------------------------------------------
25
-
26
- %|command! "gem update rumai"
27
-
28
- %#----------------------------------------------------------------------------
29
- %| section "Uninstalling"
30
- %#----------------------------------------------------------------------------
31
-
32
- %|command! "gem uninstall rumai"
33
-
data/MANUAL DELETED
@@ -1,26 +0,0 @@
1
- %# #%
2
- %# You can read this document in its full glory by #%
3
- %# opening ./doc/index.html in your favorite Web browser. #%
4
- %# #%
5
-
6
- % api_reference_url = 'api/index.html'
7
- % source_code_tool = '[Git](http://git-scm.com)'
8
- % source_code_url = 'http://github.com/sunaku/rumai'
9
- % issue_tracker_url = 'http://github.com/sunaku/rumai/issues'
10
- % ruby_url = 'http://ruby-lang.org'
11
- % wmii_url = 'http://wmii.suckless.org'
12
- % wmii_ixp_url = 'http://libs.suckless.org/libixp'
13
- % p9p_url = 'http://cm.bell-labs.com/magic/man2html/5/intro'
14
-
15
- %|part "Welcome"
16
- %+ "README"
17
-
18
- %|part "Setup"
19
- %+ "INSTALL"
20
-
21
- %|part "Usage"
22
- %+ "USAGE"
23
-
24
- %|part "History"
25
- %|project_history
26
- %+ "HISTORY"
data/README DELETED
@@ -1,92 +0,0 @@
1
- %# #%
2
- %# You can read this document in its full glory by #%
3
- %# opening ./doc/index.html in your favorite Web browser. #%
4
- %# #%
5
-
6
- %#----------------------------------------------------------------------------
7
- %| project_summary
8
- %#----------------------------------------------------------------------------
9
-
10
- Rumai is a [Ruby](<%= ruby_url %>) interface to
11
- the [wmii](<%= wmii_url %>) window manager.
12
-
13
- %#----------------------------------------------------------------------------
14
- %| paragraph "Resources"
15
- %#----------------------------------------------------------------------------
16
-
17
- * <%= xref "History", "What's new?" %> ---
18
- release notes and project history.
19
-
20
- * [Issue tracker](<%= issue_tracker_url %>) ---
21
- report bugs, request features, or ask for help.
22
-
23
- * [Source code](<%= source_code_url %>) ---
24
- browse online or obtain using <%= source_code_tool %>
25
-
26
- * [API reference](<%= api_reference_url %>) ---
27
- documentation for source code.
28
-
29
- * [Project home](<%= Rumai::WEBSITE %>) ---
30
- the official project home page.
31
-
32
- %#----------------------------------------------------------------------------
33
- %| section "Features"
34
- %#----------------------------------------------------------------------------
35
-
36
- Rumai is exciting because:
37
-
38
- * It excels at dynamic arrangement of clients, columns, views, and tags.
39
-
40
- * It provides an <%= xref 'shell', 'interactive shell' %> for live
41
- entertainment and experimentation.
42
-
43
- * It provides a pure Ruby client for the [9P2000 protocol](<%= p9p_url %>)
44
- used by wmii's [IXP file-system interface](<%= wmii_ixp_url %>).
45
-
46
- * It powers [many Ruby-based wmii configurations][2], including [my own][1].
47
-
48
- [1]: http://github.com/sunaku/wmiirc/
49
- [2]: http://github.com/sunaku/wmiirc/network
50
-
51
- %#----------------------------------------------------------------------------
52
- %| section "Etymology"
53
- %#----------------------------------------------------------------------------
54
-
55
- The word "wmii" is difficult to pronounce because it is an abbreviation, not
56
- an acronym. If we were to treat it as an acronym, the closest pronounciation
57
- would be, in my mind, something like "vim-eye".
58
-
59
- Since this is a Ruby library, I added a "roo" and worked it through:
60
-
61
- * vim-eye
62
- * roo-vim-eye
63
- * roovm-eye
64
-
65
- And thus we get "Rumai".
66
-
67
- %#----------------------------------------------------------------------------
68
- %| section "License"
69
- %#----------------------------------------------------------------------------
70
-
71
- %# See the file named "LICENSE" for details.
72
- %< "LICENSE"
73
-
74
- %#----------------------------------------------------------------------------
75
- %| section "Credits"
76
- %#----------------------------------------------------------------------------
77
-
78
- Rumai is made possible by <%= xref "History",
79
- "contributions" %> from users like you:
80
-
81
- %# See the file named "CREDITS" for details.
82
- %< "CREDITS"
83
-
84
- %#----------------------------------------------------------------------------
85
- %| section "Related works"
86
- %#----------------------------------------------------------------------------
87
-
88
- * [r9p](http://libs.suckless.org/r9p)
89
- * [Rii](http://rubyforge.org/projects/rii/)
90
- * [Ruby-IXP](http://home.gna.org/rubyixp/)
91
- * [ruby-wmii](http://eigenclass.org/hiki.rb?wmii+ruby)
92
-
data/USAGE DELETED
@@ -1,297 +0,0 @@
1
- %# #%
2
- %# You can read this document in its full glory by #%
3
- %# opening ./doc/index.html in your favorite Web browser. #%
4
- %# #%
5
-
6
- %#----------------------------------------------------------------------------
7
- %| section "Interactive shell", "shell"
8
- %#----------------------------------------------------------------------------
9
-
10
- %|command! "rumai"
11
-
12
- This command starts an IRB (Interactive Ruby Shell) session, which places
13
- you a command prompt like this:
14
-
15
- irb(Rumai):001:0>
16
-
17
- The <tt>irb(Rumai)</tt> token in the command prompt indicates that
18
- commands will be evaluated _inside_ the `Rumai` module. As a result, you
19
- can omit the "Rumai" prefix from your commands if you wish.
20
-
21
- For example, to get the current client object, you can type `curr_client`
22
- instead of having to type `Rumai.curr_client` at the prompt. Both
23
- commands achieve the same effect.
24
-
25
- The next thing to note is that **TAB completion** is enabled by default.
26
- So you can type part of a command and press the TAB key to see a list of
27
- possible completions.
28
-
29
- %#----------------------------------------------------------------------------
30
- %| section "Live demonstration", "Tutorial"
31
- %#----------------------------------------------------------------------------
32
-
33
- Now that you know <%= xref "shell", "how to start the interactive shell" %>,
34
- let us walk through a (hopefully) quick demonstration that highlights the
35
- main features of Rumai. You can follow along by copying & pasting the
36
- presented commands into the interactive shell.
37
-
38
- %|open_terms = lambda do
39
- Launch a few terminals so that we have something to work with:
40
-
41
- %|code :ruby
42
- colors = %w[ red green blue black orange brown gray navy gold ]
43
- colors.each {|c| system "xterm -bg #{c} -title #{c} -e sh -c read &" }
44
-
45
- %|close_terms = lambda do
46
- Close the terminals we launched earlier:
47
-
48
- %|code :ruby
49
- terms = curr_view.clients.select {|c| colors.include? c.label.read }
50
- terms.each {|c| c.kill }
51
-
52
- %#--------------------------------------------------------------------------
53
- %| section "Automated client arrangement"
54
- %#--------------------------------------------------------------------------
55
-
56
- % open_terms.call
57
-
58
- Arrange all clients in a grid:
59
-
60
- %|code :ruby
61
- curr_view.arrange_in_grid
62
-
63
- Arrange all clients in a diamond shape:
64
-
65
- %|code :ruby
66
- curr_view.arrange_in_diamond
67
-
68
- Arrange all clients like LarsWM does:
69
-
70
- %|code :ruby
71
- curr_view.arrange_as_larswm
72
-
73
- % close_terms.call
74
-
75
- %#--------------------------------------------------------------------------
76
- %| section "Multiple client grouping"
77
- %#--------------------------------------------------------------------------
78
-
79
- % open_terms.call
80
-
81
- Add the red, green, and blue terminals into the "grouping":
82
-
83
- %|code :ruby
84
- terms = curr_view.clients.select do |c|
85
- %%w[red green blue].include? c.label.read
86
- end
87
- terms.each {|c| c.group }
88
-
89
- You should now see a new button labelled as "@" on the left-hand side of
90
- wmii's bar, indicating that there is now a new view labelled "@" in wmii.
91
- Let us inspect what clients this mysterious view contains:
92
-
93
- %|code :ruby
94
- v = View.new "@"
95
- puts v.clients.map {|c| c.label.read }
96
-
97
- Aha! The mysterious view contains the red, green, and blue clients we
98
- recently "grouped". Thus, by adding a client to the "grouping", we are
99
- simply tagging the client with the "@" token.
100
-
101
- Now that we have put some clients into the "grouping", let us move all
102
- clients in the grouping to the floating area in the current view:
103
-
104
- %|code :ruby
105
- grouping.each {|c| c.send "toggle" }
106
-
107
- Neat! Let us bring them back into the managed area:
108
-
109
- %|code :ruby
110
- grouping.each {|c| c.send "toggle" }
111
-
112
- % close_terms.call
113
-
114
- In summary, you can select multiple clients (by adding them to the
115
- "grouping") and perform operations on them. This is useful when you want
116
- to do something with a group of clients but do not want to manually focus
117
- one, perform the action, focus the next one, and so on.
118
-
119
- Another important aspect is that selected clients stay selected until they
120
- are unselected. This allows you to continue performing tasks on the
121
- selection without having to reselect the same clients after every
122
- operation.
123
-
124
- %#--------------------------------------------------------------------------
125
- %| section "Easy column manipulation"
126
- %#--------------------------------------------------------------------------
127
-
128
- % open_terms.call
129
-
130
- You can insert a group of clients to the top, bottom, or after the
131
- currently focused client of _any_ column using Array-like methods.
132
-
133
- Give each client its own column (one client per column):
134
-
135
- %|code :ruby
136
- curr_view.each_column {|c| c.length = 1 }
137
-
138
- Put (at most) three clients in every column:
139
-
140
- %|code :ruby
141
- curr_view.each_column {|c| c.length = 3 }
142
-
143
- Move the red, green, and blue clients into the floating area:
144
-
145
- %|code :ruby
146
- rgb = %w[red green blue]
147
- terms = curr_view.clients.select {|c| rgb.include? c.label.read }
148
- curr_view.areas[0].push terms
149
-
150
- Slurp all floating clients into the last column:
151
-
152
- %|code :ruby
153
- list = curr_view.areas
154
- a, b = list.first, list.last
155
- b.concat a
156
-
157
- Set the last column's layout to stacking mode:
158
-
159
- %|code :ruby
160
- b.layout = 'stack'
161
-
162
- Move the red, green, and blue clients to the top of the second column:
163
-
164
- %|code :ruby
165
- curr_view.areas[2].unshift terms
166
-
167
- Move the red, green, and blue clients to the bottom of the third column:
168
-
169
- %|code :ruby
170
- curr_view.areas[3].push terms
171
-
172
- % close_terms.call
173
-
174
- %#--------------------------------------------------------------------------
175
- %| section "Easy client manipulation"
176
- %#--------------------------------------------------------------------------
177
-
178
- % open_terms.call
179
-
180
- Obtain a reference to the red client:
181
-
182
- %|code :ruby
183
- red = curr_view.clients.find {|c| c.label.read == "red" }
184
-
185
- Show the red client's current tags:
186
-
187
- %|code :ruby
188
- red.tags
189
-
190
- Add the "foo" and "bar" tags to the red client:
191
-
192
- %|code :ruby
193
- red.tag "foo", "bar"
194
-
195
- Remove the "bar" tag from the red client:
196
-
197
- %|code :ruby
198
- red.untag "bar"
199
-
200
- Do complex operations on the red client's tags:
201
-
202
- %|code :ruby
203
- red.with_tags { concat %w[a b c]; push 'z'; delete 'c' }
204
-
205
- Focus the next client after the red client:
206
-
207
- %|code :ruby
208
- red.next.focus
209
- curr_client == red.next #=> true
210
-
211
- Notice that by focusing a client, we make it the current client.
212
-
213
- Focus the red client on a different view:
214
-
215
- %|code :ruby
216
- orig = curr_view
217
- v = red.views.last
218
- red.focus v
219
-
220
- Return to the original view:
221
-
222
- %|code :ruby
223
- orig.focus
224
-
225
- Send the red client to the last column:
226
-
227
- %|code :ruby
228
- red.send curr_view.areas.last
229
-
230
- % close_terms.call
231
-
232
- %#--------------------------------------------------------------------------
233
- %| section "Traversing the file system"
234
- %#--------------------------------------------------------------------------
235
-
236
- Show the root node of wmii's IXP file system:
237
-
238
- %|code :ruby
239
- fs
240
-
241
- Show the names of all files at the root level:
242
-
243
- %|code :ruby
244
- fs.entries
245
-
246
- Show the parent of the root node:
247
-
248
- %|code :ruby
249
- fs.parent
250
-
251
- Show the children of the root node:
252
-
253
- %|code :ruby
254
- fs.children
255
-
256
- Navigate into to the <tt>/lbar/</tt> directory:
257
-
258
- %|code :ruby
259
- n1 = fs.lbar
260
- n2 = fs['lbar']
261
- n1 == n2 #=> true
262
- left_bar = n1
263
-
264
- Notice that you can traverse the file system hierarchy by simply calling
265
- methods on node objects. Alternatively, you can traverse by specifying an
266
- arbitrary sub-path (relative path) using the `[]` operator on a node.
267
-
268
- Create a new temporary button:
269
-
270
- %|code :ruby
271
- b = left_bar.rumai_example # path of new button
272
- b.exist? #=> false
273
- b.create
274
- b.exist? #=> true
275
-
276
- You should now see an empty button on the left-hand side of the wmii bar.
277
-
278
- Color the button black-on-white and label it as "hello world":
279
-
280
- %|code :ruby
281
- content = "#000000 #ffffff #000000 hello world"
282
- b.write content
283
- b.read == content #=> true
284
-
285
- Remove the temporary button:
286
-
287
- %|code :ruby
288
- b.remove
289
- b.exist? #=> false
290
-
291
- %#--------------------------------------------------------------------------
292
- %| section "More commands"
293
- %#--------------------------------------------------------------------------
294
-
295
- See the `Rumai` module in the [API documentation](api/index.html) for a
296
- complete list of commands (method calls really) and their documentation.
297
-