[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Antiright-devel] antiright configure gtkshell/main.c gtkshell/te...
From: |
Jeffrey Bedard |
Subject: |
[Antiright-devel] antiright configure gtkshell/main.c gtkshell/te... |
Date: |
Tue, 04 Dec 2007 23:45:30 +0000 |
CVSROOT: /sources/antiright
Module name: antiright
Changes by: Jeffrey Bedard <jefbed> 07/12/04 23:45:30
Modified files:
. : configure
gtkshell : main.c terminal.c terminal.h
Log message:
Add support for multiple top-level windows, as --- separated arguments.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/antiright/configure?cvsroot=antiright&r1=1.109&r2=1.110
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/main.c?cvsroot=antiright&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/terminal.c?cvsroot=antiright&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/terminal.h?cvsroot=antiright&r1=1.7&r2=1.8
Patches:
Index: configure
===================================================================
RCS file: /sources/antiright/antiright/configure,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -b -r1.109 -r1.110
--- configure 25 Nov 2007 01:55:07 -0000 1.109
+++ configure 4 Dec 2007 23:45:30 -0000 1.110
@@ -29,6 +29,7 @@
USE_DISTCC=NO
USE_CCACHE=NO
USE_BOEHMGC=NO
+USE_THREADS=YES
# Must be enabled.
USE_GTK=YES
@@ -50,6 +51,10 @@
USE_DISTCC=YES
elif [ "$ARG" = "--enable-boehmgc" ]; then
USE_BOEHMGC=YES
+ elif [ "$ARG" = "--disable-threads" ]; then
+ USE_THREADS=NO
+ else
+ echo WARNING: Unknown configure option passed: "$ARG"
fi
done
@@ -139,6 +144,12 @@
INSTALL=/usr/bin/install
+if [ "$USE_THREADS" = "YES" ]; then
+ DEFS="$DEFS -DUSE_THREADS"
+ LDFLAGS="$LDFLAGS -lpthread"
+ echo USE_THREADS=YES >> config.mk
+fi
+
echo Prefix is $PREFIX
echo "VERSION=$VERSION" >> config.mk
echo "PREFIX=$PREFIX" >> config.mk
Index: gtkshell/main.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/main.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- gtkshell/main.c 27 Jul 2007 01:13:36 -0000 1.29
+++ gtkshell/main.c 4 Dec 2007 23:45:30 -0000 1.30
@@ -30,31 +30,57 @@
$(gsh, finalize);
}
-int
-thread_main(int argc, char **argv)
+static GSH *
+make_window_for_args(const gint argc, const gchar ** argv)
{
- struct GSH * gsh;
+ GSH * gsh = ARNEW(gsh, GSH);
-#ifdef LIBGC
- GC_INIT();
-#endif /* LIBGC */
- gtk_init(&argc, &argv);
- gsh=ARNEW(gsh, GSH);
- setup_gui(gsh, (const gint)argc, (const gchar **)argv);
+ setup_gui(gsh, argc, argv);
#ifdef LIBGC
GC_gcollect();
#endif /* LIBGC */
- gtk_main(); /* application main loop */
-#ifndef LIBGC
- /* Cleanup when finished. */
- $(gsh, delete);
-#endif /* not LIBGC */
- return (EXIT_SUCCESS);
+ return gsh;
}
int
main(int argc, char ** argv)
{
- return thread_main(argc, argv);
+ guint counter;
+ struct ARArguments * argset;
+ GSH * gsh;
+
+ gtk_init(&argc, &argv);
+
+ argset=ARNEW(ar, ARArguments);
+ $(argset, add, argv[0]);
+
+ //threads=malloc(sizeof(pthread_t));
+
+ for(counter=1; counter<argc; counter++)
+ {
+ /* Use '---' as thread separator. */
+ if(!strncmp(argv[counter], "---", 3))
+ {
+ gsh=make_window_for_args((const gint)argset->argc,
+ (const gchar **)argset->argv);
+ //$(argset, delete);
+ argset=ARNEW(ar, ARArguments);
+ $(argset, add, argv[0]);
+ }
+ else /* Add more arguments. */
+ {
+#ifdef DEBUG
+ ARBUG("add arguments");
+#endif /* DEBUG */
+ $(argset, add, argv[counter]);
+ }
+ }
+ make_window_for_args((const gint)argset->argc,
+ (const gchar **)argset->argv);
+ //$(argset, delete);
+
+ gtk_main(); /* application main loop */
+
+ return 0;
}
Index: gtkshell/terminal.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/terminal.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- gtkshell/terminal.c 3 Dec 2007 19:40:21 -0000 1.31
+++ gtkshell/terminal.c 4 Dec 2007 23:45:30 -0000 1.32
@@ -27,10 +27,10 @@
#ifdef HAVE_VTE
#include <vte/reaper.h>
-#define VSETW(element, ...)\
- VSET(element, term->widget, __VA_ARGS__)
#define VSET(element, widget, ...)\
vte_terminal_set_##element(VTE_TERMINAL(widget), __VA_ARGS__)
+#define VSETW(element, ...)\
+ VSET(element, term->widget, __VA_ARGS__)
#endif /* HAVE_VTE */
#ifdef HAVE_VTE
@@ -66,12 +66,11 @@
/* This fixes the failure of environment inheritance
under cygwin. */
const gchar * shell = getenv("SHELL");
- if(shell)
- return shell;
- else
- return (const gchar *)"/bin/sh";
+
+ return shell ? shell : (const gchar *)GSH_DEFAULT_SHELL;
}
+#if 0
static void
handle_child_exited(GtkWidget * widget, gpointer user_data)
{
@@ -80,7 +79,7 @@
gtk_notebook_remove_page(notebook, gtk_notebook_page_num(notebook,
widget));
}
-
+#endif /* 0 */
static void
gsh_terminal_run(struct GSH_Terminal * term, const gchar * command)
{
@@ -102,19 +101,27 @@
const gchar *argv[] = { shell, "-c", command, NULL };
/* Start the command in the terminal. */
#ifdef HAVE_VTE
+#if 0
vte_reaper_add_child(
+#endif
vte_terminal_fork_command(VTE_TERMINAL(term->widget),
shell, (char **)argv, (char **)envv,
- NULL, TRUE, TRUE, TRUE));
+ NULL, TRUE, TRUE, TRUE)
+#if 0
+ )
+#endif
+ ;
#endif /* HAVE_VTE */
}
/* Free after use. */
g_free(height);
g_free(width);
+#if 0
/* Handle terminal exit. */
g_signal_connect(G_OBJECT(term->widget), "child-exited",
handle_child_exited, term);
+#endif
}
static void
Index: gtkshell/terminal.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/terminal.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- gtkshell/terminal.h 24 Nov 2007 10:53:41 -0000 1.7
+++ gtkshell/terminal.h 4 Dec 2007 23:45:30 -0000 1.8
@@ -23,6 +23,8 @@
#ifndef GSH_TERMINAL_H
#define GSH_TERMINAL_H
+#define GSH_DEFAULT_SHELL "/bin/sh"
+
struct GSH_Terminal *
gsh_new_GSH_Terminal(GSH * gsh);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Antiright-devel] antiright configure gtkshell/main.c gtkshell/te...,
Jeffrey Bedard <=