Subtlext¶
Subtlext is an extension that brings the power of subtler to Ruby.
A compending list of the classes with it's functionality can be found in rdoc and informations about the available unit tests in the development section.
Examples¶
This time a more complex example to show what you can do with this extension:
require("subtle/subtlext")
puts "subtle %s on %s" %
[Subtlext::VERSION, Subtlext::Subtle.running? ?
Subtlext::Subtle.display : "none"]
puts "Tags: %s" % [Subtlext::Tag[:all].join(", ")]
# Views
views = []
Subtlext::View[:all].each do |v|
views.push("%s (%s)" % [v.current? ? "[#{v}]" : v, v.tags.join(", ")])
end
puts "Views: %s" % [views.join(", ")]
# Clients
clients = []
Subtlext::Client[:all].each do |c|
clients.push("%s (%s)" % [c, c.tags.join(", ")])
end
puts "Clients: %s" % [clients.join(", ")]
Output:
subtle 0.8.1684 on :0.0
Tags: default, test, void, terms, browser, editor, stick, float, eight,
two, seven, one, bashrun, sakura, python
Views: terms (terms, eight, two), [www] (browser, eight, two),
void (default, void, eight, two), editor (test, editor, seven, one)
Clients: urxvt2 (two, one), urxvt1 (eight, seven),
subtle - Subtlext - Redmine - Vimperator (browser),
Xephyr on :2.0 (ctrl+shift grabs mouse and keyboard) (test, float),
event.c (~/projects/subtle/src/subtle) - GVIM (editor)
More examples are in the tarball in dist/scripts. Currently there is the example from above (example.rb), an example for a web interface with Sinatra (web.rb) and an interface with Ruby-Gtk (gtk.rb).
{{tocnavi(subtle,Sublets,Quickstart,Grabs)}}