Module: Gtk
- Defined in:
- lib/dr/tools/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
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/dr/tools/gtk.rb', line 21 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
11 12 13 14 15 16 17 18 19 |
# File 'lib/dr/tools/gtk.rb', line 11 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 |