Project

General

Profile

unexist.dev

/

subtle

Assorted tidbits and projects

Sublets » History » Version 5

Version 4 (Anonymous, 10/28/2008 09:56 PM) → Version 5/66 (Anonymous, 10/28/2008 09:58 PM)

h1. Sublets\015\012\015\012[[Sublets|sublets]] are small "Ruby":http://www.ruby-lang.org scripts that provide the data for the statusbar. They are run in an embedded "Ruby":http://www.ruby-lang.org interpreter and are well included in the main loop of [[subtle]]. Every [[sublet]] must either provide an update interval (in seconds) and will be updated accordingly or a file to _watch_. \015\012_The default update interval is 60s._\015\012\015\012h2. Types\015\012\015\012Currently there are two types of [[sublets]]:\015\012* [[sublets]] that are updated in a given interval\015\012* [[sublets]] that are updated when a file is modified (Via "inotify":http://en.wikipedia.org/wiki/Inotify)\015\012\015\012h2. Data\015\012\015\012The [[sublet]] data can be either of type "String":http://www.ruby-doc.org/core/classes/String.html or "Fixnum":http://www.ruby-doc.org/core/classes/Fixnum.html. "Strings":http://www.ruby-doc.org/core/classes/String.html "String":http://www.ruby-doc.org/core/classes/String.html s are directly displayed and "Fixnums":http://www.ruby-doc.org/core/classes/Fixnum.html "Fixnum":http://www.ruby-doc.org/core/classes/Fixnum.html s will be shown as a small meter.\015\012\015\012\015\012h2. Example\015\012\015\012Below is the code of a shipped [[sublet]] that displays the time. It should be really straight forward:\015\012\015\012\015\012<pre><code forward\015\012\015\012\015\012<pre><code class="ruby">class Clock < Sublet\015\012 def initialize\015\012 self.interval = 60 # Set interval time\015\012 60\015\012 end\015\012\015\012 def run\015\012 self.data = Time.now().strftime("%d%m%y%H%M") # Set data\015\012 Time.now().strftime("%d%m%y%H%M")\015\012 end\015\012end\015\012</code></pre>\015\012\015\012Interval and data can be updated via setter/getter functions.\015\012\015\012More end\015\012end\015\012</code></pre>\015\012\015\012More soon..