emacs, GSettings, and gtk3

2012-11-26 Thread Ken Brown
I am now able to build emacs-X11 with GSettings support, using either 
gtk2 or gtk3; the problems discussed in 
http://cygwin.com/ml/cygwin-xfree/2012-04/msg00048.html have disappeared.


Unfortunately, the resulting build produces some annoying Gtk warnings. 
 I'm trying to decide whether the benefits of GSettings and gtk3 
outweigh the annoyances.  I'd like the opinions of emacs users and GNOME 
experts on this.  Here are the details:


1. If emacs is built using gtk3 and the window geometry is specified on 
the command line or in ~/.Xdefaults, the following warning appears in 
the terminal from which emacs was started:


Gtk-WARNING **: gtk_window_parse_geometry() called on a window with no 
visible children; the window should be set up before 
gtk_window_parse_geometry() is called.


The warning can safely be ignored but is annoying.  See

  http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11177

I don't know any good workaround, except perhaps to wrap emacs in a 
script, or use an alias, that redirects stderr to a file.  (This would 
be similar to the Linux behavior, where I think stderr for programs 
started under X11 is typically redirected to ~/.xsession-errors.)


2. If emacs is built with GSettings support and is started without a 
D-Bus daemon running, the following warning is issued:


GLib-WARNING **: In call to g_spawn_sync(), exit status of a child 
process was requested but SIGCHLD action was set to SIG_IGN and ECHILD 
was received by waitpid(), so exit status can't be returned. This is a 
bug in the program calling g_spawn_sync(); either don't request the exit 
status, or don't set the SIGCHLD action.


The warning can usually, but not always, be ignored.  See

  http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8855

In this case there is a simple workaround: Ensure, by a suitable line in 
~/.startxwinrc or ~/.bashrc, that a D-Bus daemon is always running 
before emacs is started.


Thanks in advance for any opinions/advice on how I should deal with 
these issues in the next emacs release.  The simplest solution would be 
to continue to use gtk2 and to disable GSettings support, but I'm open 
to other suggestions.


Ken Brown
Cygwin's Emacs maintainer

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Implement ~/.xsession-errors?

2012-11-26 Thread Ken Brown
I'm wondering whether it's feasible for the Cygwin X-server to redirect 
stderr to ~/.xsession-errors for programs started under the server, as 
is done on some Linux systems.  This would be useful for two reasons. 
First, some programs emit warnings that can be ignored, and it would be 
nice if users could avoid seeing those every time they start the 
program.  Second, and more importantly, standard error is often lost, 
for instance for programs started by ~/.startxwinrc.  It could be useful 
for package maintainers to be able to ask users to send the contents of 
~/.xsession-errors.


Ken

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Re: emacs, GSettings, and gtk3

2012-11-26 Thread Yaakov (Cygwin/X)
On Mon, 2012-11-26 at 07:56 -0500, Ken Brown wrote:
 I'm trying to decide whether the benefits of GSettings and gtk3 
 outweigh the annoyances.  I'd like the opinions of emacs users and GNOME 
 experts on this.  Here are the details:
 
 1. If emacs is built using gtk3 and the window geometry is specified on 
 the command line or in ~/.Xdefaults, the following warning appears in 
 the terminal from which emacs was started:
 
 Gtk-WARNING **: gtk_window_parse_geometry() called on a window with no 
 visible children; the window should be set up before 
 gtk_window_parse_geometry() is called.
 
 The warning can safely be ignored but is annoying.

GTK+ warnings aren't uncommon, as GTK+ behaviour gradually changes over
time and programs don't always keep up.  If the program operates
correctly, and upstream says they can be ignored, then I wouldn't worry
about them.

As for choosing between GTK+ 2 vs 3, I would go with the upstream
default.

 2. If emacs is built with GSettings support and is started without a 
 D-Bus daemon running, the following warning is issued:
 
 GLib-WARNING **: In call to g_spawn_sync(), exit status of a child 
 process was requested but SIGCHLD action was set to SIG_IGN and ECHILD 
 was received by waitpid(), so exit status can't be returned. This is a 
 bug in the program calling g_spawn_sync(); either don't request the exit 
 status, or don't set the SIGCHLD action.
 
 In this case there is a simple workaround: Ensure, by a suitable line in 
 ~/.startxwinrc or ~/.bashrc, that a D-Bus daemon is always running 
 before emacs is started.

A D-Bus session daemon is required for most modern desktop software
nowadays, so I wouldn't consider this a setback.

HTH,


Yaakov



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Re: Implement ~/.xsession-errors?

2012-11-26 Thread Yaakov (Cygwin/X)
On Mon, 2012-11-26 at 13:35 -0500, Ken Brown wrote:
 I'm wondering whether it's feasible for the Cygwin X-server to redirect 
 stderr to ~/.xsession-errors for programs started under the server, as 
 is done on some Linux systems.  This would be useful for two reasons. 
 First, some programs emit warnings that can be ignored, and it would be 
 nice if users could avoid seeing those every time they start the 
 program.  Second, and more importantly, standard error is often lost, 
 for instance for programs started by ~/.startxwinrc.  It could be useful 
 for package maintainers to be able to ask users to send the contents of 
 ~/.xsession-errors.

~/.xsession-errors is a GDM-ism; as we don't use DMs in Cygwin/X, it
would mean implementing it from scratch somewhere else.  Also, a quick
Google search turned up a bunch of bugs about this file continuously
growing to the point of filling the disk partition, which is obviously
unacceptable, nor would it be helpful in the way you propose (think:
strace snippets).  So I would say, probably not.  If you want to see
errors from a particular program, just start it from console, copy and
paste.


Yaakov
Cygwin/X



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/