Simplify autogen.sh by using autoreconf
[hvgrip.git] / src / main.c
index 3629b07..fb886ab 100644 (file)
  */
 
 #include <config.h>
-#include <gnome.h>
+#include <glib.h>
+#include <glib/gi18n.h>
+#include <popt.h>
 #include <stdlib.h>
 
 #include "grip.h"
 
-static gint KillSession(GnomeClient* client, gpointer client_data);
-static gint SaveSession(GnomeClient *client, gint phase, 
-                       GnomeSaveStyle save_style,
-                       gint is_shutdown, GnomeInteractStyle interact_style,
-                       gint is_fast, gpointer client_data);
 static gint TimeOut(gpointer data);
 
 gboolean do_debug=TRUE;
@@ -119,6 +116,7 @@ struct poptOption options[] = {
     N_("Run in verbose (debug) mode"),
     NULL
   },
+  POPT_AUTOHELP
   {
     NULL,
     '\0',
@@ -150,7 +148,8 @@ void Debug(char *fmt,...)
 
 int Cmain(int argc, char* argv[])
 {
-  GnomeClient *client;
+  poptContext context;
+  int status;
 
   /* Unbuffer stdout */
   setvbuf(stdout, 0, _IONBF, 0);
@@ -160,22 +159,23 @@ int Cmain(int argc, char* argv[])
   bindtextdomain(GETTEXT_PACKAGE,GNOMELOCALEDIR);
   textdomain(GETTEXT_PACKAGE);
 
-  gnome_program_init(PACKAGE,VERSION,LIBGNOMEUI_MODULE,argc,argv, 
-                    GNOME_PARAM_POPT_TABLE,options,
-                    GNOME_PROGRAM_STANDARD_PROPERTIES,NULL);
+  gtk_init(&argc, &argv);
+  context = poptGetContext(NULL, argc, (const char **) argv, options, 0);
+  status = poptGetNextOpt(context);
+  if (status != -1) {
+    fprintf(stderr, "Error with option [%s]:\n  %s\n",
+           poptBadOption(context, POPT_BADOPTION_NOALIAS),
+           poptStrerror(status));
+
+    /* Print a short usage message. */
+    poptPrintUsage(context, stderr, 0);
+
+    exit(1);
+  }
 
   bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF8");
   setenv("CHARSET","UTF-8",1);
 
-  /* Session Management */
-  
-  client=gnome_master_client();
-  gtk_signal_connect(GTK_OBJECT(client),"save_yourself",
-                    GTK_SIGNAL_FUNC(SaveSession),argv[0]);
-  gtk_signal_connect(GTK_OBJECT(client),"die",
-                    GTK_SIGNAL_FUNC(KillSession),NULL);
-  
-
   do_debug=verbose;
 
   if(scsi_device) printf("scsi=[%s]\n",scsi_device);
@@ -194,35 +194,6 @@ int Cmain(int argc, char* argv[])
   return 0;
 }
 
-/* Save the session */
-static gint SaveSession(GnomeClient *client, gint phase,
-                       GnomeSaveStyle save_style,
-                       gint is_shutdown, GnomeInteractStyle interact_style,
-                       gint is_fast, gpointer client_data)
-{
-  gchar** argv;
-  guint argc;
-
-  /* allocate 0-filled, so it will be NULL-terminated */
-  argv = g_malloc0(sizeof(gchar*)*4);
-  argc = 1;
-
-  argv[0] = client_data;
-
-  gnome_client_set_clone_command(client, argc, argv);
-  gnome_client_set_restart_command(client, argc, argv);
-
-  return TRUE;
-}
-
-/* Kill Session */
-static gint KillSession(GnomeClient* client, gpointer client_data)
-{
-  gtk_main_quit();
-
-  return TRUE;
-}
-
 static gint TimeOut(gpointer data)
 {
   GripUpdate(grip_app);