Project

General

Profile

unexist.dev

Assorted tidbits and projects

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)}}