Enlightenment CVS committal
Author : mej
Project : eterm
Module : Eterm
Dir : eterm/Eterm/src
Modified Files:
command.c misc.c misc.h pixmap.c term.c term.h windows.c
windows.h
Log Message:
Sun Mar 2 23:40:39 2003 Michael Jennings (mej)
Fixed a bug with foreground/background color change pointed out by
Thomas <[EMAIL PROTECTED]>.
Also added support for all the other OSC color change sequences (at
least those for the colors that Eterm uses). The sequences are of
the form "\e];n;color[;color[...]]\a", where n is between 10 and 19.
You can specify up to (20 - n) semicolon-separated colors representing
the following attributes in order: foreground, background, cursor,
mouse pointer, mouse pointer background (*), Tek foreground (*), Tek
background (*), highlight color (*), bold color, and underline color.
Attributes marked with a (*) are ignored by Eterm and may be left
empty, but their trailing semicolons must be present for xterm
compatibility.
For example, to set a white foreground, black background, yellow text
cursor, green mouse cursor, #ffaa00 for bold, and cyan for underline,
you could use either of the following:
echo -e "\e]10;white;black;yellow;green;;;;;#ffaa00;cyan\007"
or
echo -e "\e]10;white\007"
echo -e "\e]11;black\007"
echo -e "\e]12;yellow\007"
echo -e "\e]13;green\007"
echo -e "\e]18;#ffaa00\007"
echo -e "\e]19;cyan\007"
Note that the setting of bold and underline colors using 18 and 19 are
Eterm extensions.
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/command.c,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -3 -r1.94 -r1.95
--- command.c 27 Nov 2002 20:18:22 -0000 1.94
+++ command.c 3 Mar 2003 04:53:30 -0000 1.95
@@ -34,7 +34,7 @@
* he guarantee anything whatsoever.
*----------------------------------------------------------------------*/
-static const char cvs_ident[] = "$Id: command.c,v 1.94 2002/11/27 20:18:22 mej Exp $";
+static const char cvs_ident[] = "$Id: command.c,v 1.95 2003/03/03 04:53:30 mej Exp $";
/* includes: */
#include "config.h"
@@ -3109,7 +3109,7 @@
imlib_context_set_image(images[image_bg].current->iml->im);
imlib_free_image_and_decache();
images[image_bg].current->iml->im = NULL;
- xterm_seq(XTerm_Pixmap, rs_anim_pixmaps[image_idx++]);
+ xterm_seq(ESCSEQ_XTERM_PIXMAP, rs_anim_pixmaps[image_idx++]);
last_update = now;
old_handler = signal(SIGALRM, check_pixmap_change);
alarm(rs_anim_delay);
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/misc.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- misc.c 19 Feb 2003 21:17:54 -0000 1.23
+++ misc.c 3 Mar 2003 04:53:34 -0000 1.24
@@ -21,7 +21,7 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-static const char cvs_ident[] = "$Id: misc.c,v 1.23 2003/02/19 21:17:54 mej Exp $";
+static const char cvs_ident[] = "$Id: misc.c,v 1.24 2003/03/03 04:53:34 mej Exp $";
#include "config.h"
#include "feature.h"
@@ -224,7 +224,7 @@
}
char *
-safe_print_string(char *str, unsigned long len)
+safe_print_string(const char *str, unsigned long len)
{
static char *ret_buff = NULL;
static unsigned long rb_size = 0;
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/misc.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- misc.h 19 Feb 2003 21:17:55 -0000 1.13
+++ misc.h 3 Mar 2003 04:53:34 -0000 1.14
@@ -40,7 +40,7 @@
extern unsigned long str_leading_match(register const char *, register const char *);
extern char *str_trim(char *str);
extern int parse_escaped_string(char *str);
-extern char *safe_print_string(char *buff, unsigned long len);
+extern char *safe_print_string(const char *buff, unsigned long len);
extern unsigned long add_carriage_returns(unsigned char *buff, unsigned long cnt);
extern unsigned char mkdirhier(const char *);
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/pixmap.c,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -3 -r1.93 -r1.94
--- pixmap.c 19 Feb 2003 21:17:58 -0000 1.93
+++ pixmap.c 3 Mar 2003 04:53:34 -0000 1.94
@@ -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.93 2003/02/19 21:17:58 mej Exp $";
+static const char cvs_ident[] = "$Id: pixmap.c,v 1.94 2003/03/03 04:53:34 mej Exp $";
#include "config.h"
#include "feature.h"
@@ -256,7 +256,7 @@
D_PIXMAP(("scale_pixmap(\"%s\")\n", geom));
if (!strcmp(geom, "?")) {
sprintf(str, "[%dx%d+%d+%d]", pmap->w, pmap->h, pmap->x, pmap->y);
- xterm_seq(XTerm_title, str);
+ xterm_seq(ESCSEQ_XTERM_TITLE, str);
return 0;
}
if ((opstr = strchr(geom, ':')) != NULL) {
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/term.c,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -3 -r1.93 -r1.94
--- term.c 25 Feb 2003 02:05:48 -0000 1.93
+++ term.c 3 Mar 2003 04:53:34 -0000 1.94
@@ -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.93 2003/02/25 02:05:48 mej Exp $";
+static const char cvs_ident[] = "$Id: term.c,v 1.94 2003/03/03 04:53:34 mej Exp $";
#include "config.h"
#include "feature.h"
@@ -327,7 +327,7 @@
LK_RET();
break;
case SunXK_Front:
- xterm_seq(XTerm_Takeover, "");
+ xterm_seq(ESCSEQ_XTERM_TAKEOVER, "");
LK_RET();
break;
default:
@@ -412,10 +412,10 @@
#ifdef GREEK_SUPPORT
greek_mode = !greek_mode;
if (greek_mode) {
- xterm_seq(XTerm_title, (greek_getmode() == GREEK_ELOT928 ? "[Greek:
iso]" : "[Greek: ibm]"));
+ xterm_seq(ESCSEQ_XTERM_TITLE, (greek_getmode() == GREEK_ELOT928 ?
"[Greek: iso]" : "[Greek: ibm]"));
greek_reset();
} else
- xterm_seq(XTerm_title, APL_NAME "-" VERSION);
+ xterm_seq(ESCSEQ_XTERM_TITLE, APL_NAME "-" VERSION);
LK_RET();
#endif
break;
@@ -1143,7 +1143,7 @@
break;
#endif
case 8:
- xterm_seq(XTerm_title, APL_NAME "-" VERSION);
+ xterm_seq(ESCSEQ_XTERM_TITLE, APL_NAME "-" VERSION);
break;
case 9:
#ifdef PIXMAP_OFFSET
@@ -1165,7 +1165,7 @@
tint = (tint & 0xffff00) |
(images[image_bg].current->iml->bmod->brightness & 0xff);
}
snprintf(tbuff, sizeof(tbuff), APL_NAME "-" VERSION ":
Transparent - %d%% shading - 0x%06lx tint mask", shading, tint);
- xterm_seq(XTerm_title, tbuff);
+ xterm_seq(ESCSEQ_XTERM_TITLE, tbuff);
} else
#endif
#ifdef PIXMAP_SUPPORT
@@ -1181,10 +1181,10 @@
len = strlen(fname) + sizeof(APL_NAME) + sizeof(VERSION) + 5;
tbuff = MALLOC(len);
snprintf(tbuff, len, APL_NAME "-" VERSION ": %s", fname);
- xterm_seq(XTerm_title, tbuff);
+ xterm_seq(ESCSEQ_XTERM_TITLE, tbuff);
FREE(tbuff);
} else {
- xterm_seq(XTerm_title, APL_NAME "-" VERSION ": No Pixmap");
+ xterm_seq(ESCSEQ_XTERM_TITLE, APL_NAME "-" VERSION ": No
Pixmap");
}
}
#endif /* PIXMAP_SUPPORT */
@@ -1298,10 +1298,10 @@
}
switch (arg) {
case 'l':
- xterm_seq(XTerm_title, (char *) string);
+ xterm_seq(ESCSEQ_XTERM_TITLE, (char *) string);
break;
case 'L':
- xterm_seq(XTerm_iconName, (char *) string);
+ xterm_seq(ESCSEQ_XTERM_ICONNAME, (char *) string);
break;
case 'I':
set_icon_pixmap((char *) string, NULL);
@@ -1377,7 +1377,8 @@
BOUND(y, 1, scr->height / TermWin.fheight);
BOUND(x, 1, scr->width / TermWin.fwidth);
XResizeWindow(Xdisplay, TermWin.parent,
- Width2Pixel(x) + 2 * TermWin.internalBorder +
(scrollbar_is_visible()? scrollbar_trough_width() : 0), Height2Pixel(y) + 2 *
TermWin.internalBorder);
+ Width2Pixel(x) + 2 * TermWin.internalBorder +
(scrollbar_is_visible()? scrollbar_trough_width() : 0),
+ Height2Pixel(y) + 2 * TermWin.internalBorder);
break;
case 11:
break;
@@ -1397,20 +1398,16 @@
tt_write((unsigned char *) buff, strlen(buff));
break;
case 20:
-#if FIXME_BLOCK
XGetIconName(Xdisplay, TermWin.parent, &name);
snprintf(buff, sizeof(buff), "\033]L%s\033\\", name);
tt_write((unsigned char *) buff, strlen(buff));
XFree(name);
-#endif
break;
case 21:
-#if FIXME_BLOCK
XFetchName(Xdisplay, TermWin.parent, &name);
snprintf(buff, sizeof(buff), "\033]l%s\033\\", name);
tt_write((unsigned char *) buff, strlen(buff));
XFree(name);
-#endif
break;
default:
break;
@@ -1825,10 +1822,15 @@
#endif
switch (op) {
- case XTerm_title:
+ case ESCSEQ_XTERM_NAME: /* 0 */
+ set_title(str); /* drop */
+ case ESCSEQ_XTERM_ICONNAME: /* 1 */
+ set_icon_name(str);
+ break;
+ case ESCSEQ_XTERM_TITLE: /* 2 */
set_title(str);
break;
- case XTerm_prop:
+ case ESCSEQ_XTERM_PROP: /* 3 */
if ((nstr = (char *) strsep(&tnstr, ";")) == NULL) {
break;
}
@@ -1837,23 +1839,17 @@
}
set_text_property(TermWin.parent, nstr, valptr);
break;
- case XTerm_name:
- set_title(str); /* drop */
- case XTerm_iconName:
- set_icon_name(str);
- break;
- case XTerm_Takeover:
+ case ESCSEQ_XTERM_TAKEOVER: /* 5 */
XSetInputFocus(Xdisplay, TermWin.parent, RevertToParent, CurrentTime);
XRaiseWindow(Xdisplay, TermWin.parent);
break;
- case XTerm_EtermSeq:
-
+ case ESCSEQ_XTERM_ETERMSEQ: /* 6 */
/* Eterm proprietary escape sequences. See technical reference for
details. */
- D_CMD(("Got XTerm_EtermSeq sequence\n"));
+ D_CMD(("Got ESCSEQ_XTERM_ETERMSEQ sequence\n"));
nstr = (char *) strsep(&tnstr, ";");
eterm_seq_op = (unsigned char) strtol(nstr, (char **) NULL, 10);
- D_CMD((" XTerm_EtermSeq operation is %d\n", eterm_seq_op));
+ D_CMD((" ESCSEQ_XTERM_ETERMSEQ operation is %d\n", eterm_seq_op));
/* Yes, there is order to the numbers for this stuff. And here it is:
0-9 Image Class/Mode Configuration
10-19 Scrollbar/Buttonbar/Menu Configuration
@@ -2369,20 +2365,62 @@
}
break;
- case XTerm_ccolor:
- /* Change cursor color */
-#ifndef NO_CURSORCOLOR
- nstr = (char *) strsep(&tnstr, ";");
- if (nstr) {
- if (XParseColor(Xdisplay, cmap, nstr, &xcol) && XAllocColor(Xdisplay,
cmap, &xcol)) {
- PixColors[cursorColor] = xcol.pixel;
- scr_refresh(DEFAULT_REFRESH);
- }
+#ifdef XTERM_COLOR_CHANGE
+ case ESCSEQ_XTERM_FGCOLOR: /* 10 */
+ if ((nstr = (char *) strsep(&tnstr, ";")) != NULL) {
+ set_window_color(fgColor, nstr);
+ }
+ /* drop */
+ case ESCSEQ_XTERM_BGCOLOR: /* 11 */
+ if ((nstr = (char *) strsep(&tnstr, ";")) != NULL) {
+ set_window_color(bgColor, nstr);
+ }
+ /* drop */
+ case ESCSEQ_XTERM_CURSOR_COLOR: /* 12 */
+ if ((nstr = (char *) strsep(&tnstr, ";")) != NULL) {
+# ifndef NO_CURSORCOLOR
+ set_window_color(cursorColor, nstr);
+# endif
+ }
+ /* drop */
+ case ESCSEQ_XTERM_PTR_FGCOLOR: /* 13 */
+ if ((nstr = (char *) strsep(&tnstr, ";")) != NULL) {
+ set_pointer_colors(nstr, NULL);
+ }
+ /* drop */
+ case ESCSEQ_XTERM_PTR_BGCOLOR: /* 14 */
+ if ((nstr = (char *) strsep(&tnstr, ";")) != NULL) {
+ /* UNSUPPORTED */
+ }
+ /* drop */
+ case ESCSEQ_XTERM_TEK_FGCOLOR: /* 15 */
+ if ((nstr = (char *) strsep(&tnstr, ";")) != NULL) {
+ /* UNSUPPORTED */
+ }
+ /* drop */
+ case ESCSEQ_XTERM_TEK_BGCOLOR: /* 16 */
+ if ((nstr = (char *) strsep(&tnstr, ";")) != NULL) {
+ /* UNSUPPORTED */
+ }
+ /* drop */
+ case ESCSEQ_XTERM_HILIGHT_COLOR: /* 17 */
+ if ((nstr = (char *) strsep(&tnstr, ";")) != NULL) {
+ /* UNSUPPORTED */
+ }
+ /* drop */
+ case ESCSEQ_XTERM_BOLD_COLOR: /* 18 */
+ if ((nstr = (char *) strsep(&tnstr, ";")) != NULL) {
+ set_window_color(colorBD, nstr);
+ }
+ /* drop */
+ case ESCSEQ_XTERM_ULINE_COLOR: /* 19 */
+ if ((nstr = (char *) strsep(&tnstr, ";")) != NULL) {
+ set_window_color(colorUL, nstr);
}
#endif
break;
- case XTerm_Pixmap:
+ case ESCSEQ_XTERM_PIXMAP: /* 20 */
#ifdef PIXMAP_SUPPORT
FOREACH_IMAGE(if (!image_mode_is(idx, MODE_IMAGE) && image_mode_is(idx,
ALLOW_IMAGE)) {
image_set_mode(idx, MODE_IMAGE);}
@@ -2413,25 +2451,25 @@
#endif /* PIXMAP_SUPPORT */
break;
- case XTerm_restoreFG:
+ case ESCSEQ_XTERM_DUMPSCREEN: /* 30 */
+#if 0
+ nstr = (char *) strsep(&tnstr, ";");
+ if (nstr && *nstr) {
+ scr_dump_to_file(nstr);
+ }
+ break;
+#endif
+ case ESCSEQ_XTERM_RESTOREFG: /* 39 */
#ifdef XTERM_COLOR_CHANGE
set_window_color(fgColor, str);
#endif
break;
- case XTerm_restoreBG:
+ case ESCSEQ_XTERM_RESTOREBG: /* 40 */
#ifdef XTERM_COLOR_CHANGE
set_window_color(bgColor, str);
#endif
break;
- case XTerm_DumpScreen:
-#if 0
- nstr = (char *) strsep(&tnstr, ";");
- if (nstr && *nstr) {
- scr_dump_to_file(nstr);
- }
- break;
-#endif
- case XTerm_logfile:
+ case ESCSEQ_XTERM_LOGFILE: /* 46 */
nstr = (char *) strsep(&tnstr, ";");
if (nstr && *nstr && BOOL_OPT_ISTRUE(nstr)) {
/* Logging on */
@@ -2439,7 +2477,7 @@
/* Logging off */
}
break;
- case XTerm_font:
+ case ESCSEQ_XTERM_FONT: /* 50 */
change_font(0, str);
break;
default:
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/term.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- term.h 19 Feb 2003 21:18:07 -0000 1.24
+++ term.h 3 Mar 2003 04:53:34 -0000 1.25
@@ -59,24 +59,33 @@
} } while (0)
/* XTerm escape sequences: ESC ] Ps;Pt BEL */
-# define XTerm_name 0
-# define XTerm_iconName 1
-# define XTerm_title 2
-# define XTerm_prop 3
-# define XTerm_ccolor 12
-# define XTerm_logfile 46
-# define XTerm_font 50
+# define ESCSEQ_XTERM_NAME 0
+# define ESCSEQ_XTERM_ICONNAME 1
+# define ESCSEQ_XTERM_TITLE 2
+# define ESCSEQ_XTERM_PROP 3
+# define ESCSEQ_XTERM_FGCOLOR 10
+# define ESCSEQ_XTERM_BGCOLOR 11
+# define ESCSEQ_XTERM_CURSOR_COLOR 12
+# define ESCSEQ_XTERM_PTR_FGCOLOR 13
+# define ESCSEQ_XTERM_PTR_BGCOLOR 14
+# define ESCSEQ_XTERM_TEK_FGCOLOR 15
+# define ESCSEQ_XTERM_TEK_BGCOLOR 16
+# define ESCSEQ_XTERM_HILIGHT_COLOR 17
+# define ESCSEQ_XTERM_BOLD_COLOR 18
+# define ESCSEQ_XTERM_ULINE_COLOR 19
+# define ESCSEQ_XTERM_LOGFILE 46
+# define ESCSEQ_XTERM_FONT 50
/* rxvt/Eterm extensions of XTerm escape sequences: ESC ] Ps;Pt BEL */
-# define XTerm_Takeover 5 /* Steal keyboard focus and raise window */
-# define XTerm_EtermSeq 6 /* Eterm proprietary escape sequences */
-# define XTerm_Pixmap 20 /* new bg pixmap */
-# define XTerm_DumpScreen 30 /* Dump contents of scrollback to a file */
-# define XTerm_restoreFG 39 /* change default fg color */
-# define XTerm_restoreBG 49 /* change default bg color */
+# define ESCSEQ_XTERM_TAKEOVER 5 /* Steal keyboard focus and raise window */
+# define ESCSEQ_XTERM_ETERMSEQ 6 /* Eterm proprietary escape sequences */
+# define ESCSEQ_XTERM_PIXMAP 20 /* new bg pixmap */
+# define ESCSEQ_XTERM_DUMPSCREEN 30 /* Dump contents of scrollback to a file */
+# define ESCSEQ_XTERM_RESTOREFG 39 /* change default fg color */
+# define ESCSEQ_XTERM_RESTOREBG 49 /* change default bg color */
-# define restoreFG 39 /* restore default fg color */
-# define restoreBG 49 /* restore default bg color */
+# define restoreFG 39 /* restore default fg color */
+# define restoreBG 49 /* restore default bg color */
enum color_list {
fgColor,
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/windows.c,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -3 -r1.60 -r1.61
--- windows.c 19 Feb 2003 21:18:09 -0000 1.60
+++ windows.c 3 Mar 2003 04:53:35 -0000 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: windows.c,v 1.60 2003/02/19 21:18:09 mej Exp $";
+static const char cvs_ident[] = "$Id: windows.c,v 1.61 2003/03/03 04:53:35 mej Exp $";
#include "config.h"
#include "feature.h"
@@ -331,6 +331,26 @@
stored_palette(SAVE);
}
+void
+set_pointer_colors(const char *fg_name, const char *bg_name)
+{
+ XColor fg, bg;
+
+ if (fg_name != NULL) {
+ fg.pixel = get_color_by_name(fg_name, COLOR_NAME(pointerColor));
+ } else {
+ fg.pixel = PixColors[pointerColor];
+ }
+ XQueryColor(Xdisplay, cmap, &fg);
+ if (bg_name != NULL) {
+ bg.pixel = get_color_by_name(bg_name, COLOR_NAME(bgColor));
+ } else {
+ bg.pixel = PixColors[bgColor];
+ }
+ XQueryColor(Xdisplay, cmap, &bg);
+ XRecolorCursor(Xdisplay, TermWin_cursor, &fg, &bg);
+}
+
/* Create_Windows() - Open and map the window */
void
Create_Windows(int argc, char *argv[])
@@ -409,8 +429,8 @@
#endif
CWBackPixel | CWBorderPixel | CWColormap |
CWOverrideRedirect, &Attributes);
- xterm_seq(XTerm_title, rs_title);
- xterm_seq(XTerm_iconName, rs_iconName);
+ xterm_seq(ESCSEQ_XTERM_TITLE, rs_title);
+ xterm_seq(ESCSEQ_XTERM_ICONNAME, rs_iconName);
classHint.res_name = (char *) rs_name;
classHint.res_class = APL_NAME;
wmHint.window_group = TermWin.parent;
@@ -431,16 +451,7 @@
}
/* vt cursor: Black-on-White is standard, but this is more popular */
TermWin_cursor = XCreateFontCursor(Xdisplay, XC_xterm);
- {
-
- XColor fg, bg;
-
- fg.pixel = PixColors[pointerColor];
- XQueryColor(Xdisplay, cmap, &fg);
- bg.pixel = PixColors[bgColor];
- XQueryColor(Xdisplay, cmap, &bg);
- XRecolorCursor(Xdisplay, TermWin_cursor, &fg, &bg);
- }
+ set_pointer_colors(NULL, NULL);
/* cursor (menu/scrollbar): Black-on-White */
cursor = XCreateFontCursor(Xdisplay, XC_left_ptr);
@@ -704,10 +715,10 @@
print_warning("Unable to resolve \"%s\" as a color name.\n", color);
return;
}
- redraw_image(image_bg);
set_colorfgbg();
scr_touch();
scr_refresh(DEFAULT_REFRESH);
+ redraw_image(image_bg);
}
#endif /* XTERM_COLOR_CHANGE */
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/windows.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- windows.h 19 Feb 2003 21:18:10 -0000 1.16
+++ windows.h 3 Mar 2003 04:53:35 -0000 1.17
@@ -46,6 +46,7 @@
extern Pixel get_color_by_name(const char *, const char *);
extern Pixel get_color_by_pixel(Pixel, Pixel);
extern void process_colors(void);
+extern void set_pointer_colors(const char *, const char *);
extern void Create_Windows(int, char * []);
extern void resize_parent(unsigned int, unsigned int);
extern void set_width(unsigned short);
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs