Re: how to end a session

> You don't want the signal_emit_by_name(), that's just in your own
> process, not useful.
> gnome_master_client() is right. But maybe you aren't connected to the
> session manager - try the same code in a standalone GNOME app instead
> of an applet? Try gnome_client_is_connected() or whatever that
> function is called?
> Havoc

Ok, I wrote gnexit.c:

#include <gnome.h>

int main (int argc, char *argv[]) {

  /* Initialize GNOME */
  gnome_init("gnexit", "0.1", argc, argv);

  /* check connection to session manager */
  if (GNOME_CLIENT_CONNECTED(gnome_master_client()))
    printf("Client is connected\n");

  /* try to exit gnome */
  printf("Exiting gnome... maybe\n");
  gnome_client_request_save (gnome_master_client(), GNOME_SAVE_BOTH,
                             GNOME_INTERACT_ANY, 0, 1);

  return 0;


Does not work. Digging a bit deeper in the library documentation
(especially GnomeClient docs gives me
the idea that gnome_master_client does not point to a "global gnome
client", but to the current application itself. But I still don't get
why in gnome-core/gsm/save.c gnome_client_request_save(...) works.



ir. Maarten Ditzel                 Delft University of Technology 
                                           Electrical Engineering 
ditzel cobalt et tudelft nl                  Circuits and Systems     Ubiquitous Communications

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]