[ANN] Ruby-GNOME2 1.2.4

Hi,

The Ruby-GNOME2 project released Ruby-GNOME2 1.2.4:
http://ruby-gnome2.sourceforge.jp/hiki.cgi?News_20130324_1

This release adds Ruby/WebKitGtk2. It is for GTK+ 2.

== Help us!

=== About Ruby/GTK3

Many sample programs for Ruby/GTK3 aren’t migrated from
Ruby/GTK2. They reports many warnings. We want to migrate
all sample programs from Ruby/GTK2. We want you to help us
for the work.

Here are work flows to start the work.

% gem install gtk3
% git clone [email protected]:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/gtk3/gtk-demo
% ruby main.rb # reports many warnings
% vim xxx.rb # You fix warnings and errors
# See Ruby/GTK2 version program to confirm the expected behavior:
# % cd ${RUBY_GNOME2_TOP_DIR}/gtk2/gtk-demo
# % ruby main.rb
# And see also the original sample programs in GTK+ 3:
# Sign in · GitLab
# We may have some missing samples. If you find some
# missing samples, please port it to Ruby/GTK3.

We are happy that you send a pull request for the work.

The above work flows for gtk-demo but there are more samples
in gtk3/misc/ and gtk3/testgtk/. We want you to help us for
the samples.

=== About GObject Introspection bindings

We want to replace existing bindings by GObject
Introspection based bindings. If the bindings is GObject
Introspection ready. To be specific, first we want to
replace Ruby/GStreamer and Ruby/GooCanvas with GObject
Introspection based bindings. We want you to help us for the
work.

GStreamer and GooCanvas has many API. So their bindings
aren’t completed yet. Their bindings are still
“experimental”. And their bindings don’t support the latest
version yet. (GStreamer 1.0.0 had been released!)
If we get GObject Introspection based bindings, we can
support the latest version semi automatically. Both
developers and users will be happy.

To be specific, we want you to port sample programs for them
to Ruby.

We want you to port sample programs of GStreamer and
GooCanvas to Ruby by requiring those bindings.

Here are work flows to start the work.

For GStreamer:

% gem install gobject-introspection
% git clone [email protected]:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/gstreamer-gi
% vim sample/xxx.rb
require “gst”
Gst.init

Port a sample

% ruby -I sample sample/xxx.rb

You can find samples for GStreamer at
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/

For example:
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/helloworld/helloworld.c

For GooCanvas:

% gem install gobject-introspection
% git clone [email protected]:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/goocanvas
% vim sample/xxx.rb
require “goocanvas-gi”

Port a sample

% ruby -I sample sample/xxx.rb

You can find samples for GooCanvas at
demo · master · GNOME / goocanvas · GitLab

And we want to use GObject Introspection for new bindings
such as Ruby/WebKitGTK. There are the bindings but it
doesn’t have ported samples. We need to port WebKitGTK+
samples to create usable API. Here is work flow to start the
work:

% gem install gobject-introspection
% git clone [email protected]:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/webkit-gtk
% vim sample/xxx.rb
require “webkit-gtk”
WebKitGtk.init

Port a sample

% ruby -I sample sample/xxx.rb

We are happy that you send a pull request for a sample.

You may find a sample that can’t be ported well. If you find
it, please tell us by pull request or sending an email to
this mailing list. The sample may use a feature that is not
implemented in Ruby/GObjectIntrospection.

== Ruby-GNOME2 1.2.4: 2013-03-24

Ruby/WebKitGtk2 addition release!

=== Changes

==== All

  • Improvments
    • Start mswin64 support. (But it is not completed yet.)
      [GitHub #135] [Patch by usa]

==== Ruby/GLib2

  • Imrpvoments
    • Reduce needless GBoxed object copy.

==== Ruby/GdkPixbuf2

  • Fixes
    • Fix build error by a typo.

==== Ruby/GtkSourceView2

  • Improvements
    • Support auto RPM install on CentOS 6.

==== Ruby/GObjectIntrospection

  • Improvements
    • Add method name to arguments validation failure message.
    • Support specific version loading.

==== Ruby/GTK3

  • Improvements
    • [windows] Add gschemas.compiled.
      [ruby-talk:406026] [Reported by Regis d’Aubarede]

==== Ruby/WebKitGtk2

  • New!
    [GitHub #136] [Patch by eumario]

=== Thanks

  • usa
  • Regis d’Aubarede
  • eumario

Thanks,

kou

for styles comparison, see snapshots at :
http://raubarede.tumblr.com/gtk3
this come from Ruiby gem, command

ruiby_demo3

All work good with 1.2.4, even gtksourceview3…

Oups: on Gtk.main_quit
test_gtk3.rb: [BUG] Segmentation fault
ruby 2.0.0p0 (2013-02-24) [i386-mingw32]

– Control frame information

c:0001 p:0000 s:0002 E:001f9c TOP [FINISH]

– C level backtrace information
-------------------------------------------bye,

bye,

loaded 1.2.5
all good on windows !
(except css…)

bye

Hi,

In [email protected]
“Re: [ruby-gnome2-devel-en] [ANN] Ruby-GNOME2 1.2.4” on Wed, 27 Mar
2013 23:20:18 +0100,
Regis d’Aubarede [email protected] wrote:

loaded 1.2.5
all good on windows !
(except css…)

Sorry for my late response.
I’ve confirmed no-good CSS.

I noticed that the default CSS for Windows that is bundled
in GTK+ is improving in GTK+ 3.8.0. It seems that we should
improve the default CSS instead of third party CSS such as
Greybird. Because many users will be happy if the default
CSS is good. :slight_smile:

Could you try the work? Here is a work flow for the work:

  1. Download the default CSS for Windows from
    http://pub.cozmixng.org/~kou/archives/gtk-win32-custom.zip

    It contains CSSs in Sign in · GitLab
    with GTK+ theme layout.

  2. Extract it into
    ${GDK3_GEM_PATH}/vendor/local/share/themes/ folder.
    Here are expected folder layout:

    vendor/local/share/themes
    ±-- Default
    | ±-- gtk-3.0
    | ±-- gtk-keys.css
    ±-- Emacs
    | ±-- gtk-3.0
    | ±-- gtk-keys.css
    ±-- Greybird
    | ±-- …
    ±-- gtk-win32-custom
    ±-- gtk-3.0
    ±-- gtk-win32-base.css
    ±-- gtk-win32-classic.css
    ±-- gtk-win32-xp.css
    ±-- gtk-win32.css
    ±-- gtk.css

  3. Change “gtk-theme-name” to “gtk-win32-custom” in
    ${GDK3_GEM_PATH}/vendor/local/etc/gtk-3.0/settings.ini.
    The value is “Greybird” by default.

  4. Run your application and fix the following CSSs:

    ${GDK3_GEM_PATH}/vendor/local/share/themes/gtk-win32-custom/gtk-3.0/
    ±-- gtk-win32-base.css
    ±-- gtk-win32.css

  5. Send your fix to GTK+ development team or us.

    If you send your fix to GTK+ development team,
    Bugzilla https://bugzilla.gnome.org/ or gtk-devel-list
    mailing list
    The gtk-devel-list Archives
    will be appropriate. (I’m a member of the list.)

    If you send your fix to us. Please send whole
    “gtk-win32-custom” folder and fixed problem list. (If
    there are screenshots with/without your fix, they will
    be very helpful. :wink: We will send your fix to GTK+
    development team.

Could you (or someone who uses Ruby/GTK3 on Windows) help us?

Thanks,

kou

  1. Run your application and fix the following CSSs:
  2. Send your fix to GTK+ development team or us.

This theme is good for me.

Snapshots (gtk3/GreyBird,gtk3/win32-xustom,gtk2)
are at http://raubarede.tumblr.com/gtk3

Thank you,

Hi,

In [email protected]
“Re: [ruby-gnome2-devel-en] [ANN] Ruby-GNOME2 1.2.4” on Tue, 09 Apr
2013 18:36:32 +0200,
Regis d’Aubarede [email protected] wrote:

  1. Run your application and fix the following CSSs:
  2. Send your fix to GTK+ development team or us.

This theme is good for me.

Snapshots (gtk3/GreyBird,gtk3/win32-xustom,gtk2)
are at http://raubarede.tumblr.com/gtk3

Thanks for confirming it.
I’ll remove Greybird theme at the next release. :slight_smile:

Thanks,

kou