From: <enl...@li...> - 2001-04-28 19:10:26
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/src Modified Files: pixmap.c Log Message: Sat Apr 28 12:08:56 PDT 2001 Michael Jennings <me...@et...> Fixed handling of color modifiers for transparency in the disabled state. Bug pointed out by Hans Engren <h...@ns...>. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/pixmap.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -3 -r1.60 -r1.61 --- pixmap.c 2000/11/16 23:45:01 1.60 +++ pixmap.c 2001/04/28 19:10:26 1.61 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: pixmap.c,v 1.60 2000/11/16 23:45:01 mej Exp $"; +static const char cvs_ident[] = "$Id: pixmap.c,v 1.61 2001/04/28 19:10:26 mej Exp $"; #include "config.h" #include "feature.h" @@ -563,7 +563,7 @@ D_PIXMAP(("Copying %hux%hu rectangle at %d, %d from %ux%u desktop pixmap 0x%08x onto p.\n", width, height, x, y, pw, ph, desktop_pixmap)); XCopyArea(Xdisplay, desktop_pixmap, p, gc, x, y, width, height, 0, 0); } - if ((which != image_bg || (image_toggles & IMOPT_ITRANS)) && need_colormod(simg->iml)) { + if ((which != image_bg || (image_toggles & IMOPT_ITRANS) || images[image_bg].current != images[image_bg].norm) && need_colormod(simg->iml)) { colormod_trans(p, simg->iml, gc, width, height); } if (simg->iml->bevel != NULL) { |
From: <enl...@li...> - 2001-04-28 19:10:56
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm Modified Files: ChangeLog Log Message: Sat Apr 28 12:08:56 PDT 2001 Michael Jennings <me...@et...> Fixed handling of color modifiers for transparency in the disabled state. Bug pointed out by Hans Engren <h...@ns...>. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.202 retrieving revision 1.203 diff -u -3 -r1.202 -r1.203 --- ChangeLog 2001/03/05 21:38:58 1.202 +++ ChangeLog 2001/04/28 19:10:26 1.203 @@ -4077,3 +4077,9 @@ Fix for NetBSD from Marc Bevand <bev...@ep...>. ------------------------------------------------------------------------------- +Sat Apr 28 12:08:56 PDT 2001 Michael Jennings <me...@et...> + + Fixed handling of color modifiers for transparency in the disabled + state. Bug pointed out by Hans Engren <h...@ns...>. + +------------------------------------------------------------------------------- |
From: <enl...@li...> - 2001-05-05 06:57:29
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/bg/scale Added Files: Dragon.jpg Removed Files: night_of_the_dragon.jpg Log Message: Fri May 4 23:56:12 PDT 2001 Michael Jennings <me...@et...> Lots of spec file cleanups and fixes. Also nuked a couple lousy backgrounds. |
From: <enl...@li...> - 2001-05-05 06:57:29
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/src Modified Files: script.c Log Message: Fri May 4 23:56:12 PDT 2001 Michael Jennings <me...@et...> Lots of spec file cleanups and fixes. Also nuked a couple lousy backgrounds. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/script.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- script.c 2000/12/29 23:01:32 1.1 +++ script.c 2001/05/05 06:57:28 1.2 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: script.c,v 1.1 2000/12/29 23:01:32 mej Exp $"; +static const char cvs_ident[] = "$Id: script.c,v 1.2 2001/05/05 06:57:28 mej Exp $"; #include "config.h" #include "feature.h" @@ -42,7 +42,7 @@ void eterm_handle_winop(char *action) { - +#if 0 char *winid; Window win = 0; @@ -100,4 +100,10 @@ } else { print_error("IPC Error: Unrecognized window operation \"%s\"\n", action); } +#endif +} + +void +script_parse(char *s) +{ } |
From: <enl...@li...> - 2001-05-05 06:57:29
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/bg/tile Added Files: giger1.jpg Removed Files: backwave.jpg Log Message: Fri May 4 23:56:12 PDT 2001 Michael Jennings <me...@et...> Lots of spec file cleanups and fixes. Also nuked a couple lousy backgrounds. |
From: <enl...@li...> - 2001-05-05 06:57:59
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/bg Modified Files: Makefile.am Log Message: Fri May 4 23:56:12 PDT 2001 Michael Jennings <me...@et...> Lots of spec file cleanups and fixes. Also nuked a couple lousy backgrounds. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/bg/Makefile.am,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- Makefile.am 2000/01/19 01:41:36 1.10 +++ Makefile.am 2001/05/05 06:57:28 1.11 @@ -1,8 +1,8 @@ -# $Id: Makefile.am,v 1.10 2000/01/19 01:41:36 mej Exp $ +# $Id: Makefile.am,v 1.11 2001/05/05 06:57:28 mej Exp $ DIRS = tile scale -EXTRA_DIST = tile/014.jpg tile/circuit.jpg tile/backwave.jpg tile/40.jpg tile/blackstone.jpg \ - tile/nebula.jpg scale/fourthday.jpg scale/gaia.jpg scale/galleon.jpg scale/night_of_the_dragon.jpg \ +EXTRA_DIST = tile/014.jpg tile/circuit.jpg tile/giger1.jpg tile/40.jpg tile/blackstone.jpg \ + tile/nebula.jpg scale/fourthday.jpg scale/gaia.jpg scale/galleon.jpg scale/Dragon.jpg \ README.backgrounds pixmapdir = $(pkgdatadir)/pix themedir = $(pkgdatadir)/themes |
From: <enl...@li...> - 2001-05-05 06:57:59
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm Modified Files: ChangeLog Eterm-mdk.spec.in Eterm.spec.in Log Message: Fri May 4 23:56:12 PDT 2001 Michael Jennings <me...@et...> Lots of spec file cleanups and fixes. Also nuked a couple lousy backgrounds. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.203 retrieving revision 1.204 diff -u -3 -r1.203 -r1.204 --- ChangeLog 2001/04/28 19:10:26 1.203 +++ ChangeLog 2001/05/05 06:57:28 1.204 @@ -4083,3 +4083,9 @@ state. Bug pointed out by Hans Engren <h...@ns...>. ------------------------------------------------------------------------------- +Fri May 4 23:56:12 PDT 2001 Michael Jennings <me...@et...> + + Lots of spec file cleanups and fixes. Also nuked a couple lousy + backgrounds. + +------------------------------------------------------------------------------- =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/Eterm-mdk.spec.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- Eterm-mdk.spec.in 2001/02/19 05:30:07 1.2 +++ Eterm-mdk.spec.in 2001/05/05 06:57:28 1.3 @@ -83,10 +83,10 @@ EOF find ./bg/ -type f -not -name '*.list' -not -name 'Makefile*' \ -not -name 'README*' -not -name 014.jpg \ - -not -name 40.jpg -not -name blackstone.jpg -not -name backwave.jpg \ + -not -name 40.jpg -not -name blackstone.jpg -not -name giger1.jpg \ -not -name circuit.jpg -not -name nebula.jpg \ -not -name fourthday.jpg -not -name gaia.jpg \ - -not -name galleon.jpg -not -name night_of_the_dragon.jpg \ + -not -name galleon.jpg -not -name Dragon.jpg \ -not -name Root -not -name .cvsignore -not -name Entries \ -not -name Repository \ | sed "s#^\./bg/[scati]*le#%{_datadir}/%{name}/pix#g" >> rpm-Eterm-bg-files @@ -127,13 +127,13 @@ %{_datadir}/%{name}/pix/014.jpg %{_datadir}/%{name}/pix/40.jpg %{_datadir}/%{name}/pix/blackstone.jpg -%{_datadir}/%{name}/pix/backwave.jpg +%{_datadir}/%{name}/pix/giger1.jpg %{_datadir}/%{name}/pix/circuit.jpg %{_datadir}/%{name}/pix/nebula.jpg %{_datadir}/%{name}/pix/fourthday.jpg %{_datadir}/%{name}/pix/gaia.jpg %{_datadir}/%{name}/pix/galleon.jpg -%{_datadir}/%{name}/pix/night_of_the_dragon.jpg +%{_datadir}/%{name}/pix/Dragon.jpg %{_datadir}/%{name}/pix/bar_horizontal_[123].png %{_datadir}/%{name}/pix/bar_vertical_[123].png %{_datadir}/%{name}/pix/button_arrow_up_[123].png =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/Eterm.spec.in,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- Eterm.spec.in 2000/05/28 21:28:30 1.8 +++ Eterm.spec.in 2001/05/05 06:57:28 1.9 @@ -1,19 +1,21 @@ -%define name @PACKAGE@ -%define ver @VERSION@ -%define rel 1 -%define prefix @prefix@ +%define bzip 0 +%define strip 0 Summary: Enlightened terminal emulator -Name: %{name} -Version: %{ver} -Release: %{rel} +Name: @PACKAGE@ +Version: @VERSION@ +Release: 1 Copyright: BSD Group: User Interface/X -Source0: ftp://ftp.eterm.org/pub/Eterm/%{name}-%{ver}.tar.gz -Source1: ftp://ftp.eterm.org/pub/Eterm/%{name}-bg-%{ver}.tar.gz +%if %{bzip} +Source0: ftp://ftp.eterm.org/pub/Eterm/%{name}-%{version}.tar.bz2 +Source1: ftp://ftp.eterm.org/pub/Eterm/%{name}-bg-%{version}.tar.bz2 +%else +Source0: ftp://ftp.eterm.org/pub/Eterm/%{name}-%{version}.tar.gz +Source1: ftp://ftp.eterm.org/pub/Eterm/%{name}-bg-%{version}.tar.gz +%endif URL: http://www.eterm.org/ -BuildRoot: /var/tmp/%{name}-root -Requires: imlib >= 1.9.6 +BuildRoot: /var/tmp/%{name}-%{version}-root %description Eterm is a color vt102 terminal emulator with enhanced graphical @@ -24,126 +26,125 @@ philosophy of Enlightenment. If you install Eterm, you'll also need to have the Imlib library installed. -%package backgrounds -Summary: Backgrounds for Eterm -Group: User Interface/X -Requires: %{name} = %{ver} -%description backgrounds -Install this package if you want additional backgrounds for Eterm - %prep -%setup -q -n %{name}-%{ver} 1 +%setup -n %{name}-%{version} -b 0 -a 1 %build -%configure --prefix=%{prefix} --with-backspace=bs --with-delete=execute -make CFLAGS="$RPM_OPT_FLAGS" +# When using the configure macro, I also specify all the directory +# macros I use for compatibility with older versions of the macro +%configure --bindir=%{_bindir} --libdir=%{_libdir} --mandir=%{_mandir} \ + --datadir=%{_datadir} --sysconfdir=%{_sysconfdir} \ + --with-backspace=bs --with-delete=execute +make %install rm -rf $RPM_BUILD_ROOT - -mkdir -p $RPM_BUILD_ROOT/etc/X11/wmconfig/ - -cat > $RPM_BUILD_ROOT/etc/X11/wmconfig/%{name} <<EOF -%{name} name "%{name}" -%{name} description "A featureful, themeable X11 terminal emulator." -%{name} exec "%{name} &" -%{name} group Utilities/Shells -EOF - -chmod 0644 $RPM_BUILD_ROOT/etc/X11/wmconfig/%{name} +# If the configure macro is used above (which it is), there +# is NO reason to use the makeinstall macro here, so don't. make DESTDIR=$RPM_BUILD_ROOT install ( cd $RPM_BUILD_ROOT - mv .%{prefix}/bin/%{name} .%{prefix}/bin/%{name}-%{ver} - cd $RPM_BUILD_ROOT%{prefix}/bin - ln -sf %{name}-%{ver} %{name} + mv .%{_bindir}/%{name} .%{_bindir}/%{name}-%{version} + cd $RPM_BUILD_ROOT%{_bindir} + ln -sf %{name}-%{version} %{name} cd $RPM_BUILD_ROOT - chmod +x .%{prefix}/lib/lib*so* ||: + chmod +x .%{_libdir}/lib*so* ||: ) - -#strip -s $RPM_BUILD_ROOT%{prefix}/bin/* || : - -gzip $RPM_BUILD_ROOT%{prefix}/man/man1/* -(cd $RPM_BUILD_ROOT%{prefix}/share/%{name}/pix/ ; \ - for i in tiled-pixmaps.list scaled-pixmaps.list pixmaps.list ; do \ - mv $i $i.base ; done) - -tar --use-compress-program=bzip2 -xvf %{SOURCE1} - -make -C bg all -make -C bg prefix=$RPM_BUILD_ROOT%{prefix} install - -#get the package listing for Eterm-backgrounds -echo "%defattr(-,root,root)" > rpm-Eterm-bg-files -cat > rpm-Eterm-bg-files <<EOF -%defattr(-,root,root) -%{prefix}/share/%{name}/pix/tiled-pixmaps.list -%{prefix}/share/%{name}/pix/scaled-pixmaps.list -%{prefix}/share/%{name}/pix/pixmaps.list +%if %{strip} +strip -s $RPM_BUILD_ROOT%{_bindir}/* || : +%endif + +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/applnk/Utilities +cat > $RPM_BUILD_ROOT%{_sysconfdir}/X11/applnk/Utilities/Eterm.desktop <<EOF +[Desktop Entry] +Name=Eterm +Comment=Eterm +TryExec=Eterm +Exec=Eterm +Icon=gnome-eterm.png +Terminal=0 +Type=Application EOF -find ./bg/ -type f -not -name '*.list' -not -name 'Makefile*' \ - -not -name 'README*' -not -name 014.jpg \ - -not -name 40.jpg -not -name blackstone.jpg -not -name backwave.jpg \ - -not -name circuit.jpg -not -name nebula.jpg \ - -not -name fourthday.jpg -not -name gaia.jpg \ - -not -name galleon.jpg -not -name night_of_the_dragon.jpg \ - | sed "s#^\./bg/[scati]*le#%{prefix}/share/%{name}/pix#g" >> rpm-Eterm-bg-files +chmod 0644 $RPM_BUILD_ROOT%{_sysconfdir}/X11/applnk/Utilities/Eterm.desktop %post /sbin/ldconfig -for i in tiled-pixmaps.list scaled-pixmaps.list pixmaps.list ; do \ - mv -f %{prefix}/share/%{name}/pix/$i.base %{prefix}/share/%{name}/pix/$i ; done +if [ -d /usr/share/terminfo -a ! -f /usr/share/terminfo/E/Eterm ]; then + tic -o/usr/share/terminfo $RPM_DOC_DIR/%{name}-%{version}/%{name}.ti || : +fi + %postun /sbin/ldconfig -for i in tiled-pixmaps.list scaled-pixmaps.list pixmaps.list ; do \ - rm -f %{prefix}/share/%{name}/pix/$i* ; done - -%pre backgrounds -for i in tiled-pixmaps.list scaled-pixmaps.list pixmaps.list ; do \ - mv -f %{prefix}/share/%{name}/pix/$i %{prefix}/share/%{name}/pix/$i.base ; done - -%postun backgrounds -for i in tiled-pixmaps.list scaled-pixmaps.list pixmaps.list ; do \ - mv -f %{prefix}/share/%{name}/pix/$i.base %{prefix}/share/%{name}/pix/$i ; done %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) -%doc doc/Eterm_reference.html doc/Eterm.1.html -%doc COPYING README ChangeLog -%config(missingok) %{prefix}/share/%{name}/pix/*.list.base -/etc/X11/wmconfig/%{name} -%{prefix}/bin/* -%{prefix}/lib/* -%{prefix}/man/man1/* -%{prefix}/share/%{name}/themes -%{prefix}/share/%{name}/pix/014.jpg -%{prefix}/share/%{name}/pix/40.jpg -%{prefix}/share/%{name}/pix/blackstone.jpg -%{prefix}/share/%{name}/pix/backwave.jpg -%{prefix}/share/%{name}/pix/circuit.jpg -%{prefix}/share/%{name}/pix/nebula.jpg -%{prefix}/share/%{name}/pix/fourthday.jpg -%{prefix}/share/%{name}/pix/gaia.jpg -%{prefix}/share/%{name}/pix/galleon.jpg -%{prefix}/share/%{name}/pix/night_of_the_dragon.jpg -%{prefix}/share/%{name}/pix/bar_horizontal_[123].png -%{prefix}/share/%{name}/pix/bar_vertical_[123].png -%{prefix}/share/%{name}/pix/button_arrow_up_[123].png -%{prefix}/share/%{name}/pix/button_arrow_down_[123].png -%{prefix}/share/%{name}/pix/menu[123].png -%{prefix}/share/%{name}/pix/thumb_[12].png -%dir %{prefix}/share/%{name} -%dir %{prefix}/share/%{name}/pix +%doc doc/Eterm_reference.html doc/Eterm.1.html doc/Eterm.tcap doc/Eterm.ti +%doc README ReleaseNotes ReleaseNotes.1 ChangeLog +%config %{_sysconfdir}/X11/applnk/Utilities/Eterm.desktop +%{_bindir}/* +%{_libdir}/* +%{_mandir}/man1/* +%{_datadir}/%{name}/* -%files backgrounds -f rpm-Eterm-bg-files - %changelog +* Tue Feb 20 2001 Tim Powers <ti...@re...> +- builds on Alpha now. No need to excludearch (bug 28472) + +* Wed Feb 14 2001 Tim Powers <ti...@re...> +- removed images which are from Digital Blasphemy from the extra + images tarball, had to delete those images because they are not + allowed to be redistributed on CD, or in compressed format + +* Tue Jan 9 2001 Tim Powers <ti...@re...> +- fixed a bunch of pre and post in/uninstall brokenness by dropping + split backgrounds package, backgrounds now included in Eterm + proper. This also makes the spec file a lot cleaner :) + +* Sat Aug 19 2000 Tim Powers <ti...@re...> +- fix bug #15687 + +* Tue Aug 8 2000 Tim Powers <ti...@re...> +- fixed bug #15687 using Hans' patch + +* Wed Aug 2 2000 Tim Powers <ti...@re...> +- rebuilt against libpng-1.0.8 + +* Mon Jul 24 2000 Prospector <pro...@re...> +- rebuilt + +* Sat Jul 22 2000 Tim Powers <ti...@re...> +- fix spec file problem with configure picking up egcs and running with it, + fixes linking bugs + +* Mon Jul 10 2000 Tim Powers <ti...@re...> +- rebuilt + +* Fri Jun 2 2000 Tim Powers <ti...@re...> +- no more wmconfig :) converted to applnk +- fix man page location. Now FHS compliant +- use macros wherever possible +- removed redundant defines at the top of the spec + +* Mon Apr 10 2000 Tim Powers <ti...@re...> +- rebuilt for 7.0 + +* Thu Feb 03 2000 Tim Powers <ti...@re...> +- strip debug from libraries + +* Wed Feb 02 2000 Tim Powers <ti...@re...> +- fixed problems when upgrading and error messages due to a faulty script in + the post section for the Eterm package + +* Tue Feb 01 2000 Tim Powers <ti...@re...> +- applied patch from Hans de Goede <ha...@hi...> to fix some del, home + and end issues + * Fri Jan 29 2000 Tim Powers <ti...@re...> - rebuilt for 6.2 powertools - bzipped source to conserve space |
From: <enl...@li...> - 2001-05-08 05:17:37
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/src Modified Files: Makefile.am actions.c actions.h buttons.c buttons.h command.c eterm_debug.h feature.h options.c options.h script.c script.h Log Message: We're getting awfully close.... =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/Makefile.am,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- Makefile.am 2000/11/17 18:39:22 1.25 +++ Makefile.am 2001/05/08 05:17:36 1.26 @@ -1,4 +1,4 @@ -# $Id: Makefile.am,v 1.25 2000/11/17 18:39:22 mej Exp $ +# $Id: Makefile.am,v 1.26 2001/05/08 05:17:36 mej Exp $ lib_LTLIBRARIES = libEterm.la bin_PROGRAMS = Eterm @@ -11,9 +11,9 @@ events.c events.h feature.h font.c font.h grkelot.c \ grkelot.h icon.h menus.c menus.h misc.c misc.h netdisp.c \ options.c options.h pixmap.c pixmap.h profile.h screen.c \ - screen.h scrollbar.c scrollbar.h startup.c startup.h \ - system.c system.h term.c term.h timer.c timer.h utmp.c \ - windows.c windows.h + screen.h script.c script.h scrollbar.c scrollbar.h \ + startup.c startup.h system.c system.h term.c term.h \ + timer.c timer.h utmp.c windows.c windows.h EXTRA_libEterm_la_SOURCES = $(MMX_SRCS) libEterm_la_LDFLAGS = -release $(VERSION) =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/actions.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- actions.c 2000/08/31 05:41:43 1.14 +++ actions.c 2001/05/08 05:17:36 1.15 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: actions.c,v 1.14 2000/08/31 05:41:43 mej Exp $"; +static const char cvs_ident[] = "$Id: actions.c,v 1.15 2001/05/08 05:17:36 mej Exp $"; #include "config.h" #include "feature.h" @@ -38,6 +38,7 @@ #include "options.h" #include "pixmap.h" #include "screen.h" +#include "script.h" #include "scrollbar.h" #include "term.h" #include "windows.h" @@ -63,9 +64,9 @@ } unsigned char -action_handle_function(event_t *ev, action_t *action) { - REQUIRE_RVAL(action->param.string != NULL, 0); - /* To be continued.... :-) */ +action_handle_script(event_t *ev, action_t *action) { + REQUIRE_RVAL(action->param.script != NULL, 0); + script_parse(action->param.script); return 1; ev = NULL; } @@ -165,7 +166,7 @@ action->next = action_list; action_list = action; } else { - if (action->type == ACTION_STRING || action->type == ACTION_ECHO || action->type == ACTION_FUNCTION) { + if (action->type == ACTION_STRING || action->type == ACTION_ECHO || action->type == ACTION_SCRIPT) { if (action->param.string) { FREE(action->param.string); } @@ -188,11 +189,10 @@ strcpy(action->param.string, (char *) param); parse_escaped_string(action->param.string); break; - case ACTION_FUNCTION: - action->handler = (action_handler_t) action_handle_function; - action->param.string = (char *) MALLOC(strlen((char *) param) + 2); - strcpy(action->param.string, (char *) param); - parse_escaped_string(action->param.string); + case ACTION_SCRIPT: + action->handler = (action_handler_t) action_handle_script; + action->param.script = (char *) MALLOC(strlen((char *) param) + 2); + strcpy(action->param.script, (char *) param); break; case ACTION_MENU: action->handler = (action_handler_t) action_handle_menu; =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/actions.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- actions.h 2000/07/03 19:08:41 1.5 +++ actions.h 2001/05/08 05:17:36 1.6 @@ -35,7 +35,7 @@ ACTION_NONE = 0, ACTION_STRING, ACTION_ECHO, - ACTION_FUNCTION, + ACTION_SCRIPT, ACTION_MENU } action_type_t; @@ -70,6 +70,7 @@ action_handler_t handler; union { char *string; + char *script; menu_t *menu; } param; struct action_struct *next; @@ -83,7 +84,7 @@ extern unsigned char action_handle_string(event_t *ev, action_t *action); extern unsigned char action_handle_echo(event_t *ev, action_t *action); -extern unsigned char action_handle_function(event_t *ev, action_t *action); +extern unsigned char action_handle_script(event_t *ev, action_t *action); extern unsigned char action_handle_menu(event_t *ev, action_t *action); extern action_t *action_find_match(unsigned short mod, unsigned char button, KeySym keysym); extern unsigned char action_dispatch(event_t *ev, KeySym keysym); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/buttons.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- buttons.c 2000/11/17 00:21:26 1.18 +++ buttons.c 2001/05/08 05:17:36 1.19 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: buttons.c,v 1.18 2000/11/17 00:21:26 mej Exp $"; +static const char cvs_ident[] = "$Id: buttons.c,v 1.19 2001/05/08 05:17:36 mej Exp $"; #include "config.h" #include "feature.h" @@ -40,6 +40,7 @@ #include "options.h" #include "pixmap.h" #include "screen.h" +#include "script.h" #include "term.h" #include "windows.h" @@ -654,6 +655,10 @@ strcpy(button->action.string, action); parse_escaped_string(button->action.string); break; + case ACTION_SCRIPT: + button->action.script = (char *) MALLOC(strlen(action) + 2); + strcpy(button->action.script, action); + break; default: break; } @@ -736,8 +741,9 @@ tt_write((unsigned char *) button->action.string, strlen(button->action.string)); } break; - case ACTION_FUNCTION: + case ACTION_SCRIPT: if (!press) { + script_parse((char *) button->action.script); } break; default: =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/buttons.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- buttons.h 2000/11/16 23:45:01 1.5 +++ buttons.h 2001/05/08 05:17:36 1.6 @@ -62,6 +62,7 @@ action_type_t type; union { menu_t *menu; + char *script; char *string; } action; char *text; =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/command.c,v retrieving revision 1.55 retrieving revision 1.56 diff -u -3 -r1.55 -r1.56 --- command.c 2000/12/29 22:59:12 1.55 +++ command.c 2001/05/08 05:17:36 1.56 @@ -34,7 +34,7 @@ * he guarantee anything whatsoever. *----------------------------------------------------------------------*/ -static const char cvs_ident[] = "$Id: command.c,v 1.55 2000/12/29 22:59:12 mej Exp $"; +static const char cvs_ident[] = "$Id: command.c,v 1.56 2001/05/08 05:17:36 mej Exp $"; /* includes: */ #include "config.h" @@ -1043,7 +1043,8 @@ /* If the child that exited is the command we spawned, or if the child exited before fork() returned in the parent, it must be our immediate child that exited. We exit gracefully. */ - if (pid == cmd_pid && cmd_pid != -1) { + if ((pid == cmd_pid && cmd_pid != -1) + || (pid == -1 && errno == ECHILD && cmd_pid != -1)) { if (Options & Opt_pause) { paused = 1; return; =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/eterm_debug.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- eterm_debug.h 2000/08/31 05:41:43 1.1 +++ eterm_debug.h 2001/05/08 05:17:36 1.2 @@ -57,6 +57,8 @@ # define D_BBAR(x) DPRINTF2(x) # define DEBUG_TIMER 2 # define D_TIMER(x) DPRINTF2(x) +# define DEBUG_SCRIPT 2 +# define D_SCRIPT(x) DPRINTF2(x) # define DEBUG_MENU 3 # define D_MENU(x) DPRINTF3(x) =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/feature.h,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- feature.h 2001/02/02 03:06:06 1.25 +++ feature.h 2001/05/08 05:17:36 1.26 @@ -267,13 +267,8 @@ #define APL_NAME "Eterm" /* COLORTERM, TERM environment variables */ -#ifdef MULTI_CHARSET -# define TERMENV "kterm" -# define COLORTERMENV "Eterm" -#else -# define TERMENV "xterm" -# define COLORTERMENV "Eterm" -#endif +#define TERMENV "Eterm" +#define COLORTERMENV "Eterm" #ifdef NO_MOUSE_REPORT # ifndef NO_MOUSE_REPORT_SCROLLBAR =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.c,v retrieving revision 1.81 retrieving revision 1.82 diff -u -3 -r1.81 -r1.82 --- options.c 2001/02/09 01:24:28 1.81 +++ options.c 2001/05/08 05:17:36 1.82 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: options.c,v 1.81 2001/02/09 01:24:28 mej Exp $"; +static const char cvs_ident[] = "$Id: options.c,v 1.82 2001/05/08 05:17:36 mej Exp $"; #include "config.h" #include "feature.h" @@ -1593,28 +1593,6 @@ return (STRDUP(APL_NAME "-" VERSION)); } -/* chomp() removes leading and trailing whitespace/quotes from a string */ -char * -chomp(char *s) -{ - - register char *front, *back; - - for (front = s; *front && isspace(*front); front++); - /* - if (*front == '\"') front++; - */ - for (back = s + strlen(s) - 1; *back && isspace(*back) && back > front; back--); - /* - if (*back == '\"') back--; - */ - - *(++back) = 0; - if (front != s) - memmove(s, front, back - front + 1); - return (s); -} - /* shell_expand() takes care of shell variable expansion, quote conventions, calling of built-in functions, etc. -- mej */ char * @@ -3027,6 +3005,10 @@ menu = find_menu_by_title(menu_list, str); action_add(mod, button, keysym, ACTION_MENU, (void *) menu); FREE(str); + } else if (!BEG_STRCASECMP(str, "script")) { + str = get_word(i+1, buff); + action_add(mod, button, keysym, ACTION_SCRIPT, (void *) str); + FREE(str); } else { print_error("Parse error in file %s, line %lu: Syntax error (\"to\" not found)\n", file_peek_path(), file_peek_line()); return NULL; @@ -3250,6 +3232,8 @@ button_set_action(button, ACTION_STRING, action); } else if (!BEG_STRCASECMP(type, "echo ")) { button_set_action(button, ACTION_ECHO, action); + } else if (!BEG_STRCASECMP(type, "script ")) { + button_set_action(button, ACTION_SCRIPT, action); } else { print_error("Parse error in file %s, line %lu: Invalid button action \"%s\"\n", file_peek_path(), file_peek_line(), type); FREE(action); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.h,v retrieving revision 1.27 retrieving revision 1.28 diff -u -3 -r1.27 -r1.28 --- options.h 2000/12/29 22:59:12 1.27 +++ options.h 2001/05/08 05:17:36 1.28 @@ -261,7 +261,6 @@ extern unsigned char conf_register_builtin(char *name, eterm_func_ptr_t ptr); extern unsigned char conf_register_context_state(unsigned char ctx_id); extern void conf_free_subsystem(void); -extern char *chomp(char *); extern char *shell_expand(char *); extern char *conf_find_file(const char *file, const char *dir, const char *pathlist); extern FILE *open_config_file(char *name); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/script.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- script.c 2001/05/05 06:57:28 1.2 +++ script.c 2001/05/08 05:17:36 1.3 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: script.c,v 1.2 2001/05/05 06:57:28 mej Exp $"; +static const char cvs_ident[] = "$Id: script.c,v 1.3 2001/05/08 05:17:36 mej Exp $"; #include "config.h" #include "feature.h" @@ -38,11 +38,12 @@ #include "options.h" #include "pixmap.h" #include "system.h" +#include "script.h" +#if 0 void eterm_handle_winop(char *action) { -#if 0 char *winid; Window win = 0; @@ -100,10 +101,54 @@ } else { print_error("IPC Error: Unrecognized window operation \"%s\"\n", action); } -#endif } +#endif void script_parse(char *s) { + char **token_list, **param_list; + register char *pstr; + register unsigned long i; + char *func_name, *params; + size_t len; + + REQUIRE(s != NULL); + + D_SCRIPT(("Parsing: \"%s\"\n", s)); + + token_list = split(";", s); + if (token_list == NULL) { + D_SCRIPT(("No tokens found; ignoring script.\n")); + return; + } + + for (i = 0; token_list[i]; i++) { + pstr = token_list[i]; + chomp(pstr); + if (!(*pstr)) { + continue; + } + if ((params = strchr(pstr, '(')) != NULL) { + if (params != pstr) { + len = params - pstr; + func_name = (char *) MALLOC(len + 1); + strncpy(func_name, pstr, len); + func_name[len] = 0; + } else { + print_error("Error in script \"%s\": Missing function name before \"%s\".\n", s, params); + return; + } + } else { + func_name = STRDUP(pstr); + } + if (func_name) { + chomp(func_name); + } + if (params) { + chomp(params); + } + D_SCRIPT(("Calling function %s with parameters: %s\n", NONULL(func_name), NONULL(params))); + } + } =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/script.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- script.h 2000/12/29 23:01:32 1.1 +++ script.h 2001/05/08 05:17:36 1.2 @@ -37,6 +37,7 @@ /************ Function Prototypes ************/ _XFUNCPROTOBEGIN +extern void script_parse(char *); _XFUNCPROTOEND |
From: <enl...@li...> - 2001-05-08 05:27:27
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/src Modified Files: script.c Log Message: A bit more before I head home. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/script.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- script.c 2001/05/08 05:17:36 1.3 +++ script.c 2001/05/08 05:27:26 1.4 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: script.c,v 1.3 2001/05/08 05:17:36 mej Exp $"; +static const char cvs_ident[] = "$Id: script.c,v 1.4 2001/05/08 05:27:26 mej Exp $"; #include "config.h" #include "feature.h" @@ -110,7 +110,7 @@ char **token_list, **param_list; register char *pstr; register unsigned long i; - char *func_name, *params; + char *func_name, *params, *tmp; size_t len; REQUIRE(s != NULL); @@ -146,7 +146,14 @@ chomp(func_name); } if (params) { - chomp(params); + params++; + if ((tmp = strchr(params, ')')) != NULL) { + *tmp = 0; + } else { + print_error("Error in script \"%s\": Missing closing parentheses for \"%s\".\n", s, token_list[i]); + return; + } + param_list = split(", \t", params); } D_SCRIPT(("Calling function %s with parameters: %s\n", NONULL(func_name), NONULL(params))); } |
From: <enl...@li...> - 2001-05-09 03:14:18
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/themes/trans Modified Files: menus.cfg theme.cfg.in Log Message: Tue May 8 19:53:56 PDT 2001 Michael Jennings <me...@et...> You can now create key, mouse button, menu item, and buttonbar button bindings which trigger the parsing of a "script." I've thrown in a few functions already to replace some icky escape sequences; there will be many more functions forthcoming, although I don't know how many of them (if any) will make it in prior to release. The usage is pretty simple. Where before you might've said: action string "\e]6;70\a" you would now say: action script "exit();" You can call as many functions as you like per script. Use a semi-colon (';') to separate each function call. If you only call one function, the ';' is optional. If you aren't passing parameters to the function, the parentheses are also optional. Parameters are separated by commas and/or whitespace. Valid functions currently are: die(): die() is a synonym for exit(). exec(): exec() is a synonym for spawn(). exit(): Exit Eterm. Takes an optional exit code or message. quit(): quit() is a synonym for exit(). save(): Save the config. Specify "theme" to save the theme config. Also takes an optional path & filename. search(): Search the scrollback buffer for a string. spawn(): Spawns a sub-program. Defaults to "Eterm". You will need the libast dated today to build and run this Eterm. You will also need to update your themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/trans/menus.cfg,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- menus.cfg 2000/04/06 04:52:52 1.4 +++ menus.cfg 2001/05/09 03:14:18 1.5 @@ -879,11 +879,11 @@ separator begin menuitem text "Save Settings..." - action string "\e]6;71\a" + action script "save()" end begin menuitem text "Exit" - action string "\e]6;70\a" + action script "exit" end end @@ -905,7 +905,7 @@ - begin menuitem text "New Window..." - action string "\e]6;73;Eterm\a" + action script "spawn(Eterm)" end begin menuitem text "Version" @@ -918,15 +918,15 @@ separator begin menuitem text "Save User Settings..." - action string "\e]6;71\a" + action script "save()" end begin menuitem text "Save Theme Settings..." - action string "\e]6;71;theme\a" + action script "save(theme)" end begin menuitem text "Exit" - action string "\e]6;70\a" + action script "exit" end end =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/trans/theme.cfg.in,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- theme.cfg.in 2000/12/29 22:59:13 1.18 +++ theme.cfg.in 2001/05/09 03:14:18 1.19 @@ -19,7 +19,7 @@ begin color # Foreground, background, cursor, scrollbar, pointer colors - foreground white + foreground #aaaaaa background black cursor #ffff00 cursor_text #880000 @@ -304,8 +304,8 @@ button Font action menu Font button Background action menu Background button Terminal action menu Terminal - rbutton icon help.png action string "\e]6;73;Eterm -e man Eterm\a" - rbutton icon exit.png action string "\e]6;70\a" + rbutton icon help.png action script "spawn(Eterm -e man Eterm)" + rbutton icon exit.png action script "exit" end button_bar # The XIM support options. |
From: <enl...@li...> - 2001-05-09 03:14:48
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm Modified Files: ChangeLog Log Message: Tue May 8 19:53:56 PDT 2001 Michael Jennings <me...@et...> You can now create key, mouse button, menu item, and buttonbar button bindings which trigger the parsing of a "script." I've thrown in a few functions already to replace some icky escape sequences; there will be many more functions forthcoming, although I don't know how many of them (if any) will make it in prior to release. The usage is pretty simple. Where before you might've said: action string "\e]6;70\a" you would now say: action script "exit();" You can call as many functions as you like per script. Use a semi-colon (';') to separate each function call. If you only call one function, the ';' is optional. If you aren't passing parameters to the function, the parentheses are also optional. Parameters are separated by commas and/or whitespace. Valid functions currently are: die(): die() is a synonym for exit(). exec(): exec() is a synonym for spawn(). exit(): Exit Eterm. Takes an optional exit code or message. quit(): quit() is a synonym for exit(). save(): Save the config. Specify "theme" to save the theme config. Also takes an optional path & filename. search(): Search the scrollback buffer for a string. spawn(): Spawns a sub-program. Defaults to "Eterm". You will need the libast dated today to build and run this Eterm. You will also need to update your themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.204 retrieving revision 1.205 diff -u -3 -r1.204 -r1.205 --- ChangeLog 2001/05/05 06:57:28 1.204 +++ ChangeLog 2001/05/09 03:14:18 1.205 @@ -4089,3 +4089,40 @@ backgrounds. ------------------------------------------------------------------------------- +Tue May 8 19:53:56 PDT 2001 Michael Jennings <me...@et...> + + You can now create key, mouse button, menu item, and buttonbar button + bindings which trigger the parsing of a "script." I've thrown in a + few functions already to replace some icky escape sequences; there + will be many more functions forthcoming, although I don't know how + many of them (if any) will make it in prior to release. + + The usage is pretty simple. Where before you might've said: + + action string "\e]6;70\a" + + you would now say: + + action script "exit();" + + You can call as many functions as you like per script. Use a + semi-colon (';') to separate each function call. If you only call + one function, the ';' is optional. If you aren't passing parameters + to the function, the parentheses are also optional. Parameters are + separated by commas and/or whitespace. + + Valid functions currently are: + + die(): die() is a synonym for exit(). + exec(): exec() is a synonym for spawn(). + exit(): Exit Eterm. Takes an optional exit code or message. + quit(): quit() is a synonym for exit(). + save(): Save the config. Specify "theme" to save the theme + config. Also takes an optional path & filename. + search(): Search the scrollback buffer for a string. + spawn(): Spawns a sub-program. Defaults to "Eterm". + + You will need the libast dated today to build and run this Eterm. + You will also need to update your themes. + +------------------------------------------------------------------------------- |
From: <enl...@li...> - 2001-05-09 03:14:48
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/src Modified Files: script.c script.h term.c Log Message: Tue May 8 19:53:56 PDT 2001 Michael Jennings <me...@et...> You can now create key, mouse button, menu item, and buttonbar button bindings which trigger the parsing of a "script." I've thrown in a few functions already to replace some icky escape sequences; there will be many more functions forthcoming, although I don't know how many of them (if any) will make it in prior to release. The usage is pretty simple. Where before you might've said: action string "\e]6;70\a" you would now say: action script "exit();" You can call as many functions as you like per script. Use a semi-colon (';') to separate each function call. If you only call one function, the ';' is optional. If you aren't passing parameters to the function, the parentheses are also optional. Parameters are separated by commas and/or whitespace. Valid functions currently are: die(): die() is a synonym for exit(). exec(): exec() is a synonym for spawn(). exit(): Exit Eterm. Takes an optional exit code or message. quit(): quit() is a synonym for exit(). save(): Save the config. Specify "theme" to save the theme config. Also takes an optional path & filename. search(): Search the scrollback buffer for a string. spawn(): Spawns a sub-program. Defaults to "Eterm". You will need the libast dated today to build and run this Eterm. You will also need to update your themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/script.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- script.c 2001/05/08 05:27:26 1.4 +++ script.c 2001/05/09 03:14:18 1.5 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: script.c,v 1.4 2001/05/08 05:27:26 mej Exp $"; +static const char cvs_ident[] = "$Id: script.c,v 1.5 2001/05/09 03:14:18 mej Exp $"; #include "config.h" #include "feature.h" @@ -34,11 +34,26 @@ #include <signal.h> #include "command.h" -#include "startup.h" #include "options.h" #include "pixmap.h" -#include "system.h" +#include "screen.h" #include "script.h" +#include "startup.h" +#include "system.h" + +static eterm_script_handler_t script_handlers[] = +{ + { "die", script_handler_exit }, + { "exec", script_handler_spawn }, + { "exit", script_handler_exit }, + { "quit", script_handler_exit }, + { "save", script_handler_save }, + { "search", script_handler_search }, + { "spawn", script_handler_spawn }, + + { "nop", script_handler_nop } +}; +static size_t handler_count = sizeof(script_handlers) / sizeof(eterm_script_handler_t); #if 0 void @@ -104,7 +119,82 @@ } #endif +/********* HANDLERS **********/ +void +script_handler_exit(char **params) +{ + unsigned char code = 0; + char *tmp; + + if (params && *params) { + if (isdigit(params[0][0]) || (params[0][0] == '-' && isdigit(params[0][1]))) { + code = (unsigned char) atoi(params[0]); + } else { + tmp = join(" ", params); + printf("Exiting: %s\n", tmp); + FREE(tmp); + } + } + exit(code); +} + +void +script_handler_save(char **params) +{ + if (params && *params) { + if (!strcasecmp(params[0], "theme")) { + save_config(params[1], SAVE_THEME_CONFIG); + } else { + save_config(params[0], SAVE_USER_CONFIG); + } + } else { + save_config(NULL, SAVE_USER_CONFIG); + } +} + void +script_handler_search(char **params) +{ + scr_search_scrollback(params ? params[0] : NULL); +} + +void +script_handler_spawn(char **params) +{ + char *tmp; + + if (params && *params) { + tmp = join(" ", params); + system_no_wait(tmp); + FREE(tmp); + } else { + system_no_wait("Eterm"); + } +} + +void +script_handler_nop(char **params) +{ + USE_VAR(params); +} + +/********* ENGINE *********/ +eterm_script_handler_t * +script_find_handler(const char *name) +{ + register unsigned long i; + + for (i = 0; i < handler_count; i++) { + /* Small optimization. Only call strcasecmp() if the first letter matches. */ + if ((tolower(name[0]) == tolower(script_handlers[i].name[0])) + && !strcasecmp(name, script_handlers[i].name)) { + return &script_handlers[i]; + } + } + return NULL; +} + +void script_parse(char *s) { char **token_list, **param_list; @@ -112,6 +202,7 @@ register unsigned long i; char *func_name, *params, *tmp; size_t len; + eterm_script_handler_t *func; REQUIRE(s != NULL); @@ -137,25 +228,37 @@ func_name[len] = 0; } else { print_error("Error in script \"%s\": Missing function name before \"%s\".\n", s, params); + free_array((void **) token_list, 0); return; } } else { func_name = STRDUP(pstr); } - if (func_name) { - chomp(func_name); + if (!func_name) { + free_array((void **) token_list, 0); + return; } if (params) { params++; - if ((tmp = strchr(params, ')')) != NULL) { + if ((tmp = strrchr(params, ')')) != NULL) { *tmp = 0; } else { print_error("Error in script \"%s\": Missing closing parentheses for \"%s\".\n", s, token_list[i]); + free_array((void **) token_list, 0); return; } param_list = split(", \t", params); } - D_SCRIPT(("Calling function %s with parameters: %s\n", NONULL(func_name), NONULL(params))); + D_SCRIPT(("Calling function %s with parameters: %s\n", func_name, NONULL(params))); + if ((func = script_find_handler(func_name)) != NULL) { + (func->handler)(param_list); + } else { + print_error("Error in script \"%s\": No such function \"%s\".\n", s, func_name); + } } + if (params) { + free_array((void **) param_list, 0); + } + free_array((void **) token_list, 0); } =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/script.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- script.h 2001/05/08 05:17:36 1.2 +++ script.h 2001/05/09 03:14:18 1.3 @@ -31,12 +31,26 @@ /************ Macros and Definitions ************/ /************ Structures ************/ +typedef void (*eterm_script_handler_function_t)(char **); +typedef struct { + char *name; + eterm_script_handler_function_t handler; +} eterm_script_handler_t; /************ Variables ************/ /************ Function Prototypes ************/ _XFUNCPROTOBEGIN +/* Handlers */ +extern void script_handler_exit(char **); +extern void script_handler_save(char **); +extern void script_handler_search(char **); +extern void script_handler_spawn(char **); +extern void script_handler_nop(char **); + +/* Engine */ +extern eterm_script_handler_t *script_find_handler(const char *); extern void script_parse(char *); _XFUNCPROTOEND =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/term.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -3 -r1.60 -r1.61 --- term.c 2000/12/29 22:59:12 1.60 +++ term.c 2001/05/09 03:14:18 1.61 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: term.c,v 1.60 2000/12/29 22:59:12 mej Exp $"; +static const char cvs_ident[] = "$Id: term.c,v 1.61 2001/05/09 03:14:18 mej Exp $"; #include "config.h" #include "feature.h" @@ -1841,7 +1841,7 @@ 30-39 Foreground/Text Color Configuration 40-49 Background Color Configuration 50-69 Window/Window Manager Configuration/Interaction - 70-79 Internal Eterm Operations + 70+ Internal Eterm Operations */ switch (eterm_seq_op) { #ifdef PIXMAP_SUPPORT @@ -2269,6 +2269,7 @@ XSendEvent(Xdisplay, Xroot, False, SubstructureNotifyMask, (XEvent *) & xev); } break; +#if 0 case 70: /* Exit Eterm */ exit(0); @@ -2287,6 +2288,7 @@ save_config(NULL, SAVE_USER_CONFIG); } break; +#endif case 72: /* Search scrollback buffer for a string. NULL to clear. */ nstr = (char *) strsep(&tnstr, ";"); @@ -2296,6 +2298,7 @@ scr_search_scrollback(NULL); } break; +#if 0 case 73: /* Spawn a subprogram */ nstr = (char *) strsep(&tnstr, ";"); @@ -2303,6 +2306,7 @@ system_no_wait(nstr); } break; +#endif case 80: /* Set debugging level */ nstr = (char *) strsep(&tnstr, ";"); |
From: <enl...@li...> - 2001-05-09 03:14:48
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/themes/Eterm Modified Files: menus.cfg theme.cfg.in Log Message: Tue May 8 19:53:56 PDT 2001 Michael Jennings <me...@et...> You can now create key, mouse button, menu item, and buttonbar button bindings which trigger the parsing of a "script." I've thrown in a few functions already to replace some icky escape sequences; there will be many more functions forthcoming, although I don't know how many of them (if any) will make it in prior to release. The usage is pretty simple. Where before you might've said: action string "\e]6;70\a" you would now say: action script "exit();" You can call as many functions as you like per script. Use a semi-colon (';') to separate each function call. If you only call one function, the ';' is optional. If you aren't passing parameters to the function, the parentheses are also optional. Parameters are separated by commas and/or whitespace. Valid functions currently are: die(): die() is a synonym for exit(). exec(): exec() is a synonym for spawn(). exit(): Exit Eterm. Takes an optional exit code or message. quit(): quit() is a synonym for exit(). save(): Save the config. Specify "theme" to save the theme config. Also takes an optional path & filename. search(): Search the scrollback buffer for a string. spawn(): Spawns a sub-program. Defaults to "Eterm". You will need the libast dated today to build and run this Eterm. You will also need to update your themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/Eterm/menus.cfg,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- menus.cfg 2000/04/06 04:52:51 1.4 +++ menus.cfg 2001/05/09 03:14:18 1.5 @@ -879,11 +879,11 @@ separator begin menuitem text "Save Settings..." - action string "\e]6;71\a" + action script "save()" end begin menuitem text "Exit" - action string "\e]6;70\a" + action script "exit" end end @@ -905,7 +905,7 @@ - begin menuitem text "New Window..." - action string "\e]6;73;Eterm\a" + action script "spawn(Eterm)" end begin menuitem text "Version" @@ -918,15 +918,15 @@ separator begin menuitem text "Save User Settings..." - action string "\e]6;71\a" + action script "save()" end begin menuitem text "Save Theme Settings..." - action string "\e]6;71;theme\a" + action script "save(theme)" end begin menuitem text "Exit" - action string "\e]6;70\a" + action script "exit" end end =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/Eterm/theme.cfg.in,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- theme.cfg.in 2000/12/29 22:59:12 1.18 +++ theme.cfg.in 2001/05/09 03:14:18 1.19 @@ -19,7 +19,7 @@ begin color # Foreground, background, cursor, scrollbar, pointer colors - foreground white + foreground #aaaaaa background black cursor #ffff00 cursor_text #880000 @@ -304,8 +304,8 @@ button Font action menu Font button Background action menu Background button Terminal action menu Terminal - rbutton icon help.png action string "\e]6;73;Eterm -e man Eterm\a" - rbutton icon exit.png action string "\e]6;70\a" + rbutton icon help.png action script "spawn(Eterm -e man Eterm)" + rbutton icon exit.png action script "exit" end button_bar # The XIM support options. |
From: <enl...@li...> - 2001-05-09 03:14:48
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/themes/auto Modified Files: menus.cfg theme.cfg.in Log Message: Tue May 8 19:53:56 PDT 2001 Michael Jennings <me...@et...> You can now create key, mouse button, menu item, and buttonbar button bindings which trigger the parsing of a "script." I've thrown in a few functions already to replace some icky escape sequences; there will be many more functions forthcoming, although I don't know how many of them (if any) will make it in prior to release. The usage is pretty simple. Where before you might've said: action string "\e]6;70\a" you would now say: action script "exit();" You can call as many functions as you like per script. Use a semi-colon (';') to separate each function call. If you only call one function, the ';' is optional. If you aren't passing parameters to the function, the parentheses are also optional. Parameters are separated by commas and/or whitespace. Valid functions currently are: die(): die() is a synonym for exit(). exec(): exec() is a synonym for spawn(). exit(): Exit Eterm. Takes an optional exit code or message. quit(): quit() is a synonym for exit(). save(): Save the config. Specify "theme" to save the theme config. Also takes an optional path & filename. search(): Search the scrollback buffer for a string. spawn(): Spawns a sub-program. Defaults to "Eterm". You will need the libast dated today to build and run this Eterm. You will also need to update your themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/auto/menus.cfg,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- menus.cfg 2000/04/06 04:52:51 1.5 +++ menus.cfg 2001/05/09 03:14:18 1.6 @@ -879,11 +879,11 @@ separator begin menuitem text "Save Settings..." - action string "\e]6;71\a" + action script "save()" end begin menuitem text "Exit" - action string "\e]6;70\a" + action script "exit" end end @@ -905,7 +905,7 @@ - begin menuitem text "New Window..." - action string "\e]6;73;Eterm\a" + action script "spawn(Eterm)" end begin menuitem text "Version" @@ -918,15 +918,15 @@ separator begin menuitem text "Save User Settings..." - action string "\e]6;71\a" + action script "save()" end begin menuitem text "Save Theme Settings..." - action string "\e]6;71;theme\a" + action script "save(theme)" end begin menuitem text "Exit" - action string "\e]6;70\a" + action script "exit" end end =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/auto/theme.cfg.in,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- theme.cfg.in 2000/12/29 22:59:13 1.11 +++ theme.cfg.in 2001/05/09 03:14:18 1.12 @@ -19,7 +19,7 @@ begin color # Foreground, background, cursor, scrollbar, pointer colors - foreground white + foreground #aaaaaa background black cursor #ffff00 cursor_text #880000 @@ -304,8 +304,8 @@ button Font action menu Font button Background action menu Background button Terminal action menu Terminal - rbutton icon help.png action string "\e]6;73;Eterm -e man Eterm\a" - rbutton icon exit.png action string "\e]6;70\a" + rbutton icon help.png action script "spawn(Eterm -e man Eterm)" + rbutton icon exit.png action script "exit" end button_bar # The XIM support options. |
From: <enl...@li...> - 2001-05-09 03:14:49
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/themes/emacs Modified Files: menus.cfg theme.cfg.in Log Message: Tue May 8 19:53:56 PDT 2001 Michael Jennings <me...@et...> You can now create key, mouse button, menu item, and buttonbar button bindings which trigger the parsing of a "script." I've thrown in a few functions already to replace some icky escape sequences; there will be many more functions forthcoming, although I don't know how many of them (if any) will make it in prior to release. The usage is pretty simple. Where before you might've said: action string "\e]6;70\a" you would now say: action script "exit();" You can call as many functions as you like per script. Use a semi-colon (';') to separate each function call. If you only call one function, the ';' is optional. If you aren't passing parameters to the function, the parentheses are also optional. Parameters are separated by commas and/or whitespace. Valid functions currently are: die(): die() is a synonym for exit(). exec(): exec() is a synonym for spawn(). exit(): Exit Eterm. Takes an optional exit code or message. quit(): quit() is a synonym for exit(). save(): Save the config. Specify "theme" to save the theme config. Also takes an optional path & filename. search(): Search the scrollback buffer for a string. spawn(): Spawns a sub-program. Defaults to "Eterm". You will need the libast dated today to build and run this Eterm. You will also need to update your themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/emacs/menus.cfg,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- menus.cfg 2000/04/06 04:52:52 1.4 +++ menus.cfg 2001/05/09 03:14:18 1.5 @@ -1128,15 +1128,15 @@ separator begin menuitem text "Save User Settings..." - action string "\e]6;71\a" + action script "save()" end begin menuitem text "Save Theme Settings..." - action string "\e]6;71;theme\a" + action script "save(theme)" end begin menuitem text "Exit" - action string "\e]6;70\a" + action script "exit" end end =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/emacs/theme.cfg.in,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- theme.cfg.in 2000/12/29 22:59:13 1.16 +++ theme.cfg.in 2001/05/09 03:14:18 1.17 @@ -19,7 +19,7 @@ begin color # Foreground, background, cursor, scrollbar, pointer colors - foreground white + foreground #aaaaaa background black cursor #ffff00 cursor_text #880000 @@ -306,8 +306,8 @@ button Edit action menu Edit button Search action menu Search button Help action menu Help - rbutton icon help.png action string "\e]6;73;Eterm -e man Eterm\a" - rbutton icon exit.png action string "\e]6;70\a" + rbutton icon help.png action script "spawn(Eterm -e man Eterm)" + rbutton icon exit.png action script "exit" end button_bar # The XIM support options. |
From: <enl...@li...> - 2001-05-09 03:14:49
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/themes/cEterm Modified Files: menus.cfg theme.cfg.in Log Message: Tue May 8 19:53:56 PDT 2001 Michael Jennings <me...@et...> You can now create key, mouse button, menu item, and buttonbar button bindings which trigger the parsing of a "script." I've thrown in a few functions already to replace some icky escape sequences; there will be many more functions forthcoming, although I don't know how many of them (if any) will make it in prior to release. The usage is pretty simple. Where before you might've said: action string "\e]6;70\a" you would now say: action script "exit();" You can call as many functions as you like per script. Use a semi-colon (';') to separate each function call. If you only call one function, the ';' is optional. If you aren't passing parameters to the function, the parentheses are also optional. Parameters are separated by commas and/or whitespace. Valid functions currently are: die(): die() is a synonym for exit(). exec(): exec() is a synonym for spawn(). exit(): Exit Eterm. Takes an optional exit code or message. quit(): quit() is a synonym for exit(). save(): Save the config. Specify "theme" to save the theme config. Also takes an optional path & filename. search(): Search the scrollback buffer for a string. spawn(): Spawns a sub-program. Defaults to "Eterm". You will need the libast dated today to build and run this Eterm. You will also need to update your themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/cEterm/menus.cfg,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- menus.cfg 2000/04/06 04:52:52 1.4 +++ menus.cfg 2001/05/09 03:14:18 1.5 @@ -879,11 +879,11 @@ separator begin menuitem text "Save Settings..." - action string "\e]6;71\a" + action script "save()" end begin menuitem text "Exit" - action string "\e]6;70\a" + action script "exit" end end @@ -905,7 +905,7 @@ - begin menuitem text "New Window..." - action string "\e]6;73;Eterm\a" + action script "spawn(Eterm)" end begin menuitem text "Version" @@ -918,15 +918,15 @@ separator begin menuitem text "Save User Settings..." - action string "\e]6;71\a" + action script "save()" end begin menuitem text "Save Theme Settings..." - action string "\e]6;71;theme\a" + action script "save(theme)" end begin menuitem text "Exit" - action string "\e]6;70\a" + action script "exit" end end =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/cEterm/theme.cfg.in,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- theme.cfg.in 2000/12/29 22:59:13 1.15 +++ theme.cfg.in 2001/05/09 03:14:18 1.16 @@ -19,7 +19,7 @@ begin color # Foreground, background, cursor, scrollbar, pointer colors - foreground white + foreground #aaaaaa background black cursor #ffff00 cursor_text #880000 @@ -303,8 +303,8 @@ button Font action menu Font button Background action menu Background button Terminal action menu Terminal - rbutton icon help.png action string "\e]6;73;Eterm -e man Eterm\a" - rbutton icon exit.png action string "\e]6;70\a" + rbutton icon help.png action script "spawn(Eterm -e man Eterm)" + rbutton icon exit.png action script "exit" end button_bar # The XIM support options. |
From: <enl...@li...> - 2001-05-09 03:14:49
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/themes/irc Modified Files: menus.cfg theme.cfg.in Log Message: Tue May 8 19:53:56 PDT 2001 Michael Jennings <me...@et...> You can now create key, mouse button, menu item, and buttonbar button bindings which trigger the parsing of a "script." I've thrown in a few functions already to replace some icky escape sequences; there will be many more functions forthcoming, although I don't know how many of them (if any) will make it in prior to release. The usage is pretty simple. Where before you might've said: action string "\e]6;70\a" you would now say: action script "exit();" You can call as many functions as you like per script. Use a semi-colon (';') to separate each function call. If you only call one function, the ';' is optional. If you aren't passing parameters to the function, the parentheses are also optional. Parameters are separated by commas and/or whitespace. Valid functions currently are: die(): die() is a synonym for exit(). exec(): exec() is a synonym for spawn(). exit(): Exit Eterm. Takes an optional exit code or message. quit(): quit() is a synonym for exit(). save(): Save the config. Specify "theme" to save the theme config. Also takes an optional path & filename. search(): Search the scrollback buffer for a string. spawn(): Spawns a sub-program. Defaults to "Eterm". You will need the libast dated today to build and run this Eterm. You will also need to update your themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/irc/menus.cfg,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- menus.cfg 2000/04/06 04:52:52 1.4 +++ menus.cfg 2001/05/09 03:14:18 1.5 @@ -879,11 +879,11 @@ separator begin menuitem text "Save Settings..." - action string "\e]6;71\a" + action script "save()" end begin menuitem text "Exit" - action string "\e]6;70\a" + action script "exit" end end @@ -905,7 +905,7 @@ - begin menuitem text "New Window..." - action string "\e]6;73;Eterm\a" + action script "spawn(Eterm)" end begin menuitem text "Version" @@ -918,15 +918,15 @@ separator begin menuitem text "Save User Settings..." - action string "\e]6;71\a" + action script "save()" end begin menuitem text "Save Theme Settings..." - action string "\e]6;71;theme\a" + action script "save(theme)" end begin menuitem text "Exit" - action string "\e]6;70\a" + action script "exit" end end =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/irc/theme.cfg.in,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- theme.cfg.in 2000/12/29 22:59:13 1.15 +++ theme.cfg.in 2001/05/09 03:14:18 1.16 @@ -306,8 +306,8 @@ button Font action menu Font button Background action menu Background button Terminal action menu Terminal - rbutton icon help.png action string "\e]6;73;Eterm -e man Eterm\a" - rbutton icon exit.png action string "\e]6;70\a" + rbutton icon help.png action script "spawn(Eterm -e man Eterm)" + rbutton icon exit.png action script "exit" end button_bar # The XIM support options. |
From: <enl...@li...> - 2001-05-09 03:14:49
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/themes/chooser Modified Files: menus.cfg theme.cfg.in Log Message: Tue May 8 19:53:56 PDT 2001 Michael Jennings <me...@et...> You can now create key, mouse button, menu item, and buttonbar button bindings which trigger the parsing of a "script." I've thrown in a few functions already to replace some icky escape sequences; there will be many more functions forthcoming, although I don't know how many of them (if any) will make it in prior to release. The usage is pretty simple. Where before you might've said: action string "\e]6;70\a" you would now say: action script "exit();" You can call as many functions as you like per script. Use a semi-colon (';') to separate each function call. If you only call one function, the ';' is optional. If you aren't passing parameters to the function, the parentheses are also optional. Parameters are separated by commas and/or whitespace. Valid functions currently are: die(): die() is a synonym for exit(). exec(): exec() is a synonym for spawn(). exit(): Exit Eterm. Takes an optional exit code or message. quit(): quit() is a synonym for exit(). save(): Save the config. Specify "theme" to save the theme config. Also takes an optional path & filename. search(): Search the scrollback buffer for a string. spawn(): Spawns a sub-program. Defaults to "Eterm". You will need the libast dated today to build and run this Eterm. You will also need to update your themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/chooser/menus.cfg,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- menus.cfg 2000/04/06 04:52:52 1.4 +++ menus.cfg 2001/05/09 03:14:18 1.5 @@ -12,6 +12,10 @@ text "$1" action submenu "$1" end') +define(SCRIPT_ITEM, `begin menuitem + text "$1" + action script "$2" + end') define(FONT_ITEM, `begin menuitem text "$1" action string "\e]50;#$2" @@ -979,11 +983,11 @@ SUBMENU_ITEM(Background) SUBMENU_ITEM(Terminal) - - STRING_ITEM(`New Eterm Window', `\e]6;73;Eterm\a') + SCRIPT_ITEM(`New Eterm Window', `spawn(Eterm)') STRING_ITEM(`Version', `\e[8n') STRING_ITEM(`Status', `\e[9n') separator - STRING_ITEM(`Save User Settings...', `\e]6;71\a') - STRING_ITEM(`Save Theme Settings...', `\e]6;71;theme\a') - STRING_ITEM(`Exit', `\e]6;70\a') + SCRIPT_ITEM(`Save User Settings...', `save') + SCRIPT_ITEM(`Save Theme Settings...', `save(theme)') + SCRIPT_ITEM(`Exit', `exit') end =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/chooser/theme.cfg.in,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- theme.cfg.in 2000/12/29 22:59:13 1.16 +++ theme.cfg.in 2001/05/09 03:14:18 1.17 @@ -19,7 +19,7 @@ begin color # Foreground, background, cursor, scrollbar, pointer colors - foreground white + foreground #aaaaaa background black cursor #ffff00 cursor_text #880000 @@ -305,8 +305,8 @@ button rlogin action menu rlogin button telnet action menu telnet button ftp action menu ftp - rbutton icon help.png action string "\e]6;73;Eterm -e man Eterm\a" - rbutton icon exit.png action string "\e]6;70\a" + rbutton icon help.png action script "spawn(Eterm -e man Eterm)" + rbutton icon exit.png action script "exit" end button_bar # The XIM support options. |
From: <enl...@li...> - 2001-05-09 03:14:49
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/themes/mutt Modified Files: menus.cfg theme.cfg.in Log Message: Tue May 8 19:53:56 PDT 2001 Michael Jennings <me...@et...> You can now create key, mouse button, menu item, and buttonbar button bindings which trigger the parsing of a "script." I've thrown in a few functions already to replace some icky escape sequences; there will be many more functions forthcoming, although I don't know how many of them (if any) will make it in prior to release. The usage is pretty simple. Where before you might've said: action string "\e]6;70\a" you would now say: action script "exit();" You can call as many functions as you like per script. Use a semi-colon (';') to separate each function call. If you only call one function, the ';' is optional. If you aren't passing parameters to the function, the parentheses are also optional. Parameters are separated by commas and/or whitespace. Valid functions currently are: die(): die() is a synonym for exit(). exec(): exec() is a synonym for spawn(). exit(): Exit Eterm. Takes an optional exit code or message. quit(): quit() is a synonym for exit(). save(): Save the config. Specify "theme" to save the theme config. Also takes an optional path & filename. search(): Search the scrollback buffer for a string. spawn(): Spawns a sub-program. Defaults to "Eterm". You will need the libast dated today to build and run this Eterm. You will also need to update your themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/mutt/menus.cfg,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- menus.cfg 2000/04/06 04:52:52 1.4 +++ menus.cfg 2001/05/09 03:14:18 1.5 @@ -1062,15 +1062,15 @@ separator begin menuitem text "Save User Settings..." - action string "\e]6;71\a" + action script "save()" end begin menuitem text "Save Theme Settings..." - action string "\e]6;71;theme\a" + action script "save(theme)" end begin menuitem text "Exit" - action string "\e]6;70\a" + action script "exit" end end =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/mutt/theme.cfg.in,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- theme.cfg.in 2000/12/29 22:59:13 1.15 +++ theme.cfg.in 2001/05/09 03:14:18 1.16 @@ -19,7 +19,7 @@ begin color # Foreground, background, cursor, scrollbar, pointer colors - foreground white + foreground #aaaaaa background black cursor #ffff00 cursor_text #880000 @@ -302,8 +302,8 @@ button Eterm action menu Eterm button Messages action menu Messages button Mailbox action menu Mailbox - rbutton icon help.png action string "\e]6;73;Eterm -e man Eterm\a" - rbutton icon exit.png action string "\e]6;70\a" + rbutton icon help.png action script "spawn(Eterm -e man Eterm)" + rbutton icon exit.png action script "exit" end button_bar # The XIM support options. |
From: <enl...@li...> - 2001-05-10 00:20:16
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/themes/trans Modified Files: theme.cfg.in Log Message: Wed May 9 17:18:11 PDT 2001 Michael Jennings <me...@et...> Fixed several bugs in the saving of settings and the support of scripts in menus. Also fixed the definition of term_name in the theme files as pointed out by Laurence J. Lane <lj...@de...>. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/trans/theme.cfg.in,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- theme.cfg.in 2001/05/09 03:14:18 1.19 +++ theme.cfg.in 2001/05/10 00:20:15 1.20 @@ -394,7 +394,7 @@ # line_space 2 # Value to use for $TERM - term_name xterm + term_name Eterm # Program to exec (intended for use with themes) # exec foo |
From: <enl...@li...> - 2001-05-10 00:20:46
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/doc Modified Files: Eterm.ti Log Message: Wed May 9 17:18:11 PDT 2001 Michael Jennings <me...@et...> Fixed several bugs in the saving of settings and the support of scripts in menus. Also fixed the definition of term_name in the theme files as pointed out by Laurence J. Lane <lj...@de...>. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/doc/Eterm.ti,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- Eterm.ti 2000/06/10 18:21:35 1.4 +++ Eterm.ti 2001/05/10 00:20:15 1.5 @@ -56,6 +56,8 @@ bold=\e[1m, rev=\e[7m, blink=\e[5m, # Start/stop underline, standout (reverse video) smul=\e[4m, rmul=\e[24m, smso=\e[7m, rmso=\e[27m, +# Turn off all attributes (exit_attribute_mode) + sgr0=\e[m^O, # Flash the screen (sets and resets reverse video for the whole screen) flash=\e[?5h\e[?5l, @@ -135,7 +137,6 @@ use=Eterm-base, sgr=\e[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t^N%e^O%;, ## sgr=\e[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m, - sgr0=\e[m^O, ###### Add mouse reporting Eterm-mouse|Eterm with X11 mouse reporting, |
From: <enl...@li...> - 2001-05-10 00:20:46
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/src Modified Files: menus.c menus.h options.c script.c Log Message: Wed May 9 17:18:11 PDT 2001 Michael Jennings <me...@et...> Fixed several bugs in the saving of settings and the support of scripts in menus. Also fixed the definition of term_name in the theme files as pointed out by Laurence J. Lane <lj...@de...>. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/menus.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -3 -r1.42 -r1.43 --- menus.c 2001/01/10 21:07:11 1.42 +++ menus.c 2001/05/10 00:20:15 1.43 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: menus.c,v 1.42 2001/01/10 21:07:11 mej Exp $"; +static const char cvs_ident[] = "$Id: menus.c,v 1.43 2001/05/10 00:20:15 mej Exp $"; #include "config.h" #include "feature.h" @@ -39,6 +39,7 @@ #include "options.h" #include "pixmap.h" #include "screen.h" +#include "script.h" #include "term.h" #include "windows.h" @@ -712,6 +713,8 @@ } if (item->type == MENUITEM_STRING || item->type == MENUITEM_ECHO) { FREE(item->action.string); + } else if (item->type == MENUITEM_SCRIPT) { + FREE(item->action.script); } if (item->text) { FREE(item->text); @@ -756,6 +759,9 @@ case MENUITEM_SUBMENU: item->action.submenu = find_menu_by_title(menu_list, action); break; + case MENUITEM_SCRIPT: + item->action.script = STRDUP(action); + break; case MENUITEM_STRING: case MENUITEM_ECHO: item->action.string = (char *) MALLOC(strlen(action) + 2); @@ -1163,6 +1169,9 @@ break; case MENUITEM_ECHO: tt_write((unsigned char *) item->action.string, strlen(item->action.string)); + break; + case MENUITEM_SCRIPT: + script_parse((char *) item->action.script); break; default: fatal_error("Internal Program Error: Unknown menuitem type: %u\n", item->type); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/menus.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- menus.h 2000/09/02 04:12:16 1.14 +++ menus.h 2001/05/10 00:20:15 1.15 @@ -33,6 +33,7 @@ #define MENUITEM_SUBMENU (1UL << 1) #define MENUITEM_STRING (1UL << 2) #define MENUITEM_ECHO (1UL << 3) +#define MENUITEM_SCRIPT (1UL << 4) #define MENU_STATE_IS_MAPPED (1UL << 0) #define MENU_STATE_IS_CURRENT (1UL << 1) @@ -61,6 +62,7 @@ union { menu_t *submenu; char *string; + char *script; } action; char *text, *rtext; unsigned short len, rlen; =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.c,v retrieving revision 1.82 retrieving revision 1.83 diff -u -3 -r1.82 -r1.83 --- options.c 2001/05/08 05:17:36 1.82 +++ options.c 2001/05/10 00:20:15 1.83 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: options.c,v 1.82 2001/05/08 05:17:36 mej Exp $"; +static const char cvs_ident[] = "$Id: options.c,v 1.83 2001/05/10 00:20:15 mej Exp $"; #include "config.h" #include "feature.h" @@ -3129,6 +3129,9 @@ } else if (!BEG_STRCASECMP(type, "string ")) { menuitem_set_action(curitem, MENUITEM_STRING, action); + } else if (!BEG_STRCASECMP(type, "script ")) { + menuitem_set_action(curitem, MENUITEM_SCRIPT, action); + } else if (!BEG_STRCASECMP(type, "echo ")) { menuitem_set_action(curitem, MENUITEM_ECHO, action); @@ -3295,7 +3298,8 @@ && BEG_STRCASECMP(rs_multichar_encoding, "sjis") && BEG_STRCASECMP(rs_multichar_encoding, "euckr") && BEG_STRCASECMP(rs_multichar_encoding, "big5") - && BEG_STRCASECMP(rs_multichar_encoding, "gb")) { + && BEG_STRCASECMP(rs_multichar_encoding, "gb") + && BEG_STRCASECMP(rs_multichar_encoding, "iso-10646")) { print_error("Parse error in file %s, line %lu: Invalid multichar encoding mode \"%s\"\n", file_peek_path(), file_peek_line(), rs_multichar_encoding); return NULL; @@ -4602,6 +4606,8 @@ fprintf(fp, "echo \"%s\"\n", safe_print_string(item->action.string, -1)); } else if (item->type == MENUITEM_SUBMENU) { fprintf(fp, "submenu \"%s\"\n", (item->action.submenu)->title); + } else if (item->type == MENUITEM_SCRIPT) { + fprintf(fp, "script \"%s\"\n", item->action.script); } fprintf(fp, " end\n"); } @@ -4647,31 +4653,22 @@ } if (action->mod & MOD_MOD5) { fprintf(fp, "mod5 "); - } - if (action->keysym) { - fprintf(fp, "0x%04x", (unsigned int) action->keysym); - } else { - fprintf(fp, "button"); - if (action->button == Button5) { - fprintf(fp, "5"); - } else if (action->button == Button4) { - fprintf(fp, "4"); - } else if (action->button == Button3) { - fprintf(fp, "3"); - } else if (action->button == Button2) { - fprintf(fp, "2"); - } else { - fprintf(fp, "1"); - } } - fprintf(fp, " to "); - if (action->type == ACTION_STRING) { - fprintf(fp, "string \"%s\"\n", safe_print_string(action->param.string, -1)); - } else if (action->type == ACTION_ECHO) { - fprintf(fp, "echo \"%s\"\n", safe_print_string(action->param.string, -1)); - } else if (action->type == ACTION_MENU) { - fprintf(fp, "menu \"%s\"\n", (action->param.menu)->title); - } + } + if (action->keysym) { + fprintf(fp, "0x%04x", (unsigned int) action->keysym); + } else { + fprintf(fp, "button%d", (int) action->button); + } + fprintf(fp, " to "); + if (action->type == ACTION_STRING) { + fprintf(fp, "string \"%s\"\n", safe_print_string(action->param.string, -1)); + } else if (action->type == ACTION_ECHO) { + fprintf(fp, "echo \"%s\"\n", safe_print_string(action->param.string, -1)); + } else if (action->type == ACTION_MENU) { + fprintf(fp, "menu \"%s\"\n", (action->param.menu)->title); + } else if (action->type == ACTION_SCRIPT) { + fprintf(fp, "script \"%s\"\n", action->param.script); } } fprintf(fp, " end actions\n\n"); @@ -4745,7 +4742,7 @@ } for (i = 0; i < 256; i++) { if (KeySym_map[i]) { - fprintf(fp, " keysym 0xff%02x \"%s\"\n", i, (KeySym_map[i] + 1)); + fprintf(fp, " keysym 0xff%02x \'%s\'\n", i, safe_print_string((char *) (KeySym_map[i] + 1), (unsigned long) KeySym_map[i][0])); } } #ifdef GREEK_SUPPORT =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/script.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- script.c 2001/05/09 03:14:18 1.5 +++ script.c 2001/05/10 00:20:15 1.6 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: script.c,v 1.5 2001/05/09 03:14:18 mej Exp $"; +static const char cvs_ident[] = "$Id: script.c,v 1.6 2001/05/10 00:20:15 mej Exp $"; #include "config.h" #include "feature.h" @@ -248,6 +248,8 @@ return; } param_list = split(", \t", params); + } else { + param_list = NULL; } D_SCRIPT(("Calling function %s with parameters: %s\n", func_name, NONULL(params))); if ((func = script_find_handler(func_name)) != NULL) { |
From: <enl...@li...> - 2001-05-10 00:20:46
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/themes/chooser Modified Files: theme.cfg.in Log Message: Wed May 9 17:18:11 PDT 2001 Michael Jennings <me...@et...> Fixed several bugs in the saving of settings and the support of scripts in menus. Also fixed the definition of term_name in the theme files as pointed out by Laurence J. Lane <lj...@de...>. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/chooser/theme.cfg.in,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- theme.cfg.in 2001/05/09 03:14:18 1.17 +++ theme.cfg.in 2001/05/10 00:20:15 1.18 @@ -395,7 +395,7 @@ # line_space 2 # Value to use for $TERM - term_name xterm + term_name Eterm # Program to exec (intended for use with themes) # exec foo |
From: <enl...@li...> - 2001-05-10 00:20:46
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm/themes/auto Modified Files: theme.cfg.in Log Message: Wed May 9 17:18:11 PDT 2001 Michael Jennings <me...@et...> Fixed several bugs in the saving of settings and the support of scripts in menus. Also fixed the definition of term_name in the theme files as pointed out by Laurence J. Lane <lj...@de...>. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/auto/theme.cfg.in,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- theme.cfg.in 2001/05/09 03:14:18 1.12 +++ theme.cfg.in 2001/05/10 00:20:15 1.13 @@ -399,7 +399,7 @@ # line_space 2 # Value to use for $TERM - term_name xterm + term_name Eterm # Program to exec (intended for use with themes) # exec foo |
From: <enl...@li...> - 2001-05-10 00:20:46
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Dir : eterm/Eterm Modified Files: ChangeLog Log Message: Wed May 9 17:18:11 PDT 2001 Michael Jennings <me...@et...> Fixed several bugs in the saving of settings and the support of scripts in menus. Also fixed the definition of term_name in the theme files as pointed out by Laurence J. Lane <lj...@de...>. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.205 retrieving revision 1.206 diff -u -3 -r1.205 -r1.206 --- ChangeLog 2001/05/09 03:14:18 1.205 +++ ChangeLog 2001/05/10 00:20:15 1.206 @@ -4126,3 +4126,10 @@ You will also need to update your themes. ------------------------------------------------------------------------------- +Wed May 9 17:18:11 PDT 2001 Michael Jennings <me...@et...> + + Fixed several bugs in the saving of settings and the support of + scripts in menus. Also fixed the definition of term_name in the theme + files as pointed out by Laurence J. Lane <lj...@de...>. + +------------------------------------------------------------------------------- |