pango -- prevent line break?

2011-10-19 Thread Allin Cottrell
I have some text I'm displaying via pango and while in general 
I want to allow automatic line breaks, I want to prevent line 
breaks from occurring in certain contexts.


Specifically, what I'm trying to avoid is the breaking of 
option-flag strings such as --quiet in online documentation 
(with -- appearing on one line and quiet on the next).


I've tried creating a GtkTextTag like this:

tag = gtk_text_tag_new(optflag);
g_object_set(tag, family, monospace,
 wrap-mode, GTK_WRAP_NONE,
 wrap-mode-set, TRUE, NULL);

then adding it to the appropriate GtkTextTagTable, and using 
gtk_text_buffer_insert_with_tags_by_name to wrap the option 
strings. But, alas, it doesn't help: the monospace font is 
applied OK, but I still get line breaks after --.


Any suggestions would be appreciated.

--
Allin Cottrell
Department of Economics
Wake Forest University, NC

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


GLib 2.31.0

2011-10-19 Thread Ryan Lortie
At long last, GLib 2.31.0 has been released.

  http://download.gnome.org/sources/glib/2.31/

  46fcaec884be7ce1b780feffb0da987b55e23850a870d94ed84356870532fe8c  
glib-2.31.0.tar.xz

Most people reading this announcement know that there have been a huge
number of changes in this release.  There were some breaks involved in
that, but I've been running it on my system (in /usr) for the past few
days now without detecting any issues.

Special thanks to Rico Tzschichholz who has been doing the same and
found two rather serious issues by doing so (both of which have been
fixed).

On to the NEWS...

(ps: the 500 commits are a lie[1])

Overview of changes from GLib 2.29/2.30 to 2.31.0
=

This release contains a huge number of changes (500 commits worth).  The
list below attempts to summarise, but not every change is listed.

* Major changes to threading and synchronisation
 - threading is now always enabled in GLib
 - support for custom thread implementations (including our own internal
   support for errorcheck mutexes) has been removed
 - a whole lot of dead code (to deal with the non-threaded case) has
   been ripped out.  This includes the racy path of GMainContext that
   caused deadlocks with respect to child process exits in
   single-threaded programs (such as gtester).
 - libgthread is now an empty shell and g_thread_init() is no longer
   required (and has been deprecated)
 - GMutex and GCond can now be statically allocated without explicit
   initialisation.  Dynamic allocation for these types is deprecated.
 - new types GRecMutex and GRWLock can also be statically allocated
   without explicit initialisation.
 - GPrivate can now be statically allocated and has an improved API.
   Dynamic allocation of GPrivate is deprecated.
 - GStaticMutex, GStaticRecMutex, GStaticRwLock, GStaticPrivate are
   deprecated.
 - GCond now uses monotonic time internally and a new API takes
   monotonic time for timed waits, deprecating the wallclock API
 - removal of the insane macro indirection used in the previous
   implementation of threading and synchronisation APIs
 - use SRWLock and CONDITION_VARIABLE APIs when available on Windows
   (Vista and later) and emulate them on XP
 - leaks of G(Static)Private-allocated data on some cases of thread exit
   have been fixed
 - simplified new thread creation API with the old API deprecated.  The
   concept of joinability has disappeared (all threads are joinable) as
   have priority levels, 'bound'ness (ie: kernel vs. userspace threads)
   and ability to manipulate the stack size.
 - GThread is now a refcounted type
 - other implementation details changed

* Move headers for some deprecated functionality to a separate
  deprecated/ directory.

* New support for attribute-based deprecations to issue compiler
  warnings instead of breaking the build and/or giving warnings about
  implicit declarations (and possibly miscompiling).

* GCache has been deprecated (after its last use was removed from our
  platform over a year ago).

* It is no longer possible to include individual headers (like
  ghash.h) -- you must #include glib.h.

* The misguided experiment of allowing the program to stumble along with
  missing GSettings schemas is now over -- the abort is back.

* Clarify that fork() is not valid while using GMainContext.  This is
  because the internal resources of the GMainContext end up being shared
  by both processes.  We had an assert here but it was breaking existing
  (valid) use cases as well, so it has been removed for now.

* GApplication
  - add ::shutdown signal as logical dual to ::startup
  - don't use a GMainLoop: iterate the GMainContext directly (improves
quit logic)

* Several portability fixes for Windows, OpenBSD, Solaris

* Add new GValue API to specifically deal in signed chars (in case the
  platform defines 'char' as unsigned)

* some new API to mitigate the problems associated with calling setenv()
  in a multi-threaded program

* Use CLOCK_MONOTONIC unconditionally if the libc has support at compile
  time (ie: stop checking for kernel support at runtime).

* pkg-config files:
  - drop -uninstalled variants
  - remove gobject dependency on gthread

* New macro G_ATOMIC_LOCK_FREE is defined if the atomic operations are
  implemented without use of a mutex.  Cleaned up atomic-related
  compilation issues with mingw compilers on win32 systems.

* SOCKS proxy and resolver improvements

* Fix the spelling of G_IO_FLAG_IS_WRITABLE (was WRITEABLE) and
  introduce a macro for backwards compatibility.

* GDBus:
  - many code generation updates and improvements
  - some race condition fixes, including testcase hangs

* GVariant:
  - new g_variant_new_from_fixed_array() API
  - substantial docs improvements/clarifications

* GKeyFile is now refcounted and boxed

* mount monitoring is now based on /proc/mounts (where available)
  instead of mtab

* new macros G_SOURCE_CONTINUE and G_SOURCE_REMOVE for 

Gtk+ win32 fixes, please test

2011-10-19 Thread Alexander Larsson
I just pushed a bunch of changes to how grabs and crossing events
work in the win32 backend to the gtk-2-24-win32 branch, and I want to
fix any other leftover bugs from the client side windows conversion.

Can any people interested in the win32 code please try this out and
report any issues, regressions against gtk-2-24 or just things that are
broken on windows related to windows and events.

I'm doing this work on the 2.24 branch because gtk2 is what most apps
are still using on win32. When this seems to work well I want to forward
port it to 3.2.


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


GLib 2.31.0

2011-10-19 Thread Ryan Lortie
At long last, GLib 2.31.0 has been released.

  http://download.gnome.org/sources/glib/2.31/

  46fcaec884be7ce1b780feffb0da987b55e23850a870d94ed84356870532fe8c  
glib-2.31.0.tar.xz

Most people reading this announcement know that there have been a huge
number of changes in this release.  There were some breaks involved in
that, but I've been running it on my system (in /usr) for the past few
days now without detecting any issues.

Special thanks to Rico Tzschichholz who has been doing the same and
found two rather serious issues by doing so (both of which have been
fixed).

On to the NEWS...

(ps: the 500 commits are a lie[1])

Overview of changes from GLib 2.29/2.30 to 2.31.0
=

This release contains a huge number of changes (500 commits worth).  The
list below attempts to summarise, but not every change is listed.

* Major changes to threading and synchronisation
 - threading is now always enabled in GLib
 - support for custom thread implementations (including our own internal
   support for errorcheck mutexes) has been removed
 - a whole lot of dead code (to deal with the non-threaded case) has
   been ripped out.  This includes the racy path of GMainContext that
   caused deadlocks with respect to child process exits in
   single-threaded programs (such as gtester).
 - libgthread is now an empty shell and g_thread_init() is no longer
   required (and has been deprecated)
 - GMutex and GCond can now be statically allocated without explicit
   initialisation.  Dynamic allocation for these types is deprecated.
 - new types GRecMutex and GRWLock can also be statically allocated
   without explicit initialisation.
 - GPrivate can now be statically allocated and has an improved API.
   Dynamic allocation of GPrivate is deprecated.
 - GStaticMutex, GStaticRecMutex, GStaticRwLock, GStaticPrivate are
   deprecated.
 - GCond now uses monotonic time internally and a new API takes
   monotonic time for timed waits, deprecating the wallclock API
 - removal of the insane macro indirection used in the previous
   implementation of threading and synchronisation APIs
 - use SRWLock and CONDITION_VARIABLE APIs when available on Windows
   (Vista and later) and emulate them on XP
 - leaks of G(Static)Private-allocated data on some cases of thread exit
   have been fixed
 - simplified new thread creation API with the old API deprecated.  The
   concept of joinability has disappeared (all threads are joinable) as
   have priority levels, 'bound'ness (ie: kernel vs. userspace threads)
   and ability to manipulate the stack size.
 - GThread is now a refcounted type
 - other implementation details changed

* Move headers for some deprecated functionality to a separate
  deprecated/ directory.

* New support for attribute-based deprecations to issue compiler
  warnings instead of breaking the build and/or giving warnings about
  implicit declarations (and possibly miscompiling).

* GCache has been deprecated (after its last use was removed from our
  platform over a year ago).

* It is no longer possible to include individual headers (like
  ghash.h) -- you must #include glib.h.

* The misguided experiment of allowing the program to stumble along with
  missing GSettings schemas is now over -- the abort is back.

* Clarify that fork() is not valid while using GMainContext.  This is
  because the internal resources of the GMainContext end up being shared
  by both processes.  We had an assert here but it was breaking existing
  (valid) use cases as well, so it has been removed for now.

* GApplication
  - add ::shutdown signal as logical dual to ::startup
  - don't use a GMainLoop: iterate the GMainContext directly (improves
quit logic)

* Several portability fixes for Windows, OpenBSD, Solaris

* Add new GValue API to specifically deal in signed chars (in case the
  platform defines 'char' as unsigned)

* some new API to mitigate the problems associated with calling setenv()
  in a multi-threaded program

* Use CLOCK_MONOTONIC unconditionally if the libc has support at compile
  time (ie: stop checking for kernel support at runtime).

* pkg-config files:
  - drop -uninstalled variants
  - remove gobject dependency on gthread

* New macro G_ATOMIC_LOCK_FREE is defined if the atomic operations are
  implemented without use of a mutex.  Cleaned up atomic-related
  compilation issues with mingw compilers on win32 systems.

* SOCKS proxy and resolver improvements

* Fix the spelling of G_IO_FLAG_IS_WRITABLE (was WRITEABLE) and
  introduce a macro for backwards compatibility.

* GDBus:
  - many code generation updates and improvements
  - some race condition fixes, including testcase hangs

* GVariant:
  - new g_variant_new_from_fixed_array() API
  - substantial docs improvements/clarifications

* GKeyFile is now refcounted and boxed

* mount monitoring is now based on /proc/mounts (where available)
  instead of mtab

* new macros G_SOURCE_CONTINUE and G_SOURCE_REMOVE for 

Re: GLib 2.31.0

2011-10-19 Thread Allin Cottrell

On Wed, 19 Oct 2011, Ryan Lortie wrote:


At long last, GLib 2.31.0 has been released.


Thanks, the change log is impressive! One question: should we 
consider this release latest stable GLib or is the odd minor 
version number a sign of work-in-progress?


Allin Cottrell

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gtk+ win32 fixes, please test

2011-10-19 Thread Dieter Verfaillie

On Wed, 19 Oct 2011 22:53:49 +0200, Alexander Larsson wrote:

I just pushed a bunch of changes to how grabs and crossing events
work in the win32 backend to the gtk-2-24-win32 branch, and I want to
fix any other leftover bugs from the client side windows conversion.


From my first tests (on Windows XP), this looks good. Even better, it's
amazing to see some long standing bugs finally squashed. Thank you!


Can any people interested in the win32 code please try this out and
report any issues, regressions against gtk-2-24 or just things that 
are

broken on windows related to windows and events.


To hopefully make this a bit easier on other people interested in 
testing,

I've (hastily!) constructed a gtk+-bundle based on this branch. A word
of warning is in order though:
! this bundle is *not* to be used in any kind of production environment
! this bundle is for testing purposes only
! this bundle is entirely unsupported
! there is no warranty whatsoever
! if this bundle breaks your favorite toy, you get to keep the pieces

Now we've gotten that out of the way, note that this bundle is a bit
special compared to the gtk+-bundles usually available on gtk.org
in that:
- not all locales are included (saved me a bit of time)
- no documentation is included (saved me a bit of time)
+ all 64 test programs not usually distributed are included in the
  bin directory

http://www.optionexplicit.be/projects/gnome-windows/20111020/gtk+-bundle_test_gtk-2-24-win32_branch.zip

mvg,
Dieter

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GLib 2.31.0

2011-10-19 Thread Matthias Clasen
On Wed, Oct 19, 2011 at 6:36 PM, Allin Cottrell cottr...@wfu.edu wrote:
 On Wed, 19 Oct 2011, Ryan Lortie wrote:

 At long last, GLib 2.31.0 has been released.

 Thanks, the change log is impressive! One question: should we consider this
 release latest stable GLib or is the odd minor version number a sign of
 work-in-progress?

This is an unstable release. The next major release will be 2.32, due
out next spring.
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


RE: Gtk+ win32 fixes, please test

2011-10-19 Thread Fan Chun-wei
Hi Alexander/Dieter,

I will also test the builds on Visual C++ 2008/2010 in these 2 days to poke out 
possible issues there in these 2 days or so, and will keep people informed here.

Perhaps we might want to post this on the Win32 list too?


Thanks for the update, and thanks to Alexander for squishing out those bugs.

Best regards, and God bless!

-Fan, Chun-wei



寄件日期: 2011/10/20 (四) 7:49 AM
主旨: Re: Gtk+ win32 fixes, please test

On Wed, 19 Oct 2011 22:53:49 +0200, Alexander Larsson wrote:
 I just pushed a bunch of changes to how grabs and crossing events
 work in the win32 backend to the gtk-2-24-win32 branch, and I want to
 fix any other leftover bugs from the client side windows conversion.

From my first tests (on Windows XP), this looks good. Even better, it's
amazing to see some long standing bugs finally squashed. Thank you!

 Can any people interested in the win32 code please try this out and
 report any issues, regressions against gtk-2-24 or just things that are
 broken on windows related to windows and events.

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list