[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Antiright-devel] antiright ACE-desktop/guidl/Horizontal_Deskbar....
From: |
Jeffrey Bedard |
Subject: |
[Antiright-devel] antiright ACE-desktop/guidl/Horizontal_Deskbar.... |
Date: |
Sat, 24 Mar 2007 04:17:13 +0000 |
CVSROOT: /sources/antiright
Module name: antiright
Changes by: Jeffrey Bedard <jefbed> 07/03/24 04:17:13
Modified files:
ACE-desktop/guidl: Horizontal_Deskbar.gdl
gtkshell : Makefile callbacks.c callbacks.h
dialog_options.c gtkshell.c gtkshell.h main.c
option_options.c terminal.c terminal_struct.h
Log message:
Use 'make' by default in configure.
Added a launcher for the IDE to Horizontal_Deskbar.gdl
Tuned lex/yacc dependency building in Makefile.
Removed gsh_quit_cb and signal group code.
Fixed integer signedness warning in dialog_options.c.
Added an initialization routine for GSH_Terminal and used in gsh_GSH.
Refactored main(), removed setting of -os from main, as parenting is
delayed, thus allowing it to be done as a regular option.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/antiright/ACE-desktop/guidl/Horizontal_Deskbar.gdl?cvsroot=antiright&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/Makefile?cvsroot=antiright&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/callbacks.c?cvsroot=antiright&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/callbacks.h?cvsroot=antiright&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/dialog_options.c?cvsroot=antiright&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/gtkshell.c?cvsroot=antiright&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/gtkshell.h?cvsroot=antiright&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/main.c?cvsroot=antiright&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/option_options.c?cvsroot=antiright&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/terminal.c?cvsroot=antiright&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/terminal_struct.h?cvsroot=antiright&r1=1.1&r2=1.2
Patches:
Index: ACE-desktop/guidl/Horizontal_Deskbar.gdl
===================================================================
RCS file:
/sources/antiright/antiright/ACE-desktop/guidl/Horizontal_Deskbar.gdl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- ACE-desktop/guidl/Horizontal_Deskbar.gdl 22 Mar 2007 08:32:04 -0000
1.3
+++ ACE-desktop/guidl/Horizontal_Deskbar.gdl 24 Mar 2007 04:17:13 -0000
1.4
@@ -3,22 +3,27 @@
option "rows" 1;
option "geometry" "+0-0";
option "undecorated";
-
-add button "ACE,ACE_32.png::ACE,ACE_32.png::eclipse,gtk-execute";
+// menu button
+add button "ACE,ACE_32.png::ACE,ACE_32.png::ACE -A
IDE,Text_Editor_32.png::eclipse,gtk-execute";
+// This is a simple "separator."
+add label "|";
+// command prompt
add prompt "env";
-
+add label "|";
+// For unlabeled items, the space between the item command and the comma allows
+// for a blank label.
add buttons
"ACE Lock ,Lock_Display_32.png",
"ACE Terminal ,Terminal_32.png",
"ACE File_Manager ,File_Manager_32.png",
"ACE Browser ,Browser_32.png",
"ACE Text_Editor ,Text_Editor_32.png",
- "ACE Calculator ,Calculator_32.png";
+ "ACE Calculator ,Calculator_32.png",
+ "ACE Sticky_Note ,Sticky_Note_32.png";
add label "|";
add buttons
"ACE Screen,Screen_32.png",
- "ACE System_Monitor,System_Monitor_32.png",
- "ACE Sticky_Note,Sticky_Note_32.png";
+ "ACE System_Monitor,System_Monitor_32.png";
add label "|";
add updating label "date '+%m/%d/%y%n%H:%M:%S'";
Index: gtkshell/Makefile
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/Makefile,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- gtkshell/Makefile 19 Mar 2007 10:18:25 -0000 1.17
+++ gtkshell/Makefile 24 Mar 2007 04:17:13 -0000 1.18
@@ -32,28 +32,30 @@
LDFLAGS+=`pkg-config --libs gtk+-2.0` `pkg-config --libs vte`
#LDFLAGS+=-lefence
-objects=gtkshell.o arguments.o options.o callbacks.o updated.o\
+objects=y.tab.o lex.yy.o gtkshell.o arguments.o options.o callbacks.o
updated.o\
label.o button.o text.o updated_label.o updated_progress.o\
updated_options.o add_options.o option_options.o dialog_options.o\
file_dialog.o row.o containers.o geometry.o font.o dragdrop.o\
- image_button.o y.tab.o lex.yy.o terminal.o terminal_options.o\
+ image_button.o terminal.o terminal_options.o\
guidl_util.o
program=main.o
-all: gtkshell
+all: y.tab.c gtkshell
-gtkshell: y.tab.c $(objects) $(program)
+gtkshell: y.tab.h $(objects) $(program)
$(CC) -o gtkshell $(objects) $(program) $(LDFLAGS)
ar rcs libgtkshell.a $(objects)
lex.yy.c: guidl.lex
lex guidl.lex
-y.tab.c: lex.yy.c guidl.y
+y.tab.h: lex.yy.c guidl.y
yacc -d guidl.y
+y.tab.c: y.tab.h
+
parser-clean:
rm -f *.yy.c *.tab.c *.tab.h
Index: gtkshell/callbacks.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/callbacks.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- gtkshell/callbacks.c 2 Mar 2007 19:12:00 -0000 1.15
+++ gtkshell/callbacks.c 24 Mar 2007 04:17:13 -0000 1.16
@@ -31,7 +31,7 @@
#endif /* DEBUG */
if (ARPBOOL(gsh) && ((gsh->bflags & GSH_CBEXIT) == GSH_CBEXIT))
- exit(EXIT_SUCCESS);
+ gtk_main_quit();
#ifdef DEBUG
ARBUG("==>made it past exit");
Index: gtkshell/callbacks.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/callbacks.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- gtkshell/callbacks.h 28 Feb 2007 03:53:51 -0000 1.5
+++ gtkshell/callbacks.h 24 Mar 2007 04:17:13 -0000 1.6
@@ -1,6 +1,6 @@
/*
AntiRight
- (c) 2002-2006 Jeffrey Bedard
+ (c) 2002-2007 Jeffrey Bedard
address@hidden
This file is part of AntiRight.
@@ -30,9 +30,9 @@
};
void
- system_cb(GtkWidget *widget, gpointer data);
+system_cb(GtkWidget *widget, gpointer data);
void
- entry_cb(GtkWidget *widget, gpointer data);
+entry_cb(GtkWidget *widget, gpointer data);
-#endif
+#endif /* not GSH_CALLBACKS_H */
Index: gtkshell/dialog_options.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/dialog_options.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- gtkshell/dialog_options.c 7 Mar 2007 06:44:47 -0000 1.11
+++ gtkshell/dialog_options.c 24 Mar 2007 04:17:13 -0000 1.12
@@ -30,7 +30,7 @@
static void
gsh_setup_message_dialog(struct GSH * gsh,
int argc, char **argv,
- unsigned int *counter,
+ int *counter,
GtkMessageType type) __attribute__((noreturn));
static void
@@ -60,7 +60,7 @@
static void
gsh_setup_message_dialog(struct GSH * gsh, int argc, char **argv,
- unsigned int *counter, GtkMessageType type)
+ int *counter, GtkMessageType type)
{
gsh_count(argc, counter);
gsh_message_dialog(gsh, type, argv[(*counter)]);
Index: gtkshell/gtkshell.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/gtkshell.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- gtkshell/gtkshell.c 9 Mar 2007 20:00:29 -0000 1.22
+++ gtkshell/gtkshell.c 24 Mar 2007 04:17:13 -0000 1.23
@@ -68,8 +68,9 @@
{
gsh->geometry = (gchar *)NULL;
gsh->bflags=0;
- gsh_GSH_Rows(&gsh->rows);
- gsh_GSH_Updater(&gsh->update);
+ gsh_GSH_Rows(&(gsh->rows));
+ gsh_GSH_Updater(&(gsh->update));
+ gsh_GSH_Terminal(&(gsh->terminal));
}
struct GSH *
gsh_new_GSH()
Index: gtkshell/gtkshell.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/gtkshell.h,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- gtkshell/gtkshell.h 19 Mar 2007 09:33:07 -0000 1.27
+++ gtkshell/gtkshell.h 24 Mar 2007 04:17:13 -0000 1.28
@@ -31,6 +31,7 @@
#include <sys/stat.h>
#include <vte/vte.h>
#include <unistd.h>
+#include <signal.h>
#include "../libantiright/library.h"
Index: gtkshell/main.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/main.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- gtkshell/main.c 19 Mar 2007 07:09:30 -0000 1.15
+++ gtkshell/main.c 24 Mar 2007 04:17:13 -0000 1.16
@@ -22,39 +22,48 @@
#include "gtkshell.h"
-int
-main(int argc, char **argv)
+static void
+init_GUI(struct GSH * gsh, int * argc, char *** argv)
{
- //Store application structure on stack.
- struct GSH gsh;
-
- gsh.terminal.script=NULL;
- gsh.terminal.width=80;
- gsh.terminal.height=32;
-
- gsh_stack_init(&gsh, &argc, &argv);
+ gsh_stack_init(gsh, argc, argv);
-#ifdef DEBUG
- g_debug("rows:\t%d\n", gsh.rows.rows);
- g_debug("row:\t%d\n", gsh.rows.row);
-#endif /* DEBUG */
-
- gsh.bflags |= (((argc > 1) && (strlen(argv[1]) == 3))
- && !strncmp(argv[1], "-os", 3)) ? GSH_SCROLL : GSH_NONE;
-
- gsh_setup_containers(&gsh);
- gsh_parse_arguments(&gsh, argc, argv);
- gsh_setup_base_container(&gsh);
-
- gsh_check_and_set_geometry(&gsh);
- gtk_widget_show(gsh.window);
- gtk_main();
+ /* Initialize toplevel child containers, with parenting delayed. */
+ gsh_setup_containers(gsh);
+ /* Create all application widgets based on command line arguments. */
+ gsh_parse_arguments(gsh, *argc, *argv);
+ /* Choose the correct parenting of the widget hierarchy based on options
+ * set. */
+ gsh_setup_base_container(gsh);
+ /* If geometry has been set in command line arguments, use that, else
+ * use a reasonable default. */
+ gsh_check_and_set_geometry(gsh);
+ /* Show everything when ready. */
+ gtk_widget_show(gsh->window);
+}
- if(gsh.terminal.script != NULL)
+static void
+cleanup(struct GSH * gsh)
+{
+ /* If the terminal was used, it created a temporary command script,
+ * which must be removed on program exit. A better way to do this would
+ * be to install a timer to remove the script. This is necessary as
+ * premature script removal breaks the terminal command fork. */
+ if(gsh->terminal.script != NULL)
{
- unlink(gsh.terminal.script);
- free(gsh.terminal.script);
+ unlink(gsh->terminal.script);
+ free(gsh->terminal.script);
}
+}
+
+int
+main(int argc, char **argv)
+{
+ /* Store application structure on stack. */
+ struct GSH gsh;
+
+ init_GUI(&gsh, &argc, &argv); /* Setup GUI. */
+ gtk_main(); /* application main loop */
+ cleanup(&gsh); /* Clean temporary files. */
return (EXIT_SUCCESS);
}
Index: gtkshell/option_options.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/option_options.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- gtkshell/option_options.c 19 Mar 2007 10:18:25 -0000 1.16
+++ gtkshell/option_options.c 24 Mar 2007 04:17:13 -0000 1.17
@@ -77,17 +77,21 @@
break;
- case 'r':
+ case 'r': /* Set number of rows per column. */
gsh_count(argc, counter);
gsh->rows.rows =
(unsigned int) atoi(argv[(*counter)]);
break;
+ case 's': /* Use scrolling parent container. */
+ GSH_SET(GSH_SCROLL);
+ break;
+
case 't':
gsh_handle_terminal_options(gsh, argc, argv, counter);
break;
- case 'u':
+ case 'u': /* Set time for updating widgets' timer, in miliseconds. */
gsh_count(argc, counter);
gsh->update.period = atoi(argv[*counter]);
break;
Index: gtkshell/terminal.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/terminal.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- gtkshell/terminal.c 19 Mar 2007 10:18:25 -0000 1.4
+++ gtkshell/terminal.c 24 Mar 2007 04:17:13 -0000 1.5
@@ -139,14 +139,24 @@
gsh->terminal.script=gsh_terminal_command_script(command);
/* Run the script in the terminal widget. */
- vte_terminal_fork_command(VTE_TERMINAL(gsh->terminal.widget),
- gsh->terminal.script, NULL, NULL, NULL,
- TRUE, TRUE, TRUE);
+ setpgrp(vte_terminal_fork_command(VTE_TERMINAL(gsh->terminal.widget),
+ gsh->terminal.script, NULL, NULL,
+ NULL, TRUE, TRUE, TRUE), getpgrp());
/* SCRIPT must be freed later, so preserve reference. */
}
void
+gsh_GSH_Terminal(struct GSH_Terminal * term)
+{
+ term->widget=NULL;
+ term->font=NULL;
+ term->script=NULL;
+ term->width=80;
+ term->height=24;
+}
+
+void
gsh_setup_terminal(struct GSH * gsh, const gchar * command)
{
/* VTE-based terminal. */
Index: gtkshell/terminal_struct.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/terminal_struct.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- gtkshell/terminal_struct.h 19 Mar 2007 07:09:30 -0000 1.1
+++ gtkshell/terminal_struct.h 24 Mar 2007 04:17:13 -0000 1.2
@@ -31,5 +31,8 @@
guint width, height;
};
+void
+gsh_GSH_Terminal(struct GSH_Terminal * term);
+
#endif /* not GSH_TERMINAL_STRUCT_H */
- [Antiright-devel] antiright ACE-desktop/guidl/Horizontal_Deskbar....,
Jeffrey Bedard <=