gtkslash 0.5.5
This commit is contained in:
parent
a8ab89fa0d
commit
6c0e882704
7 changed files with 60 additions and 33 deletions
14
ChangeLog
14
ChangeLog
|
|
@ -1,11 +1,17 @@
|
||||||
Sun Jan 03 1999 Troy Engel <tengel@sonic.net>
|
Mon Jan 11 1999 v0.5.5 Troy Engel <tengel@sonic.net>
|
||||||
* versioned to 0.5.4
|
* replaced non ANSI C func strsep with strtok (Sun Solaris)
|
||||||
|
* replaced getenv("HOME") with glib equiv
|
||||||
|
* functions made static (fpetitje@bureauveritas.com)
|
||||||
|
* reworked g_malloc/g_free code, probably lost some mem leaks :)
|
||||||
|
* void main -> int main
|
||||||
|
* fixed RC buffer problem (darn \0)
|
||||||
|
|
||||||
|
Sun Jan 03 1999 v0.5.4 Troy Engel <tengel@sonic.net>
|
||||||
* implemented autoconf/automake support (*nix, Bruce Smith)
|
* implemented autoconf/automake support (*nix, Bruce Smith)
|
||||||
* *nix netscape launching cleaned up
|
* *nix netscape launching cleaned up
|
||||||
* removed bad list clearing (Bruce Smith)
|
* removed bad list clearing (Bruce Smith)
|
||||||
* repackaged in standard *nix format
|
* repackaged in standard *nix format
|
||||||
|
|
||||||
Sun Dec 13 1998 Troy Engel <tengel@sonic.net>
|
Sun Dec 13 1998 v0.5.3 Troy Engel <tengel@sonic.net>
|
||||||
* versioned to 0.5.3
|
|
||||||
* initial public release
|
* initial public release
|
||||||
|
|
||||||
|
|
|
||||||
8
NEWS
8
NEWS
|
|
@ -1,7 +1 @@
|
||||||
Version 0.5.4
|
See ChangeLog
|
||||||
* autoconf/automake *nix support
|
|
||||||
* better *nix netscape support
|
|
||||||
|
|
||||||
Version 0.5.3
|
|
||||||
* initial public release
|
|
||||||
|
|
||||||
|
|
|
||||||
4
README
4
README
|
|
@ -3,7 +3,7 @@ gtkSlash - Slashdot headlines news-ticker
|
||||||
http://www.sonic.net/~tengel/gtkslash/
|
http://www.sonic.net/~tengel/gtkslash/
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
01/03/99, v0.5.4
|
01/11/99, v0.5.5
|
||||||
|
|
||||||
|
|
||||||
General
|
General
|
||||||
|
|
@ -18,7 +18,7 @@ gtkSlash requires Gtk+ (http://www.gtk.org) and curl
|
||||||
file retrieval, respectively. Additionally, if you want to
|
file retrieval, respectively. Additionally, if you want to
|
||||||
browse a news article from within gtkSlash you'll need some
|
browse a news article from within gtkSlash you'll need some
|
||||||
sort of web browser. Currently it is working just fine with
|
sort of web browser. Currently it is working just fine with
|
||||||
Gtk 1.1.3 (Windows) Gtk 1.1.9 (*nix) and curl 5.3 (both).
|
Gtk 1.1.3 (Windows) Gtk 1.1.12 (*nix) and curl 5.4 (both).
|
||||||
|
|
||||||
If you are on Windows, the Gtk+ version which has been used is
|
If you are on Windows, the Gtk+ version which has been used is
|
||||||
from Tor Lillqvist; he also ports Gdk and GIMP. If you don't
|
from Tor Lillqvist; he also ports Gdk and GIMP. If you don't
|
||||||
|
|
|
||||||
2
aclocal.m4
vendored
2
aclocal.m4
vendored
|
|
@ -160,7 +160,7 @@ AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run
|
||||||
ac_save_CFLAGS="$CFLAGS"
|
ac_save_CFLAGS="$CFLAGS"
|
||||||
ac_save_LIBS="$LIBS"
|
ac_save_LIBS="$LIBS"
|
||||||
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
||||||
LIBS="$LIBS $GTK_LIBS"
|
LIBS="$GTK_LIBS $LIBS"
|
||||||
dnl
|
dnl
|
||||||
dnl Now check if the installed GTK is sufficiently new. (Also sanity
|
dnl Now check if the installed GTK is sufficiently new. (Also sanity
|
||||||
dnl checks the results of gtk-config to some extent
|
dnl checks the results of gtk-config to some extent
|
||||||
|
|
|
||||||
4
configure
vendored
4
configure
vendored
|
|
@ -526,7 +526,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
GTKSLASH_VERSION=0.5.4
|
GTKSLASH_VERSION=0.5.5
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS=no-dependencies
|
AUTOMAKE_OPTIONS=no-dependencies
|
||||||
VERSION=$GTKSLASH_VERSION
|
VERSION=$GTKSLASH_VERSION
|
||||||
|
|
@ -1097,7 +1097,7 @@ echo "configure:1084: checking for GTK - version >= $min_gtk_version" >&5
|
||||||
ac_save_CFLAGS="$CFLAGS"
|
ac_save_CFLAGS="$CFLAGS"
|
||||||
ac_save_LIBS="$LIBS"
|
ac_save_LIBS="$LIBS"
|
||||||
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
||||||
LIBS="$LIBS $GTK_LIBS"
|
LIBS="$GTK_LIBS $LIBS"
|
||||||
rm -f conf.gtktest
|
rm -f conf.gtktest
|
||||||
if test "$cross_compiling" = yes; then
|
if test "$cross_compiling" = yes; then
|
||||||
echo $ac_n "cross compiling; assumed OK... $ac_c"
|
echo $ac_n "cross compiling; assumed OK... $ac_c"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ dnl Process this file with autoconf to produce a configure script.
|
||||||
dnl $Id$
|
dnl $Id$
|
||||||
dnl ---------------------------------------------------------------------------
|
dnl ---------------------------------------------------------------------------
|
||||||
AC_INIT(gtkslash.c)
|
AC_INIT(gtkslash.c)
|
||||||
GTKSLASH_VERSION=0.5.4
|
GTKSLASH_VERSION=0.5.5
|
||||||
|
|
||||||
dnl ---------------------------------------------------------------------------
|
dnl ---------------------------------------------------------------------------
|
||||||
dnl for automake:
|
dnl for automake:
|
||||||
|
|
|
||||||
59
gtkslash.c
59
gtkslash.c
|
|
@ -52,7 +52,7 @@
|
||||||
#define MSG_RETR_ERR "Error retrieving ultramode.txt!"
|
#define MSG_RETR_ERR "Error retrieving ultramode.txt!"
|
||||||
#define MSG_LAUNCH "Launching web browser..."
|
#define MSG_LAUNCH "Launching web browser..."
|
||||||
#define MSG_LAUNCH_ERR "Error launching browser!"
|
#define MSG_LAUNCH_ERR "Error launching browser!"
|
||||||
#define MSG_IDLE "Status: Idle (gtkSlash 0.5.4)"
|
#define MSG_IDLE "Status: Idle (gtkSlash 0.5.5)"
|
||||||
|
|
||||||
/* read from RC file */
|
/* read from RC file */
|
||||||
gint refresh_timeout;
|
gint refresh_timeout;
|
||||||
|
|
@ -67,6 +67,7 @@ BOOL comments_flat;
|
||||||
GtkWidget *status;
|
GtkWidget *status;
|
||||||
|
|
||||||
/* retrieves a line from a linefeed delimited textfile */
|
/* retrieves a line from a linefeed delimited textfile */
|
||||||
|
static
|
||||||
gchar *app_getLine(FILE *file) {
|
gchar *app_getLine(FILE *file) {
|
||||||
char *tmp, in;
|
char *tmp, in;
|
||||||
int cnt = 0, retIn;
|
int cnt = 0, retIn;
|
||||||
|
|
@ -100,6 +101,7 @@ gchar *app_getLine(FILE *file) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* loads ultramode.txt into our clist */
|
/* loads ultramode.txt into our clist */
|
||||||
|
static
|
||||||
BOOL app_loadFile(GtkWidget *list, const gchar *fname) {
|
BOOL app_loadFile(GtkWidget *list, const gchar *fname) {
|
||||||
gchar *line;
|
gchar *line;
|
||||||
gchar *article[4], *link;
|
gchar *article[4], *link;
|
||||||
|
|
@ -117,15 +119,19 @@ BOOL app_loadFile(GtkWidget *list, const gchar *fname) {
|
||||||
}
|
}
|
||||||
/* loop till we find the first record delim */
|
/* loop till we find the first record delim */
|
||||||
while (strncmp(line, "%%", 2) != 0) {
|
while (strncmp(line, "%%", 2) != 0) {
|
||||||
|
g_free(line);
|
||||||
line = app_getLine(fHnd);
|
line = app_getLine(fHnd);
|
||||||
}
|
}
|
||||||
gtk_clist_clear(GTK_CLIST(list));
|
gtk_clist_clear(GTK_CLIST(list));
|
||||||
gtk_clist_freeze(GTK_CLIST(list));
|
gtk_clist_freeze(GTK_CLIST(list));
|
||||||
link = NULL;
|
link = NULL;
|
||||||
while (line) {
|
while (line) {
|
||||||
|
gboolean bGotit = FALSE;
|
||||||
|
g_free(line); /* should be %% */
|
||||||
for (i = 0 ; i<num_fields; i++) {
|
for (i = 0 ; i<num_fields; i++) {
|
||||||
line = app_getLine(fHnd);
|
line = app_getLine(fHnd);
|
||||||
if (line) {
|
if (line) {
|
||||||
|
bGotit = TRUE;
|
||||||
switch (i) {
|
switch (i) {
|
||||||
case 0: /* title */
|
case 0: /* title */
|
||||||
article[0] = line;
|
article[0] = line;
|
||||||
|
|
@ -142,13 +148,20 @@ BOOL app_loadFile(GtkWidget *list, const gchar *fname) {
|
||||||
case 6: /* numcomments */
|
case 6: /* numcomments */
|
||||||
article[3] = line;
|
article[3] = line;
|
||||||
break;
|
break;
|
||||||
|
default: /* unused */
|
||||||
|
g_free(line);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (line) {
|
if (bGotit) {
|
||||||
int index;
|
gint index;
|
||||||
index = gtk_clist_append(GTK_CLIST(list), article);
|
index = gtk_clist_append(GTK_CLIST(list), article);
|
||||||
gtk_clist_set_row_data(GTK_CLIST(list), index, link);
|
gtk_clist_set_row_data(GTK_CLIST(list), index, link);
|
||||||
|
for (i=0; i<4; i++) {
|
||||||
|
if (article[i])
|
||||||
|
g_free(article[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
line = app_getLine(fHnd);
|
line = app_getLine(fHnd);
|
||||||
}
|
}
|
||||||
|
|
@ -159,6 +172,7 @@ BOOL app_loadFile(GtkWidget *list, const gchar *fname) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* launches a given app */
|
/* launches a given app */
|
||||||
|
static
|
||||||
BOOL app_startApp(const gchar *cmd, BOOL bWait, WORD wShowState) {
|
BOOL app_startApp(const gchar *cmd, BOOL bWait, WORD wShowState) {
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
char **args, *work, *twrk;
|
char **args, *work, *twrk;
|
||||||
|
|
@ -187,17 +201,16 @@ BOOL app_startApp(const gchar *cmd, BOOL bWait, WORD wShowState) {
|
||||||
} else {
|
} else {
|
||||||
work = g_malloc(sizeof(char) * (len + 1));
|
work = g_malloc(sizeof(char) * (len + 1));
|
||||||
strcpy(work, cmd);
|
strcpy(work, cmd);
|
||||||
twrk = (char *) strsep(&work, " ");
|
twrk = (char *) strtok(work, " ");
|
||||||
args[0] = twrk;
|
args[0] = twrk;
|
||||||
cnt = 1;
|
cnt = 1;
|
||||||
while (twrk) {
|
while (twrk) {
|
||||||
twrk = (char *) strsep(&work, " ");
|
twrk = (char *) strtok(NULL, " ");
|
||||||
args[cnt] = twrk;
|
args[cnt] = twrk;
|
||||||
cnt++;
|
cnt++;
|
||||||
}
|
}
|
||||||
args[cnt] = work;
|
args[cnt] = work;
|
||||||
}
|
}
|
||||||
/* TODO: wait for curl to finish on unix */
|
|
||||||
execvp(args[0], args);
|
execvp(args[0], args);
|
||||||
} else {
|
} else {
|
||||||
_exit(0);
|
_exit(0);
|
||||||
|
|
@ -238,6 +251,7 @@ BOOL app_startApp(const gchar *cmd, BOOL bWait, WORD wShowState) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* uses curl to get ultramode from the web */
|
/* uses curl to get ultramode from the web */
|
||||||
|
static
|
||||||
BOOL app_getFile(const gchar *fname) {
|
BOOL app_getFile(const gchar *fname) {
|
||||||
gchar cmd[MAX_BUFF];
|
gchar cmd[MAX_BUFF];
|
||||||
sprintf(cmd, curl_cmd, fname);
|
sprintf(cmd, curl_cmd, fname);
|
||||||
|
|
@ -246,6 +260,7 @@ BOOL app_getFile(const gchar *fname) {
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
BOOL app_isZeroByte(const gchar *fname) {
|
BOOL app_isZeroByte(const gchar *fname) {
|
||||||
FILE *fHnd;
|
FILE *fHnd;
|
||||||
gint ch = 0;
|
gint ch = 0;
|
||||||
|
|
@ -262,17 +277,20 @@ BOOL app_isZeroByte(const gchar *fname) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
gint app_timer_idle(gpointer data) {
|
gint app_timer_idle(gpointer data) {
|
||||||
gtk_label_set(GTK_LABEL(status), MSG_IDLE);
|
gtk_label_set(GTK_LABEL(status), MSG_IDLE);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
gint app_exit(GtkWidget *widget, GdkEvent *event, gpointer data) {
|
gint app_exit(GtkWidget *widget, GdkEvent *event, gpointer data) {
|
||||||
gtk_main_quit();
|
gtk_main_quit();
|
||||||
exit(0);
|
exit(0);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
gint app_timer_refresh(GtkWidget *list) {
|
gint app_timer_refresh(GtkWidget *list) {
|
||||||
gchar *home_env, *fname;
|
gchar *home_env, *fname;
|
||||||
gint retval;
|
gint retval;
|
||||||
|
|
@ -280,7 +298,7 @@ gint app_timer_refresh(GtkWidget *list) {
|
||||||
gchar mypath[MAX_BUFF];
|
gchar mypath[MAX_BUFF];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
home_env = getenv("HOME");
|
home_env = g_get_home_dir();
|
||||||
#ifdef WIN32 /* no HOME dir */
|
#ifdef WIN32 /* no HOME dir */
|
||||||
if (home_env == NULL) {
|
if (home_env == NULL) {
|
||||||
gchar *cutme;
|
gchar *cutme;
|
||||||
|
|
@ -290,7 +308,7 @@ gint app_timer_refresh(GtkWidget *list) {
|
||||||
home_env = mypath;
|
home_env = mypath;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
fname = g_malloc(sizeof(char) * (strlen(home_env) + 15));
|
fname = g_malloc(sizeof(gchar) * (strlen(home_env) + 15));
|
||||||
strcpy(fname, home_env);
|
strcpy(fname, home_env);
|
||||||
strcat(fname, DIR_CHAR);
|
strcat(fname, DIR_CHAR);
|
||||||
strcat(fname, "ultramode.tmp");
|
strcat(fname, "ultramode.tmp");
|
||||||
|
|
@ -320,11 +338,13 @@ gint app_timer_refresh(GtkWidget *list) {
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
gint app_refresh(GtkWidget *widget, GtkWidget *list) {
|
gint app_refresh(GtkWidget *widget, GtkWidget *list) {
|
||||||
return app_timer_refresh(list);
|
return app_timer_refresh(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* launch our article */
|
/* launch our article */
|
||||||
|
static
|
||||||
void app_article_browse(GtkWidget *widget, gpointer data) {
|
void app_article_browse(GtkWidget *widget, gpointer data) {
|
||||||
gint rerr;
|
gint rerr;
|
||||||
struct stat buff;
|
struct stat buff;
|
||||||
|
|
@ -339,7 +359,7 @@ void app_article_browse(GtkWidget *widget, gpointer data) {
|
||||||
strcat(url, "_F.shtml");
|
strcat(url, "_F.shtml");
|
||||||
}
|
}
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
home = getenv("HOME");
|
home = g_get_home_dir();
|
||||||
fname = g_malloc(sizeof(gchar) * (strlen(home) + 16));
|
fname = g_malloc(sizeof(gchar) * (strlen(home) + 16));
|
||||||
strcpy(fname, home);
|
strcpy(fname, home);
|
||||||
strcat(fname, "/.netscape/lock");
|
strcat(fname, "/.netscape/lock");
|
||||||
|
|
@ -349,6 +369,7 @@ void app_article_browse(GtkWidget *widget, gpointer data) {
|
||||||
} else {
|
} else {
|
||||||
sprintf(cmd, browser_cmd, url);
|
sprintf(cmd, browser_cmd, url);
|
||||||
}
|
}
|
||||||
|
g_free(fname);
|
||||||
#else
|
#else
|
||||||
sprintf(cmd, browser_cmd, url);
|
sprintf(cmd, browser_cmd, url);
|
||||||
#endif /* WIN32 */
|
#endif /* WIN32 */
|
||||||
|
|
@ -359,6 +380,7 @@ void app_article_browse(GtkWidget *widget, gpointer data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* sorting */
|
/* sorting */
|
||||||
|
static
|
||||||
void app_click_column(GtkCList *clist, gint column, gpointer data) {
|
void app_click_column(GtkCList *clist, gint column, gpointer data) {
|
||||||
if (column == clist->sort_column) {
|
if (column == clist->sort_column) {
|
||||||
clist->sort_type = (clist->sort_type == GTK_SORT_ASCENDING) ?
|
clist->sort_type = (clist->sort_type == GTK_SORT_ASCENDING) ?
|
||||||
|
|
@ -369,12 +391,14 @@ void app_click_column(GtkCList *clist, gint column, gpointer data) {
|
||||||
gtk_clist_sort(clist);
|
gtk_clist_sort(clist);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
BOOL app_parse_rc() {
|
BOOL app_parse_rc() {
|
||||||
gchar *home_env, *fname;
|
gchar *home_env, *fname;
|
||||||
gint retval;
|
gint retval;
|
||||||
|
|
||||||
home_env = getenv("HOME");
|
home_env = g_get_home_dir();
|
||||||
fname = g_malloc(sizeof(gchar) * (strlen(home_env) + 15));
|
/* /home/foobar + /. + myrc + \0 */
|
||||||
|
fname = g_malloc(sizeof(gchar) * (strlen(home_env)+2+strlen(APP_RC)+1));
|
||||||
strcpy(fname, home_env);
|
strcpy(fname, home_env);
|
||||||
strcat(fname, DIR_CHAR);
|
strcat(fname, DIR_CHAR);
|
||||||
strcat(fname, DOT_CHAR);
|
strcat(fname, DOT_CHAR);
|
||||||
|
|
@ -388,10 +412,12 @@ BOOL app_parse_rc() {
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
gchar tmp[MAX_BUFF];
|
gchar tmp[MAX_BUFF];
|
||||||
GetWindowsDirectory(tmp, sizeof(tmp));
|
GetWindowsDirectory(tmp, sizeof(tmp));
|
||||||
fname = g_malloc(sizeof(gchar) * (sizeof(tmp) + 1 + sizeof(APP_RC)));
|
/* c:\windows + \ + myrc + \0 */
|
||||||
|
fname = g_malloc(sizeof(gchar) * (sizeof(tmp) + 1 + sizeof(APP_RC) + 1));
|
||||||
strcpy(fname, tmp);
|
strcpy(fname, tmp);
|
||||||
#else
|
#else
|
||||||
fname = g_malloc(sizeof(gchar) * (4 + 1 + strlen(APP_RC)));
|
/* /etc + / + myrc + \0 */
|
||||||
|
fname = g_malloc(sizeof(gchar) * (4 + 1 + strlen(APP_RC) + 1));
|
||||||
strcpy(fname, "/etc");
|
strcpy(fname, "/etc");
|
||||||
#endif
|
#endif
|
||||||
strcat(fname, DIR_CHAR);
|
strcat(fname, DIR_CHAR);
|
||||||
|
|
@ -412,6 +438,7 @@ BOOL app_parse_rc() {
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
void app_window() {
|
void app_window() {
|
||||||
GtkWidget *window, *vbox, *clist, *scrolled_win, *hbox, *but;
|
GtkWidget *window, *vbox, *clist, *scrolled_win, *hbox, *but;
|
||||||
gchar *titles[4] = {"Title", "Author", "Topic", "Comments"};
|
gchar *titles[4] = {"Title", "Author", "Topic", "Comments"};
|
||||||
|
|
@ -486,7 +513,7 @@ void app_window() {
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nShowCmd) {
|
int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nShowCmd) {
|
||||||
#else
|
#else
|
||||||
void main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
|
|
@ -506,8 +533,7 @@ void main(int argc, char **argv) {
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
argv[0] = g_malloc(sizeof(char) * (len + 1));
|
argv[0] = g_malloc(sizeof(char) * (len + 1));
|
||||||
strcpy(argv[0], lpCmdLine);
|
strcpy(argv[0], lpCmdLine);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
work = g_malloc(sizeof(char) * (len + 1));
|
work = g_malloc(sizeof(char) * (len + 1));
|
||||||
strcpy(work, lpCmdLine);
|
strcpy(work, lpCmdLine);
|
||||||
twrk = (char *) strtok(work, " ");
|
twrk = (char *) strtok(work, " ");
|
||||||
|
|
@ -526,4 +552,5 @@ void main(int argc, char **argv) {
|
||||||
app_parse_rc();
|
app_parse_rc();
|
||||||
app_window();
|
app_window();
|
||||||
gtk_main();
|
gtk_main();
|
||||||
|
return(0) ;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue