Module: Gtk
- Defined in:
- lib/tellme/gtk/gtk.rb
Constant Summary collapse
- GTK_PENDING_BLOCKS =
[]
- GTK_PENDING_BLOCKS_LOCK =
Monitor.new
Class Method Summary collapse
Class Method Details
.main_with_queue(timeout) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/tellme/gtk/gtk.rb', line 32 def Gtk.main_with_queue timeout Gtk.timeout_add timeout do GTK_PENDING_BLOCKS_LOCK.synchronize do for block in GTK_PENDING_BLOCKS block.call end GTK_PENDING_BLOCKS.clear end true end Gtk.main end |
.queue(&block) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/tellme/gtk/gtk.rb', line 22 def Gtk.queue &block if Thread.current == Thread.main block.call else GTK_PENDING_BLOCKS_LOCK.synchronize do GTK_PENDING_BLOCKS << block end end end |