[pygtk] Setting the Colors in a ZVTerm

ChiDeok Hwang hwang@mizi.co.kr
Tue, 24 Oct 2000 15:48:54 +0900


--cNdxnHkX5QqsyA0e
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Try the attached patch.

You can also make workaround in python code like

for i in range(len(colors)):
	colors[i] = (colors[i],)

in your commented block.

On Mon, Oct 23, 2000 at 12:29:11PM -0500, Eric Gillespie, Jr. wrote:
> I'm trying to set the colors of a ZVTerm to white on black. I
> copied the color codes from gnome-terminal.c, but i must be doing
> something wrong in passing them to set_color_scheme(). I've tried
> 2 different methods (one is commented out), and neither worked.
> What am i doing wrong?
> 
> The colors list was generated by having Python print the red,
> green, and blue lists and then copying them into the file. I
> thought that the hex might be throwing it off somehow.
> 
> Thanks in advance.
> 
> from gnome.zvt	import *
> from gtk	import *
> 
> red = [0x0000, 0xaaaa, 0x0000, 0xaaaa, 0x0000, 0xaaaa,
>        0x0000, 0xaaaa, 0x5555, 0xffff, 0x5555, 0xffff,
>        0x5555, 0xffff, 0x5555, 0xffff, 0xaaaa, 0x0]
> 
> green = [0x0000, 0x0000, 0xaaaa, 0x5555, 0x0000, 0x0000,
>          0xaaaa, 0xaaaa, 0x5555, 0x5555, 0xffff, 0xffff,
>          0x5555, 0x5555, 0xffff, 0xffff, 0xaaaa, 0x0]
> 
> blue = [0x0000, 0x0000, 0x0000, 0x0000, 0xaaaa, 0xaaaa,
>         0xaaaa, 0xaaaa, 0x5555, 0x5555, 0x5555, 0x5555,
>         0xffff, 0xffff, 0xffff, 0xffff, 0xaaaa, 0x0]
> 
> colors = [ (0, 0, 0),
>            (43690, 0, 0),
>            (0, 43690, 0),
>            (43690, 21845, 0),
>            (0, 0, 43690),
>            (43690, 0, 43690),
>            (0, 43690, 43690),
>            (43690, 43690, 43690),
>            (21845, 21845, 21845),
>            (65535, 21845, 21845),
>            (21845, 65535, 21845),
>            (65535, 65535, 21845),
>            (21845, 21845, 65535),
>            (65535, 21845, 65535),
>            (21845, 65535, 65535),
>            (65535, 65535, 65535),
>            (43690, 43690, 43690),
>            (0, 0, 0)
>            ]
> 
> #colors = []
> #for i in range(len(red)):
> #    colors.append((red[i], green[i], blue[i]))
> 
> win = GtkWindow(WINDOW_DIALOG)
> term = ZvtTerm(80, 25)
> term.set_color_scheme(colors)
> term.show()
> win.add(term)        
> 
> win.show()
> 
> mainloop()
> 
> -- 
> Eric Gillespie, Jr. <*> epg@progeny.com
> Software Developer
> Progeny Linux Systems - http://progeny.com
> 
> 
> _______________________________________________
> pygtk mailing list   pygtk@daa.com.au
> http://www.daa.com.au/mailman/listinfo/pygtk

--cNdxnHkX5QqsyA0e
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=diff

--- gnome-python-1.0.53/pygnome/zvtmodule.c.orig	Tue Oct 24 15:34:21 2000
+++ gnome-python-1.0.53/pygnome/zvtmodule.c	Tue Oct 24 15:41:36 2000
@@ -54,7 +54,7 @@
   }
   for (i = 0; i < 18; i++) {
     item = PyList_GetItem(colours, i);
-    if (!PyArg_ParseTuple(PyList_GetItem(colours, i), "(hhh)",
+    if (!PyArg_ParseTuple(item, "hhh",
 			  &red[i], &grn[i], &blu[i])) {
       PyErr_Clear();
       PyErr_SetString(PyExc_TypeError,"list items must be like (int,int,int)");

--cNdxnHkX5QqsyA0e--