Project

General

Profile

unexist.dev

Assorted tidbits and projects

Subtlext » History » Version 26

Version 25 (Anonymous, 10/19/2008 03:44 PM) → Version 26/95 (Anonymous, 10/19/2008 03:48 PM)

h1. Subtlext\015\012\015\012{{>toc}}\015\012\015\012h2. Subtle\015\012\015\012h3. new(display, debug)\015\012\015\012Create a new [[Subtle|subtle]] object and open connection to X server\015\012<pre><code class="ruby">\015\012subtle = Subtle.new(":0")\015\012=> #<Subtle:xxx>\015\012\015\012subtle = Subtle.new(":0", true)\015\012<DEBUG> src/subtlext/subtlext.c:165: Connection opened (:2)\015\012=> #<Subtle:xxx>\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. version()\015\012\015\012Get the version of [[Subtlext|subtlext]]\015\012<pre><code class="ruby">\015\012puts subtle.version \015\012=> 0.8\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. display()\015\012\015\012Get the display name\015\012<pre><code class="ruby">\015\012subtle.display\015\012=> :0\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. views()\015\012\015\012Get array of defined views\015\012<pre><code class="ruby">\015\012subtle.views\015\012=> [#<View:xxx>, #<View:xxx>]\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. tags()\015\012\015\012Get array of defined tags\015\012<pre><code class="ruby">\015\012subtle.tags\015\012=> [#<Tag:xxx>, #<Tag:xxx>]\015\012\015\012subtle.tags\015\012=> nil\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. clients()\015\012\015\012Get array of clients\015\012<pre><code class="ruby">\015\012subtle.clients\015\012=> [#<Client:xxx>, #<Client:xxx>]\015\012\015\012subtle.clients\015\012=> nil\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. find_view(name)\015\012\015\012Find view by given name\015\012<pre><code class="ruby">\015\012subtle.find_view("subtle")\015\012=> #<View:xxx>\015\012\015\012subtle.find_view("subtle")\015\012=> nil\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. find_tag(name)\015\012\015\012Find tag by given name\015\012<pre><code class="ruby">\015\012subtle.find_tag("subtle")\015\012=> #<Tag:xxx>\015\012\015\012subtle.find_tag("subtle")\015\012=> nil\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. find_client(name)\015\012\015\012Find tag by given name\015\012<pre><code class="ruby">\015\012subtle.find_client("subtle")\015\012=> #<Client:xxx>\015\012\015\012subtle.find_client("subtle")\015\012=> nil\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. add_tag(name)\015\012\015\012Add tag with given name or tag object\015\012<pre><code class="ruby">\015\012subtle.add_tag("subtle")\015\012=> #<Tag:xxx>\015\012\015\012subtle.add_tag(Tag.new("subtle"))\015\012=> #<Tag:xxx>\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. del_tag(name)\015\012\015\012Delete tag by given name or tag object\015\012<pre><code class="ruby">\015\012subtle.del_tag("subtle")\015\012=> nil\015\012\015\012subtle.del_tag(subtle.find_tag("subtle"))\015\012=> nil\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. add_view(name)\015\012\015\012Add view with given name or view object\015\012<pre><code class="ruby">\015\012subtle.add_view("subtle")\015\012=> #<View:xxx>\015\012\015\012subtle.add_view(View.new("subtle"))\015\012=> #<View:xxx>\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. del_view(name)\015\012\015\012Delete view by given name or view object\015\012<pre><code class="ruby">\015\012subtle.del_view("subtle")\015\012=> nil\015\012\015\012subtle.del_view(subtle.find_view("subtle"))\015\012=> nil\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. current_view()\015\012\015\012Get current active view\015\012<pre><code class="ruby">\015\012subtle.current_view\015\012=> #<View:xxx>\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. current_client()\015\012\015\012Get current active client\015\012<pre><code class="ruby">\015\012subtle.current_client\015\012=> #<Client:xxx>\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. running?()\015\012\015\012Check if [[Subtle|subtle]] is running\015\012<pre><code class="ruby">\015\012subtle.running?\015\012=> true\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h2. View\015\012\015\012h3. new(name)\015\012\015\012Create a new view object\015\012<pre><code class="ruby">\015\012view = View.new("subtle")\015\012=> #<View:xxx>\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. add_tag(name)\015\012\015\012Add tag with given name or tag object\015\012<pre><code class="ruby">\015\012view.add_tag("subtle")\015\012=> #<Tag:xxx>\015\012\015\012view.add_tag(Tag.new("subtle"))\015\012=> #<Tag:xxx>\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. del_tag(name)\015\012\015\012Delete tag by given name or tag object\015\012<pre><code class="ruby">\015\012view.del_tag("subtle")\015\012=> nil\015\012\015\012view.del_tag(subtle.find_tag("subtle"))\015\012=> nil\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. tags\015\012\015\012Get array of defined tags\015\012<pre><code class="ruby">\015\012view.tags\015\012=> [#<Tag:xxx>, #<Tag:xxx>]\015\012\015\012view.tags\015\012=> nil\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. current?\015\012\015\012Check if this view is the current active view\015\012<pre><code class="ruby">\015\012view.current?\015\012=> true\015\012\015\012view.current?\015\012=> false\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. to_s\015\012\015\012Convert view object to string\015\012<pre><code class="ruby">\015\012puts view\015\012=> "subtle"\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h2. Tag\015\012\015\012h3. new(name)\015\012\015\012Create new tag object\015\012<pre><code class="ruby">\015\012tag = Tag.new("subtle")\015\012=> #<Tag:xxx>\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. to_s\015\012\015\012Convert tag object to string\015\012<pre><code class="ruby">\015\012puts tag\015\012=> "subtle"\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h2. Client\015\012\015\012h3. add_tag(name)\015\012\015\012Add tag with given name or tag object\015\012<pre><code class="ruby">\015\012client.add_tag("subtle")\015\012=> #<Tag:xxx>\015\012\015\012client.add_tag(Tag.new("subtle"))\015\012=> #<Tag:xxx>\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. del_tag(name)\015\012\015\012Delete tag by given name or tag object\015\012<pre><code class="ruby">\015\012client.del_tag("subtle")\015\012=> nil\015\012\015\012client.del_tag(subtle.find_tag("subtle"))\015\012=> nil\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. focus\015\012\015\012Set focus to client\015\012<pre><code class="ruby">\015\012client.focus\015\012=> nil\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. focus?\015\012\015\012Check if client is focussed\015\012<pre><code class="ruby">\015\012client.focus?\015\012=> true\015\012\015\012client.focus?\015\012=> false\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. tags\015\012\015\012Get array of defined tags\015\012<pre><code class="ruby">\015\012client.tags\015\012=> [#<Tag:xxx>, #<Tag:xxx>]\015\012\015\012client.tags\015\012=> nil\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h3. to_s\015\012\015\012Convert client object to string\015\012<pre><code class="ruby">\015\012puts client\015\012=> "subtle"\015\012</code></pre>\015\012\015\012"top":#1\015\012\015\012h2. Example\015\012\015\012Finally a more complex example to show what you can do with this extension:\015\012\015\012<pre><code class="ruby">\015\012require "subtlext"\015\012\015\012subtle = Subtle.new(":2")\015\012\015\012puts "subtle %s on %s" % \015\012 [subtle.version, subtle.running? ? subtle.display : "none"]\015\012\015\012puts "Tags: %s" % [subtle.tags.join(", ")]\015\012\015\012# Views\015\012views = []\015\012subtle.views.each do |v|\015\012 views.push("%s (%s)" % [v.current? ? "[#{v}]" : v, v.tags.join(", ")])\015\012end\015\012puts "Views: %s" % [views.join(", ")]\015\012\015\012# Clients\015\012clients = []\015\012subtle.clients.each do |c|\015\012 clients.push("%s (%s)" % [c, c.tags.join(", ")])\015\012end\015\012puts "Clients: %s" % [clients.join(", ")]\015\012</code></pre>\015\012\015\012Output:\015\012<pre><code>subtle 0.8.717 on :2.0\015\012Tags: default, float, full, editor, video, browser, terms\015\012Views: web (default, browser), [dev] (editor, terms), work (video, browser, terms)\015\012Clients: xterm (terms), xterm (terms)\015\012</code></pre>\015\012\015\012"top":#1 ")]\015\012</code></pre>\015\012\015\012"top":#1