You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(6) |
Sep
(16) |
Oct
(36) |
Nov
(85) |
Dec
(151) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(49) |
Feb
(51) |
Mar
(71) |
Apr
(87) |
May
(91) |
Jun
(93) |
Jul
(160) |
Aug
(229) |
Sep
(85) |
Oct
(89) |
Nov
(85) |
Dec
(98) |
2004 |
Jan
(40) |
Feb
(98) |
Mar
(149) |
Apr
(106) |
May
(153) |
Jun
(77) |
Jul
(85) |
Aug
(55) |
Sep
(50) |
Oct
(53) |
Nov
(83) |
Dec
(32) |
2005 |
Jan
(97) |
Feb
(124) |
Mar
(60) |
Apr
(79) |
May
(55) |
Jun
(62) |
Jul
(70) |
Aug
(130) |
Sep
(115) |
Oct
(32) |
Nov
(46) |
Dec
(54) |
2006 |
Jan
(114) |
Feb
(78) |
Mar
(37) |
Apr
(54) |
May
(82) |
Jun
(34) |
Jul
(54) |
Aug
(50) |
Sep
(26) |
Oct
(46) |
Nov
(105) |
Dec
(83) |
2007 |
Jan
(105) |
Feb
(64) |
Mar
(57) |
Apr
(20) |
May
(18) |
Jun
(80) |
Jul
(108) |
Aug
(26) |
Sep
(36) |
Oct
(49) |
Nov
(94) |
Dec
(46) |
2008 |
Jan
(24) |
Feb
(24) |
Mar
(200) |
Apr
(92) |
May
(112) |
Jun
(54) |
Jul
(41) |
Aug
(50) |
Sep
(66) |
Oct
(82) |
Nov
(15) |
Dec
(44) |
2009 |
Jan
(68) |
Feb
(34) |
Mar
(55) |
Apr
(50) |
May
(95) |
Jun
(33) |
Jul
(24) |
Aug
(40) |
Sep
(61) |
Oct
(33) |
Nov
(7) |
Dec
(61) |
2010 |
Jan
(18) |
Feb
(47) |
Mar
(24) |
Apr
(24) |
May
(42) |
Jun
(59) |
Jul
(28) |
Aug
(23) |
Sep
(55) |
Oct
(102) |
Nov
(33) |
Dec
(11) |
2011 |
Jan
(37) |
Feb
(115) |
Mar
(96) |
Apr
(37) |
May
(8) |
Jun
(13) |
Jul
(7) |
Aug
(61) |
Sep
(143) |
Oct
(78) |
Nov
(14) |
Dec
(33) |
2012 |
Jan
(49) |
Feb
(57) |
Mar
(62) |
Apr
(38) |
May
(26) |
Jun
(16) |
Jul
(12) |
Aug
(10) |
Sep
(8) |
Oct
(12) |
Nov
(38) |
Dec
(25) |
2013 |
Jan
(55) |
Feb
(53) |
Mar
(39) |
Apr
(37) |
May
(21) |
Jun
(4) |
Jul
(7) |
Aug
(8) |
Sep
(24) |
Oct
(17) |
Nov
(11) |
Dec
(81) |
2014 |
Jan
(22) |
Feb
(9) |
Mar
(29) |
Apr
(133) |
May
(12) |
Jun
(13) |
Jul
(5) |
Aug
(11) |
Sep
|
Oct
(10) |
Nov
(18) |
Dec
(1) |
2015 |
Jan
(18) |
Feb
(2) |
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
(28) |
Oct
(15) |
Nov
(8) |
Dec
(7) |
2016 |
Jan
(19) |
Feb
|
Mar
|
Apr
(1) |
May
(10) |
Jun
(3) |
Jul
(19) |
Aug
|
Sep
(5) |
Oct
(1) |
Nov
(9) |
Dec
|
2017 |
Jan
|
Feb
(18) |
Mar
|
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(6) |
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(2) |
Dec
|
From: Sutou K. <ko...@co...> - 2021-11-24 20:44:39
|
Hi, In <dfa...@pr...> "[ruby-gnome2-devel-en] How to release memory of unused widgets?" on Wed, 24 Nov 2021 16:00:23 +0100, Leonard Thiele <th...@pr...> wrote: > I wonder how I am supposed to release memory after I do not need a > widget anymore. > Should I use destroy()? Or unref()? Or is the binding taking care of > releasing memory after I removed the widget from its parent and I do > not have to worry? Removed widgets are released when Ruby's GC is ran. You can use Gtk::Widget#destroy explicitly when you can't wait Ruby's GC. > In a more complex project I am working on I use a FileChooserWidget > which causes segmentation faults when I destroy it and afterwards > change folder content which I previously watched. > This is because the FileChooserWidget does not properly clean up after > itself when I call destroy() on it and so it tries to execute > callbacks that make no sense after destroying... Could you file an issue to https://github.com/ruby-gnome/ruby-gnome/issues with a sample script that reproduces this case? Thanks, -- kou |
From: Leonard T. <th...@pr...> - 2021-11-24 15:18:07
|
Hello, I wonder how I am supposed to release memory after I do not need a widget anymore. Should I use destroy()? Or unref()? Or is the binding taking care of releasing memory after I removed the widget from its parent and I do not have to worry? In a more complex project I am working on I use a FileChooserWidget which causes segmentation faults when I destroy it and afterwards change folder content which I previously watched. This is because the FileChooserWidget does not properly clean up after itself when I call destroy() on it and so it tries to execute callbacks that make no sense after destroying... I have read a lot about memory management in GTK but could not find an exact answer to my questions for the ruby bindings. Hope to find some insights here. Kind regards, Leonard |
From: Bandi-T <ba...@su...> - 2021-10-23 17:54:28
|
Greetings, Does anyone have example or tutorial on how to properly do UI templates using the gtk4 Ruby gem? Thank you in advance. |
From: Bandi-T <ba...@su...> - 2021-10-23 01:12:35
|
My apologies. Indeed it was me. Here is my successful Ruby transcription of the example from the www.gtk.org main page - please feel freel to include it in your documentation: > require 'gtk4' > > application = Gtk::Application.new("com.example.GtkApplication", > Gio::ApplicationFlags::FLAGS_NONE) > > application.signal_connect("activate") do |application| > window = Gtk::ApplicationWindow.new(application) > button = Gtk::Button.new label: "Hello World!" > button.signal_connect("clicked"){|x| window.close} > window.set_child button > window.present > end > > application.run 2021.10.22. 21:23 keltezéssel, Bandi-T írta: > Greetings, > > What is the status of GTK4 support (under Windows)? I get an error > very early: > >> irb(main):002:0> app = Gtk::App.new >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/builder.rb:148:in >> `alias_method': undefined method `connect_signals' for class >> `Gtk::Builder' (NameError) >> Did you mean? connect_signal >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/builder.rb:148:in >> `<class:Builder>' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/builder.rb:18:in >> `<module:Gtk>' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/builder.rb:17:in >> `<top (required)>' >> from >> <internal:C:/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in >> `require' >> from >> <internal:C:/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in >> `require' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/loader.rb:57:in >> `require_libraries' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/loader.rb:52:in >> `post_load' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.4.9/lib/gobject-introspection/loader.rb:45:in >> `load' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/loader.rb:26:in >> `load' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4.rb:65:in >> `init' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4.rb:40:in >> `const_missing' >> from (irb):2:in `<main>' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/irb-1.3.5/exe/irb:11:in `<top >> (required)>' >> from C:/Ruby30-x64/bin/irb.cmd:31:in `load' >> from C:/Ruby30-x64/bin/irb.cmd:31:in `<main>' > This is Ruby 3.0.2 installed by RubInstaller on Windows (x64-mingw32). > > I am just starting to learn GTK for some UI apps I need to develop, > never developed with GTK before (especially not under Windows). > > I hope this is only my mistake and this is supposed to work. > > Thank you in advance. > |
From: Sutou K. <ko...@co...> - 2021-10-22 22:40:38
|
Hi, This is a bug of gtk4 gem. Could you open an issue for this? https://github.com/ruby-gnome/ruby-gnome/issues Thanks, -- kou In <d5b...@su...> "[ruby-gnome2-devel-en] what is the status of GTK4 support (under Windows)? (newbie question)" on Fri, 22 Oct 2021 21:23:36 +0200, Bandi-T <ba...@su...> wrote: > Greetings, > > What is the status of GTK4 support (under Windows)? I get an error > very early: > >> irb(main):002:0> app = Gtk::App.new >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/builder.rb:148:in >> `alias_method': undefined method `connect_signals' for class >> `Gtk::Builder' (NameError) >> Did you mean? connect_signal >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/builder.rb:148:in >> `<class:Builder>' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/builder.rb:18:in >> `<module:Gtk>' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/builder.rb:17:in >> `<top (required)>' >> from >> <internal:C:/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in >> `require' >> from >> <internal:C:/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in >> `require' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/loader.rb:57:in >> `require_libraries' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/loader.rb:52:in >> `post_load' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.4.9/lib/gobject-introspection/loader.rb:45:in >> `load' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/loader.rb:26:in >> `load' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4.rb:65:in >> `init' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4.rb:40:in >> `const_missing' >> from (irb):2:in `<main>' >> from >> C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/irb-1.3.5/exe/irb:11:in `<top >> (required)>' >> from C:/Ruby30-x64/bin/irb.cmd:31:in `load' >> from C:/Ruby30-x64/bin/irb.cmd:31:in `<main>' > This is Ruby 3.0.2 installed by RubInstaller on Windows (x64-mingw32). > > I am just starting to learn GTK for some UI apps I need to develop, > never developed with GTK before (especially not under Windows). > > I hope this is only my mistake and this is supposed to work. > > Thank you in advance. > > > > _______________________________________________ > ruby-gnome2-devel-en mailing list > rub...@li... > https://lists.sourceforge.net/lists/listinfo/ruby-gnome2-devel-en |
From: Bandi-T <ba...@su...> - 2021-10-22 22:13:46
|
Greetings, What is the status of GTK4 support (under Windows)? I get an error very early: > irb(main):002:0> app = Gtk::App.new > C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/builder.rb:148:in > `alias_method': undefined method `connect_signals' for class > `Gtk::Builder' (NameError) > Did you mean? connect_signal > from > C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/builder.rb:148:in > `<class:Builder>' > from > C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/builder.rb:18:in > `<module:Gtk>' > from > C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/builder.rb:17:in > `<top (required)>' > from > <internal:C:/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in > `require' > from > <internal:C:/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in > `require' > from > C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/loader.rb:57:in > `require_libraries' > from > C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/loader.rb:52:in > `post_load' > from > C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.4.9/lib/gobject-introspection/loader.rb:45:in > `load' > from > C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4/loader.rb:26:in > `load' > from > C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4.rb:65:in `init' > from > C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/gtk4-3.4.9/lib/gtk4.rb:40:in > `const_missing' > from (irb):2:in `<main>' > from > C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/irb-1.3.5/exe/irb:11:in `<top > (required)>' > from C:/Ruby30-x64/bin/irb.cmd:31:in `load' > from C:/Ruby30-x64/bin/irb.cmd:31:in `<main>' This is Ruby 3.0.2 installed by RubInstaller on Windows (x64-mingw32). I am just starting to learn GTK for some UI apps I need to develop, never developed with GTK before (especially not under Windows). I hope this is only my mistake and this is supposed to work. Thank you in advance. |
From: amerke <art...@ud...> - 2020-08-03 22:50:16
|
see the pictures i solved the problem using def paint(cr) cr= @darea.window.create_cairo_context ... cr.destory end so by creating a new cairo context (the given cr doesn't fit the drawable area, but the entire window) quite strange, but seems to work this way what about the pressed/focused buttons (which are not togglebuttons)??? On 03.08.20 22:51, Sutou Kouhei wrote: > Hi, > > In <424...@ud...> > "Re: [ruby-gnome2-devel-en] problems with ruby/gtk/tcp" on Mon, 3 Aug 2020 01:14:54 +0200, > amerke <art...@ud...> wrote: > >> the matrix seems to be applied with respect to the entire window but >> NOT with respect to the DrawingArea (is much to high) >> >> how do i use a cairo contex with matrix transformations with respect >> to the DrawingArea itself? >> >> i also curious why the buttons keep pressed/focused (it are normal >> buttons, not togglebuttons) > > Could you show the expected result by an image? > > > Thanks, > -- > kou > > > _______________________________________________ > ruby-gnome2-devel-en mailing list > rub...@li... > https://lists.sourceforge.net/lists/listinfo/ruby-gnome2-devel-en > |
From: Sutou K. <ko...@co...> - 2020-08-03 20:51:39
|
Hi, In <424...@ud...> "Re: [ruby-gnome2-devel-en] problems with ruby/gtk/tcp" on Mon, 3 Aug 2020 01:14:54 +0200, amerke <art...@ud...> wrote: > the matrix seems to be applied with respect to the entire window but > NOT with respect to the DrawingArea (is much to high) > > how do i use a cairo contex with matrix transformations with respect > to the DrawingArea itself? > > i also curious why the buttons keep pressed/focused (it are normal > buttons, not togglebuttons) Could you show the expected result by an image? Thanks, -- kou |
From: amerke <art...@ud...> - 2020-08-02 23:15:10
|
sounds good, looking forward to GTK5 :-) maybe i also get used to some unexpected(?) behaviour. consider the code: require 'gtk3' require 'cairo' class ArtScrollCanvas < Gtk::Grid def initialize super @user_zoom= 1.0 @darea = Gtk::DrawingArea.new @darea.hexpand= true @darea.vexpand= true @darea.signal_connect('configure-event') do print "\n darea_configure_callback" update_adjustments_and_paint(0.0, 0.0) end @darea.signal_connect "draw" do |_, cr| paint(cr) end attach(@darea, 0, 0, 1, 1) update_adjustments_and_paint(0.0, 0.0) end def update_adjustments_and_paint(dx= 0.0, dy= 0.0) @darea.queue_draw_area(0, 0, @darea.allocation.width, @darea.allocation.height) end def paint(cr) cr.set_source_rgba(1, 1, 1, 1) cr.paint #cr.save #cr.restore #cr.save #m= Cairo::Matrix.new(1.0, 0.0, 0.0, 1.0, 300.0, 200.0) m= Cairo::Matrix.new(1.0, 0.0, 0.0, 1.0, 300.0, 100.0) cr.set_matrix(m) cr.move_to(0.0, 0.0) cr.line_to(100.0, 0.0) cr.line_to(100.0, 100.0) cr.line_to(0.0, 100.0) cr.set_source_rgba(1.0, 0.0, 0.0, 1.0) cr.fill #cr.restore end end class ArtApplicationWindow < Gtk::ApplicationWindow def initialize(application) super(application) signal_connect('destroy') do #Gtk.main_quit application.quit end set_title 'Art' set_size_request(600, 400) @canvas = ArtScrollCanvas.new @b1 = Gtk::Button.new(label: "New") @b2 = Gtk::Button.new(label: "New") @b3 = Gtk::Button.new(label: "New") @vbox = Gtk::Box.new(:vertical, 0) @vbox.pack_start(@b1, :expand => false, :fill => false, :padding => 0) @vbox.pack_start(@b2, :expand => false, :fill => false, :padding => 0) @vbox.pack_start(@b3, :expand => false, :fill => false, :padding => 0) @vbox.pack_start(@canvas, :expand => true, :fill => true, :padding => 0) add(@vbox) show_all end end # ArtApplicationWindow class ArtApp < Gtk::Application def initialize super("org.gtk.exampleapp", :handles_open) signal_connect('activate') do |application| window = ArtApplicationWindow.new(application) window.present end end end app = ArtApp.new app.run the matrix seems to be applied with respect to the entire window but NOT with respect to the DrawingArea (is much to high) how do i use a cairo contex with matrix transformations with respect to the DrawingArea itself? i also curious why the buttons keep pressed/focused (it are normal buttons, not togglebuttons) cheers artur On 02.08.20 23:25, Sutou Kouhei wrote: > Hi, > > In <8f6...@ud...> > "Re: [ruby-gnome2-devel-en] problems with ruby/gtk/tcp" on Sun, 2 Aug 2020 17:57:59 +0200, > amerke <art...@ud...> wrote: > >> thank you kou, this seems to work fine (but is not well documented :-( > > I hope that this GC related work is done without user > code. But I don't have an idea for now. :< > (The block of ss.signal_connect("incoming") doesn't refer > local variables like the channel automatically.) > >> btw. just another question: what about the status of ruby and GTK >> (ver. 4). is it going to be continued in the future? > > Yes. > There is an implementation for Ruby/GTK4: > https://github.com/ruby-gnome/ruby-gnome/tree/master/gtk4 > We'll release it when GTK 4 is released. > >> (the number of posts in this list is almost 0 :-) > > Recently, users use GitHub issues: > https://github.com/ruby-gnome/ruby-gnome/issues?q=is%3Aissue+is%3Aclosed > >> also there are almost no ruby/GTK projects on github ... > > It seems there are 20+ projects that use Ruby/GTK3: > https://rubygems.org/gems/gtk3/reverse_dependencies > >> earlier on i used qt4 but the support for qt4 was discontinued (no >> qtbindungs for qt5) ... so i would like to know more about the future >> of ruby/GTK. i think missing good ruby support for the two major >> platforms (GTK/QT) is one of the reasons why ruby is staying behind >> python, considering the number of (gui but also other) projects >> etc. (at least outside of japan) > > We'll maintain Ruby/GTK4, Ruby/GTK5 and so on because we (at > least me) will use them. :-) > > > Thanks, > -- > kou > > > _______________________________________________ > ruby-gnome2-devel-en mailing list > rub...@li... > https://lists.sourceforge.net/lists/listinfo/ruby-gnome2-devel-en > |
From: Sutou K. <ko...@co...> - 2020-08-02 21:25:36
|
Hi, In <8f6...@ud...> "Re: [ruby-gnome2-devel-en] problems with ruby/gtk/tcp" on Sun, 2 Aug 2020 17:57:59 +0200, amerke <art...@ud...> wrote: > thank you kou, this seems to work fine (but is not well documented :-( I hope that this GC related work is done without user code. But I don't have an idea for now. :< (The block of ss.signal_connect("incoming") doesn't refer local variables like the channel automatically.) > btw. just another question: what about the status of ruby and GTK > (ver. 4). is it going to be continued in the future? Yes. There is an implementation for Ruby/GTK4: https://github.com/ruby-gnome/ruby-gnome/tree/master/gtk4 We'll release it when GTK 4 is released. > (the number of posts in this list is almost 0 :-) Recently, users use GitHub issues: https://github.com/ruby-gnome/ruby-gnome/issues?q=is%3Aissue+is%3Aclosed > also there are almost no ruby/GTK projects on github ... It seems there are 20+ projects that use Ruby/GTK3: https://rubygems.org/gems/gtk3/reverse_dependencies > earlier on i used qt4 but the support for qt4 was discontinued (no > qtbindungs for qt5) ... so i would like to know more about the future > of ruby/GTK. i think missing good ruby support for the two major > platforms (GTK/QT) is one of the reasons why ruby is staying behind > python, considering the number of (gui but also other) projects > etc. (at least outside of japan) We'll maintain Ruby/GTK4, Ruby/GTK5 and so on because we (at least me) will use them. :-) Thanks, -- kou |
From: amerke <art...@ud...> - 2020-08-02 15:58:19
|
thank you kou, this seems to work fine (but is not well documented :-( btw. just another question: what about the status of ruby and GTK (ver. 4). is it going to be continued in the future? (the number of posts in this list is almost 0 :-), also there are almost no ruby/GTK projects on github ... earlier on i used qt4 but the support for qt4 was discontinued (no qtbindungs for qt5) ... so i would like to know more about the future of ruby/GTK. i think missing good ruby support for the two major platforms (GTK/QT) is one of the reasons why ruby is staying behind python, considering the number of (gui but also other) projects etc. (at least outside of japan) cheers artur |
From: Sutou K. <ko...@co...> - 2020-08-01 22:36:01
|
Hi, In <f0b...@ud...> "[ruby-gnome2-devel-en] problems with ruby/gtk/tcp" on Fri, 31 Jul 2020 13:25:40 +0200, amerke <art...@ud...> wrote: > i've problems with core dumps using ruby, gtk and tcp connections. my > application is much larger, but here a minimized version: You need to keep reference of the channel: # ... @channels = [] ss.signal_connect("incoming") do |_, conn, _| # ... channel= GLib::IOChannel.new(conn.input_stream.socket.fd) @channels << channel channel.add_watch(GLib::IOChannel::IN) do # ... Thanks, -- kou |
From: amerke <art...@ud...> - 2020-07-31 11:25:49
|
hi, i've problems with core dumps using ruby, gtk and tcp connections. my application is much larger, but here a minimized version: GTK code (is also attached): ##################################################### require 'gtk3' require 'cairo' class DummyArray def initialize @array=[ "M",2,48.83,1.95,"L",8,50.55,0.0,62.27,0.0,63.91,5.0,48.83,1.95,"M",2,0.0,22.42,"L",8,0.0,16.95,9.77,13.2,7.27,28.44,0.0,22.42,"M",2,5.39,49.61,"L",8,0.0,48.52,0.0,35.63,0.47,35.08,5.39,49.61,"M",2,0.0,80.7,"L",6,0.0,68.28,9.38,70.31,0.0,80.7,"M",2,90.23,46.56,"L",6,100.0,35.55,100.0,48.52,90.23,46.56,"M",2,100.0,16.95,"L",6,100.0,22.42,95.47,18.67,100.0,16.95,"M",2,100.0,68.28, "L",8,100.0,80.78,99.14,81.72,94.45,67.11,100.0,68.28,"M",2,50.55,100.0,"L",6,58.98,90.47,62.27,100.0,50.55,100.0,"M",2,23.44,78.67,"L",6,33.59,67.19,38.52,81.72,23.44,78.67,"M",2,40.47,15.39,"L",6,25.39,12.34,35.63,0.86,40.47,15.39,"M",2,59.61,39.77,"L",6,59.14,24.38,72.66,31.56,59.61,39.77,"M",2,45.78,36.95,"L",6,55.23,36.48,50.94,45.0,45.78,36.95, "M",2,48.98,24.38,"L",6,43.67,16.41,53.2,15.86,48.98,24.38,"M",2,22.58,10.08,"L",6,13.52,13.13,15.47,3.75,22.58,10.08,"M",2,18.28,30.47,"L",6,21.33,39.53,11.95,37.58,18.28,30.47,"M",2,25.23,40.86,"L",6,26.41,25.55,39.06,34.22,25.23,40.86,"M",2,13.67,63.13,"L",6,13.13,47.73,26.64,54.92,13.67,63.13,"M",2,17.66,68.52,"L",6,21.72,77.19,12.11,76.25,17.66,68.52,"M",2,52.34,49.06, "L",6,44.14,62.11,36.95,48.52,52.34,49.06,"M",2,52.42,79.84,"L",6,60.08,66.56,67.73,79.84,52.42,79.84,"M",2,47.42,76.25,"L",6,42.19,68.28,51.72,67.73,47.42,76.25,"M",2,79.14,31.48,"L",6,87.11,26.17,87.73,35.7,79.14,31.48,"M",2,81.64,20.08,"L",6,74.92,6.25,90.23,7.34,81.64,20.08,"M",2,67.97,10.86,"L",6,68.52,20.39,59.92,16.09,67.97,10.86,"M",2,73.59,73.36,"L",6,81.48,68.2,82.11,77.73,73.59,73.36, "M",2,63.59,49.06,"L",6,64.22,58.59,55.62,54.3,63.59,49.06,"M",2,79.53,43.83,"L",6,84.45,58.36,69.38,55.31,79.53,43.83,"M",2,90.23,95.16,"L",6,92.19,85.78,99.3,92.11,90.23,95.16,"M",2,86.17,81.48,"L",6,82.34,96.33,71.41,85.55,86.17,81.48,"M",2,22.11,97.34,"L",6,6.8,97.34,14.45,84.06,22.11,97.34,"M",2,38.2,93.05,"L",6,29.14,96.09,31.09,86.72,38.2,93.05, "Z",0 ] end def render(cr) i= 0 size= @array.size while i < size e= @array[i] case e when 'M', 'L' count= @array[i+1] j= i + 2 i= j + count while j < i x= @array[j] y= @array[j+1] if e == 'M' cr.move_to(x, y) else cr.line_to(x, y) end j += 2 end when 'Z' count= @array[i+1] j= i + 2 i= j + count cr.close_path else raise end end end end class ArtScrollCanvas < Gtk::Grid def initialize super @user_zoom= 1.0 @darea = Gtk::DrawingArea.new @darea.hexpand= true @darea.vexpand= true @darea.signal_connect('configure-event') do print "\n darea_configure_callback" update_adjustments_and_paint(0.0, 0.0) end @darea.signal_connect "draw" do |_, cr| paint(cr) end attach(@darea, 0, 0, 1, 1) update_adjustments_and_paint(0.0, 0.0) end def update_adjustments_and_paint(dx= 0.0, dy= 0.0) @darea.queue_draw_area(0, 0, @darea.allocation.width, @darea.allocation.height) end def paint(cr) cr.set_source_rgba(1, 1, 1, 1) cr.paint cr.set_source_rgba(1, 0, 0, 1) DummyArray.new.render(cr) #DummyDirect.new.render(cr) cr.fill end end class ArtApplicationWindow < Gtk::ApplicationWindow def initialize(application) super(application) signal_connect('destroy') do #Gtk.main_quit application.quit end set_title 'Art' set_size_request(600, 400) @canvas = ArtScrollCanvas.new @vbox = Gtk::Box.new(:vertical, 0) @vbox.pack_start(@canvas, :expand => true, :fill => true, :padding => 0) add(@vbox) show_all end end # ArtApplicationWindow class ArtApp < Gtk::Application def initialize super("org.gtk.exampleapp", :handles_open) signal_connect('activate') do |application| window = ArtApplicationWindow.new(application) window.present end end end begin ss = Gio::SocketService.new ss.add_inet_port(4321) ss.signal_connect("incoming") do |_, conn, _| print "\n#############################################################" print "\nconn.local_address: ", conn.local_address print "\nconn.local_address.family: ", conn.local_address.family print "\nconn.remote_address: ", conn.remote_address print "\nconn.class: ", conn.class print "\nconn.input_stream.fd: ", conn.input_stream.fd print "\nconn.input_stream.socket.fd: ", conn.input_stream.socket.fd # prevents closing the connection (at least in c code) Gtk::Loader.reference_gobject(conn) Gtk::Loader.reference_gobject(conn.input_stream) Gtk::Loader.reference_gobject(conn.input_stream.socket) Gtk::Loader.reference_gobject(conn.output_stream) Gtk::Loader.reference_gobject(conn.output_stream.socket) channel= GLib::IOChannel.new(conn.input_stream.socket.fd) channel.add_watch(GLib::IOChannel::IN) do print "\n>>> ", conn.input_stream.socket.fd len= conn.input_stream.socket.available_bytes input= conn.input_stream.read(len) print "\ninput= ", input conn.output_stream.write("OK\n") GLib::Source::CONTINUE true end true end ss.start end GLib::Timeout.add(10000) do print "\ntimer" GLib::Source::CONTINUE end app = ArtApp.new app.run ################################################# SIMPLE client: require 'socket' class Comm def initialize(socket, verbose: false) @socket= socket @sio= StringIO.new @verbose= verbose end def close @socket.close end def <<(str) @sio << str end def send str= @sio.string @socket.write(str) print "\n>>>\nsending: ", str if @verbose @sio.reopen res= @socket.readline print "\nres= \"", res, "\"" if @verbose res end end server_socket = TCPSocket.open("localhost", 4321) comm= Comm.new(server_socket, verbose: true) i= 1000000 while true i += 1 comm << i.to_s comm.send sleep(0.025) # 40 per s end in the beginning everything seems ok, but after the client is lauched resizing the GTK window leads to core dumps after approx. 1000 messages (sometimes much less, but sometimes much later). Shortening the @array in DummyArray leads to less core dumps, therefore the array is that large. i've read https://ruby-gnome2.osdn.jp/hiki.cgi?tips_threads but don't know how this would apply to my program ... cheers artur |
From: Ignacio L. S. O. <nac...@gm...> - 2020-02-24 13:15:43
|
Hello all, I wanted to use gstreamer ruby gem for a development and couldn't find really good documentation on using "playbin". However, there's a sample application that uses and demonstrates it. This is the helloworld.rb application. I took this as a model for myself to do my development but when I did test run it I stumbled in this error: /home/nacho/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/gobject-introspection-3.4.1/lib/gobject-introspection/loader.rb:600:in `invoke': TODO: [gerror] out free GIArgument(error)[everything] from /home/nacho/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/gobject-introspection-3.4.1/lib/gobject-introspection/loader.rb:600:in `invoke' from /home/nacho/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/gobject-introspection-3.4.1/lib/gobject-introspection/loader.rb:514:in `block in define_method' from ./helloworld.rb:55:in `block in <main>' from ./helloworld.rb:66:in `run' from ./helloworld.rb:66:in `<main>' Looks to me that this is a non implemented feature and I've seen a thread of mails from long ago. Is there any progress on this side?. Can I contribute somehow?. How can I use playbin for my audio player?. Thanks for your help and collaboration. Best Regards, Nacho |
From: Detlef W. <det...@gm...> - 2017-05-24 18:34:37
|
Hi, since some days I have the problem, that pango does not render Umlauts anymore. Here is a short example: require 'gtk3' markup = '<span color="red">foooäöü</span>' win = Gtk::Window.new box = Gtk::Box.new :vertical win << box area = Gtk::DrawingArea.new win.set_default_size 200, 100 area.signal_connect(:draw) do |widget, context| layout = context.create_pango_layout layout.markup = markup context.move_to 25, 25 context.show_pango_layout layout end box.pack_start area, :expand => true, :fill => true label = Gtk::Label.new label.markup = markup box.pack_start label win.show_all Gtk.main It puts a Gtk::DrawingArea and a Gtk::Label in a window. The first renders the markup which contains German umlauts directly with Pango to a drawing context. The second one shows the same markup in a label. The first one is not displayed, but on it shows this warning: > Pango-WARNING **: pango_layout_set_markup_with_accel: Fehler in Zeile 1, Zeichen 42: »/« ist kein gültiges Zeichen, wenn es auf den schließenden Elementnamen »sp<« folgt; das erlaubte Zeichen ist »>« > from /home/det/.gem/ruby/2.3.0/gems/gobject-introspection-3.1.2/lib/gobject-introspection/loader.rb:566:in `block in define_method' > from /home/det/.gem/ruby/2.3.0/gems/pango-3.1.2/lib/pango/layout.rb:34:in `markup=' > from umlaut.rb:15:in `block in <main>' > from /home/det/.gem/ruby/2.3.0/gems/gobject-introspection-3.1.2/lib/gobject-introspection/loader.rb:110:in `invoke' > from /home/det/.gem/ruby/2.3.0/gems/gobject-introspection-3.1.2/lib/gobject-introspection/loader.rb:110:in `block in define_singleton_method' > from umlaut.rb:29:in `<main>' The label displays the markup without problems. Pango did it also right, since some days and some software updates ago. It is not only limited to umlauts, but - I think - to all characters which are not ASCII. I have checked the file with isutf8 and it is OK. Can anyone confirm this problem? I can get around the problem, if I substitute the problematic chars with its hex-values in a way like this: sprintf "&#x%x;", char.ord But this is nearly open end, if I don't want to limit the characters to use and very expensive in ruby. Then, in the warning is a reference to line 1 char 42. But the markup to display is only 32 chars long... What does this mean? After all I think, that it is a pango problem. Cheers, detlef |
From: Kouhei S. <ko...@co...> - 2017-04-04 14:28:11
|
Hi, In <13d...@gm...> "[ruby-gnome2-devel-en] rake gem:install fails on wrong dependency order" on Mon, 3 Apr 2017 20:20:41 +0200, Detlef Wagner <det...@gm...> wrote: > if I try to install a fresh checked out git/master with rake it fails on > rake gem:install > with the following message ... > This is because in the top level Rakefile pango should be build before > cairo-gobject is build. But pango has cairo-gobject as it's dependency. Thanks for your report. I've fixed it on master. Thanks, -- kou |
From: Detlef W. <det...@gm...> - 2017-04-03 18:34:09
|
Hi, if I try to install a fresh checked out git/master with rake it fails on rake gem:install with the following message > $ rake gem:install > /usr/bin/ruby2.3 -S gem install --local --user-install glib2/pkg/glib2-3.1.2.gem > Building native extensions. This could take a while... > Successfully installed glib2-3.1.2 > Parsing documentation for glib2-3.1.2 > Installing ri documentation for glib2-3.1.2 > Done installing documentation for glib2 after 2 seconds > 1 gem installed > /usr/bin/ruby2.3 -S gem install --local --user-install gobject-introspection/pkg/gobject-introspection-3.1.2.gem > Building native extensions. This could take a while... > Successfully installed gobject-introspection-3.1.2 > Parsing documentation for gobject-introspection-3.1.2 > Installing ri documentation for gobject-introspection-3.1.2 > Done installing documentation for gobject-introspection after 1 seconds > 1 gem installed > /usr/bin/ruby2.3 -S gem install --local --user-install gio2/pkg/gio2-3.1.2.gem > Building native extensions. This could take a while... > Successfully installed gio2-3.1.2 > Parsing documentation for gio2-3.1.2 > Installing ri documentation for gio2-3.1.2 > Done installing documentation for gio2 after 0 seconds > 1 gem installed > /usr/bin/ruby2.3 -S gem install --local --user-install atk/pkg/atk-3.1.2.gem > Successfully installed atk-3.1.2 > Parsing documentation for atk-3.1.2 > Installing ri documentation for atk-3.1.2 > Done installing documentation for atk after 0 seconds > 1 gem installed > /usr/bin/ruby2.3 -S gem install --local --user-install pango/pkg/pango-3.1.2.gem > ERROR: Could not find a valid gem 'cairo-gobject' (= 3.1.2) in any repository > rake aborted! > Command failed with status (2): [/usr/bin/ruby2.3 -S gem install --local --...] > /home/det/Schreibtisch/soft/ruby-gnome-neuste/Rakefile:392:in `block (3 levels) in <top (required)>' > /home/det/Schreibtisch/soft/ruby-gnome-neuste/Rakefile:391:in `each' > /home/det/Schreibtisch/soft/ruby-gnome-neuste/Rakefile:391:in `block (2 levels) in <top (required)>' > Tasks: TOP => gem:install > (See full trace by running task with --trace) This is because in the top level Rakefile pango should be build before cairo-gobject is build. But pango has cairo-gobject as it's dependency. Greetings, detlef |
From: John L. <jo...@la...> - 2017-02-28 21:14:19
|
On 28/02/17 20:45, cedlemo wrote: > > I can't believe how easy it is to hook up a GI library :) > > I totally agree, and this is thanks to Kouhei's work. You can open issue > for any problem related to GObject-Introspection on the ruby-GNOME2 > github. I am no more than a "power user" for those gems, Kouhei would > provide you a better help for more complicated problems. > thanks for that, and you've been very helpful too. That is much appreciated. > Do you plan to create a gem for the keybinder ? Yes, although it's almost not worth it. Since my last message I discovered that this is sufficient: require 'gi' class Keybinder; end GI::Loader.load('Keybinder', Keybinder) But, since I already have a gem templated I will upload it... > How did you deal with the dock problem and the update of the WM _ > DESKTOP size ? > I had to use Xlib to do it, with the help of 'xlib-objects': require 'xlib-objects' ... def show_all mg = screen.get_monitor_geometry( screen.get_monitor_at_window( screen.active_window())) x = mg.x width = mg.width move(x,0) resize(width,height) super topw = XlibObj::Window.new(XlibObj::Display.new(':0'), toplevel.window.xid) XlibObj::Window::Property.new(topw, '_NET_WM_STRUT').set( [0, 0, self.height, 0 ], :CARDINAL) XlibObj::Window::Property.new(topw, '_NET_WM_STRUT_PARTIAL').set( [0, 0, self.height, 0, 0, 0, 0, 0, x, x+width-1, 0, 0], :CARDINAL) end Best, John |
From: cedlemo <ce...@gm...> - 2017-02-28 20:45:29
|
> I can't believe how easy it is to hook up a GI library :) I totally agree, and this is thanks to Kouhei's work. You can open issue for any problem related to GObject-Introspection on the ruby-GNOME2 github. I am no more than a "power user" for those gems, Kouhei would provide you a better help for more complicated problems. Do you plan to create a gem for the keybinder ? How did you deal with the dock problem and the update of the WM _ DESKTOP size ? (just asking because I am curious ;-) ). cedlemo On 28/02/2017 21:26, John Lane wrote: > On 28/02/17 14:43, cedlemo wrote: > >> * the bind method only take one argument, the callback is transformed in >> ruby the block do ... end. >> > Aha! I didn't think of passing a block. Once I changed my call to use > that form it worked perfectly without modification. Brilliant. Thanks. > > ps. I can't believe how easy it is to hook up a GI library :) > > Much appreciate your help. > John > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > ruby-gnome2-devel-en mailing list > rub...@li... > https://lists.sourceforge.net/lists/listinfo/ruby-gnome2-devel-en |
From: John L. <jo...@la...> - 2017-02-28 20:27:12
|
On 28/02/17 14:43, cedlemo wrote: > * the bind method only take one argument, the callback is transformed in > ruby the block do ... end. > Aha! I didn't think of passing a block. Once I changed my call to use that form it worked perfectly without modification. Brilliant. Thanks. ps. I can't believe how easy it is to hook up a GI library :) Much appreciate your help. John |
From: cedlemo <ce...@gm...> - 2017-02-28 14:43:56
|
John, try this (it works for me, I hope it will works for you) : require "glib2" require "gobject-introspection" require "gtk3" module Keybinder class Loader < GObjectIntrospection::Loader end loader = Loader.new(self) loader.load("Keybinder") end win = Gtk::Window.new win.signal_connect("destroy") { Gtk.main_quit } win.show Keybinder.init Keybinder.bind('<Ctrl>p') do puts "ctrl + p" end Keybinder.bind('XF86AudioNext') do puts "keysoundnext" end Gtk.main Two things here: * Keybinder need to be initialized with (#init) * the bind method only take one argument, the callback is transformed in ruby the block do ... end. cedlemo you could find this trick in On 28/02/2017 12:36, John Lane wrote: > On 27/02/17 16:56, cedlemo wrote: >> Maybe look here https://github.com/ruby-gnome2/ggit this is a loader for >> the gobject-libgit2. It is very simple, it should be a good starting point. >> >> Look in the ruby-gnome2 gems too; the atk gem, for example, has been >> recently updated in order to use gobject-introspection instead of the C >> bindings. >> > Hey Cedelmo, well I have something partially working with GI! > > I know the library is hooked up because I have a call that works and it > outputs text that is in the library. However, this: > > Keybinder.bind('Menu', Callback, 'Key pressed') > > fails with this error: > > > /usr/lib/ruby/gems/2.3.0/gems/gobject-introspection-3.1.1/lib/gobject-introspection/loader.rb:651:in > `validate_arguments': Keybinder.bind: wrong number of arguments (3 for > 1) (ArgumentError) > > I have looked at the source[1] and studied the annotation > documentation[2]. I can see that the actual bind function is skipped but > `keybinder_bind_full` is renamed to `keybinder_bind`. The header for > that function shows four parameters of which the last is optional, so my > call passing three parameters ought to be ok: > > /** > * keybinder_bind_full: (rename-to keybinder_bind) > * @keystring: an accelerator description (gtk_accelerator_parse() format) > * @handler: (scope notified): callback function > * @user_data: (closure) (allow-none): data to pass to @handler > * @notify: (allow-none): called when @handler is unregistered > * > * Grab a key combination globally and register a callback to be called each > * time the key combination is pressed. > * > * Since: 0.3.0 > * > * Returns: %TRUE if the accelerator could be grabbed > */ > gboolean > keybinder_bind_full (const char *keystring, > KeybinderHandler handler, > void *user_data, > GDestroyNotify notify) > > So I must have done something wrong, but I actually did very little. > Here's my GI module: > > module Keybinder > > class Loader < GObjectIntrospection::Loader > end > > loader = Loader.new(self) > loader.load("Keybinder") > end > > I'm not sure where to go from here... > > Thanks for your help, > John > > > > [1] > https://github.com/kupferlauncher/keybinder/blob/master/libkeybinder/bind.c#L547 > [2] https://wiki.gnome.org/Projects/GObjectIntrospection/Annotations > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > ruby-gnome2-devel-en mailing list > rub...@li... > https://lists.sourceforge.net/lists/listinfo/ruby-gnome2-devel-en |
From: John L. <jo...@la...> - 2017-02-28 11:36:54
|
On 27/02/17 16:56, cedlemo wrote: > > Maybe look here https://github.com/ruby-gnome2/ggit this is a loader for > the gobject-libgit2. It is very simple, it should be a good starting point. > > Look in the ruby-gnome2 gems too; the atk gem, for example, has been > recently updated in order to use gobject-introspection instead of the C > bindings. > Hey Cedelmo, well I have something partially working with GI! I know the library is hooked up because I have a call that works and it outputs text that is in the library. However, this: Keybinder.bind('Menu', Callback, 'Key pressed') fails with this error: /usr/lib/ruby/gems/2.3.0/gems/gobject-introspection-3.1.1/lib/gobject-introspection/loader.rb:651:in `validate_arguments': Keybinder.bind: wrong number of arguments (3 for 1) (ArgumentError) I have looked at the source[1] and studied the annotation documentation[2]. I can see that the actual bind function is skipped but `keybinder_bind_full` is renamed to `keybinder_bind`. The header for that function shows four parameters of which the last is optional, so my call passing three parameters ought to be ok: /** * keybinder_bind_full: (rename-to keybinder_bind) * @keystring: an accelerator description (gtk_accelerator_parse() format) * @handler: (scope notified): callback function * @user_data: (closure) (allow-none): data to pass to @handler * @notify: (allow-none): called when @handler is unregistered * * Grab a key combination globally and register a callback to be called each * time the key combination is pressed. * * Since: 0.3.0 * * Returns: %TRUE if the accelerator could be grabbed */ gboolean keybinder_bind_full (const char *keystring, KeybinderHandler handler, void *user_data, GDestroyNotify notify) So I must have done something wrong, but I actually did very little. Here's my GI module: module Keybinder class Loader < GObjectIntrospection::Loader end loader = Loader.new(self) loader.load("Keybinder") end I'm not sure where to go from here... Thanks for your help, John [1] https://github.com/kupferlauncher/keybinder/blob/master/libkeybinder/bind.c#L547 [2] https://wiki.gnome.org/Projects/GObjectIntrospection/Annotations |
From: cedlemo <ce...@gm...> - 2017-02-27 16:56:26
|
Maybe look here https://github.com/ruby-gnome2/ggit this is a loader for the gobject-libgit2. It is very simple, it should be a good starting point. Look in the ruby-gnome2 gems too; the atk gem, for example, has been recently updated in order to use gobject-introspection instead of the C bindings. On 27/02/2017 17:30, John Lane wrote: > On 27/02/17 15:43, cedlemo wrote: > >> Keybinder-3.0 support GObject-Introspection so you could just write a >> loader. >> >> If you need more information, just ask. >> > My FFI is working except the key event callback doesn't work. So, rather > than trying to fix that, I can try to write a GObject-Introspection > loader. I've no idea where to start so some pointers would be good. Then > I'll give it a try... > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > ruby-gnome2-devel-en mailing list > rub...@li... > https://lists.sourceforge.net/lists/listinfo/ruby-gnome2-devel-en |
From: John L. <jo...@la...> - 2017-02-27 16:31:17
|
On 27/02/17 15:43, cedlemo wrote: > > Keybinder-3.0 support GObject-Introspection so you could just write a > loader. > > If you need more information, just ask. > My FFI is working except the key event callback doesn't work. So, rather than trying to fix that, I can try to write a GObject-Introspection loader. I've no idea where to start so some pointers would be good. Then I'll give it a try... |
From: cedlemo <ce...@gm...> - 2017-02-27 15:43:48
|
Hi Jhon, No I don't think that it exists some ruby bindings for Keybinder. Before you go further with FFI, have thought or tried to create a loader with GObject-Introspection ? Keybinder-3.0 support GObject-Introspection so you could just write a loader. If you need more information, just ask. cedlemo. On 27/02/2017 15:32, John Lane wrote: > Are there any Ruby bindings for Keybinder ? > > (https://lazka.github.io/pgi-docs/#Keybinder-3.0) > > Assuming there isn't, I've started to put one together using FFI. > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > ruby-gnome2-devel-en mailing list > rub...@li... > https://lists.sourceforge.net/lists/listinfo/ruby-gnome2-devel-en |