Sublet class
Methods
Public Class
Public Instance
Constants
EVENTS | = | { :run => 1, :unload => 1, :mouse_down => 4, :mouse_over => 1, :mouse_out => 1 } |
Event list |
|
HOOKS | = | [ :start, :exit, :tile, :reload, :client_create, :client_configure, :client_focus, :client_gravity, :client_kill, :tag_create, :tag_kill, :view_create, :view_configure, :view_jump, :view_kill ] |
Hook list |
Attributes
Public Class methods
Subtle::Sur::Test::Sublet::initialize {{{
Initialize a Sublet
@since 0.0
@example
Subtle::Sublet.new => #<Subtlext::Sublet:xxx>
# File data/sur/test.rb, line 74 def initialize @visible = true @interval = 60 @config = {} end
Public Instance methods
Subtle::Sur::Test::Sublet::background= {{{
Set the background of a Sublet
@param [String] value Sublet background
@raise [String] Sublet error @since 0.2
@example
Subtle::Sublet.new.background = "#ffffff" => nil
# File data/sur/test.rb, line 186 def background=(value) unless value.is_a?(String) or value.is_a?(Object) raise ArgumentError.new("Unknown value type") end end
Subtle::Sur::Test::Sublet::configure {{{
Configure block for Sublet
@param [Symbol] name Sublet name
@yield [Object] New Sublet
@raise [String] Sublet error @since 0.1
@example
configure :sublet do |s| s.interval = 60 end
# File data/sur/test.rb, line 291 def configure(name, &blk) raise LocalJumpError.new("No block given") unless block_given? raise ArgumentError.new("Unknown value type") unless name.is_a?(Symbol) @name = name # Add configure method self.class.send(:define_method, :__configure, blk) end
Subtle::Sur::Test::Sublet::data= {{{
Set the data of a Sublet
@param [String] data Sublet data
@raise [String] Sublet error @since 0.0
@example
Subtle::Sublet.new.data = "subtle" => nil
# File data/sur/test.rb, line 169 def data=(data) raise ArgumentError.new("Unknown value type") unless data.is_a?(String) @data = data end
Subtle::Sur::Test::Sublet::geometry {{{
Get geometry of a Sublet
@return [String] Sublet geometry
@raise [String] Sublet error @since 0.2
@example
Subtle::Sublet.new.geometry => #<Subtlext::Geometry:xxx>
# File data/sur/test.rb, line 204 def geometry Subtlext::Geometry.new(10, 10, 20, 20) end
Subtle::Sur::Test::Sublet::helper {{{
Helper block for Sublet
@yield [Proc] Helper handler
@raise [String] Sublet error @since 0.1
@example
helper do |s| def test puts "test" end end
# File data/sur/test.rb, line 356 def helper(&blk) raise LocalJumpError.new("No block given") unless block_given? # Yield and eval block yield(self) self.instance_eval(&blk) end
Subtle::Sur::Test::Sublet::hide {{{
Hide sublet from panel
@since 0.2
@example
Subtle::Sublet.new.show => nil
# File data/sur/test.rb, line 259 def hide @visible = false end
Subtle::Sur::Test::Sublet::interval= {{{
Set the interval of a Sublet
@param [Fixnum] interval Interval time
@raise [String] Sublet error @since 0.0
@example
Subtle::Sublet.new.interval = 60 => nil
# File data/sur/test.rb, line 137 def interval=(interval) raise ArgumentError.new("Unknown value type") unless interval.is_a?(Fixnum) @interval = interval end
Subtle::Sur::Test::Sublet::method_missing {{{
Dispatcher for Sublet instance
@param [Symbol] meth Method name @param [Array] args Argument array
@since 0.1
# File data/sur/test.rb, line 88 def method_missing(meth, *args) ret = nil # Check if symbol is a method or a var if self.respond_to?(meth) ret = self.send(meth, args) else sym = ("@" + meth.to_s).to_sym #< Construct symbol # Check getter or setter if meth.to_s.index("=") sym = sym.to_s.chop.to_sym self.instance_variable_set(sym, args.first) elsif self.instance_variable_defined?(sym) ret = self.instance_variable_get(sym) end end ret end
Subtle::Sur::Test::Sublet::on {{{
Event block for Sublet
@param [Symbol] event Event name
@yield [Proc] Event handler
@raise [String] Sublet error @since 0.1
@example
on :event do |s| puts s.name end
# File data/sur/test.rb, line 316 def on(event, &blk) raise LocalJumpError.new("No block given") unless block_given? raise ArgumentError.new("Unknown value type") unless event.is_a?(Symbol) # Get proc information arity = blk.arity sing = self.class # Check events if Subtle::Sur::Test::Sublet::EVENTS.has_key?(event) need = Subtle::Sur::Test::Sublet::EVENTS[event] if -1 == arity or (1 <= arity and need >= arity) sing.send(:define_method, ("__%s" % [ event ]).to_sym, blk) else raise "Wrong number of arguments (%d for %d)" % [ arity, need ] end end # Check hooks if Subtle::Sur::Test::Sublet::HOOKS.include?(event) sing.send(:define_method, ("__%s" % [ event ]).to_sym, blk) end end
Subtle::Sur::Test::Sublet::show {{{
Show sublet on panel
@since 0.2
@example
Subtle::Sublet.new.show => nil
# File data/sur/test.rb, line 246 def show @visible = true end
Subtle::Sur::Test::Sublet::unwatch {{{
Stop watching a file
@since 0.0
@example
Subtle::Sublet::unwatch => nil
# File data/sur/test.rb, line 233 def unwatch @path = nil end
Subtle::Sur::Test::Sublet::watch {{{
Watch a file found on path
@raise [String] Sublet error @since 0.0
@example
Subtle::Sublet.new.watch("/tmp/watch") => nil
# File data/sur/test.rb, line 218 def watch(path) raise ArgumentError.new("Unknown value type") unless path.is_a?(String) raise "File not found" unless File.exist?(path) @path = path end