On Jan 3, 2008 2:39 AM, dfinnie <dfinnie / gmail.com> wrote:
> I've been doing a lot of Python for Google's Highly Open Participation
> contest lately but finally found the time to make a utility I thought
> of a few weeks ago.  Basically, it allows you to pipe to and from the
> clipboard on the command line.  Example:
>
> daniel@daniel-desktop:~$ echo 'ruby' | clipboard
> daniel@daniel-desktop:~$ clipboard
> ruby
> daniel@daniel-desktop:~$
>
> You can also access it with the normal Control-C/Control-V shortcuts.
>
> So, it's a great concept, but not such a good implementation.  First,
> I doctored the output above.  ruby-gnome2 seems to be outputting error
> messages that I can't get rid of, even after a Google search.  This is
> the real output:
>
> daniel@daniel-desktop:~$ echo 'ruby' | clipboard
> /usr/lib/ruby/1.8/glib2.rb: line 55
>    GLib-GObject-CRITICAL **:g_boxed_type_register_static: assertion
> `g_type_from_name (name) == 0' failed
> /usr/lib/ruby/1.8/glib2.rb: line 55
>    GLib-GObject-CRITICAL **:g_param_spec_boxed: assertion
> `G_TYPE_IS_BOXED (boxed_type)' failed
> /usr/lib/ruby/1.8/glib2.rb: line 55
>    GLib-GObject-CRITICAL **:g_object_class_install_property: assertion
> `G_IS_PARAM_SPEC (pspec)' failed
> /usr/lib/ruby/1.8/glib2.rb: line 55
>    GLib-GObject-CRITICAL **:g_param_spec_boxed: assertion
> `G_TYPE_IS_BOXED (boxed_type)' failed
> /usr/lib/ruby/1.8/glib2.rb: line 55
>    GLib-GObject-CRITICAL **:g_object_class_install_property: assertion
> `G_IS_PARAM_SPEC (pspec)' failed
> daniel@daniel-desktop:~$ clipboard
> /usr/lib/ruby/1.8/glib2.rb: line 55
>    GLib-GObject-CRITICAL **:g_boxed_type_register_static: assertion
> `g_type_from_name (name) == 0' failed
> /usr/lib/ruby/1.8/glib2.rb: line 55
>    GLib-GObject-CRITICAL **:g_param_spec_boxed: assertion
> `G_TYPE_IS_BOXED (boxed_type)' failed
> /usr/lib/ruby/1.8/glib2.rb: line 55
>    GLib-GObject-CRITICAL **:g_object_class_install_property: assertion
> `G_IS_PARAM_SPEC (pspec)' failed
> /usr/lib/ruby/1.8/glib2.rb: line 55
>    GLib-GObject-CRITICAL **:g_param_spec_boxed: assertion
> `G_TYPE_IS_BOXED (boxed_type)' failed
> /usr/lib/ruby/1.8/glib2.rb: line 55
>    GLib-GObject-CRITICAL **:g_object_class_install_property: assertion
> `G_IS_PARAM_SPEC (pspec)' failed
> ruby
> daniel@daniel-desktop:~$

I have seen these errors as well, you will have better luck if you
compile ruby-gnome2 directly from SVN.
Yeah, it has lots of dependencies, but probably you will have them.

I will love to play with code and see where it takes me!

>
> I have tried doing something like this with stderr, stdout, and defout
> with no luck:
> require 'stringio'
>
> old_stderr = $stderr
> $stderr = StringIO.new
>
> require 'gtk2'
>
> $stderr = old_stderr
>
> Any suggestions?
>
> I have posted the full source code to http://ruby.pastebin.com/f5ef5f028
>
> I would also like a better way to capture STDIN without blocking if
> there is no text on STDIN.
>
> Thanks,
> Dan Finnie
> dan / danfinnie.com
>
>



-- 
Let them talk of their oriental summer climes of everlasting
conservatories; give me the privilege of making my own summer with my
own coals.

http://gnufied.org