On Wed, Jul 15, 2009 at 12:46, Tomeu Vizoso<to...@sugarlabs.org> wrote: > On Tue, Jul 14, 2009 at 04:21, Art Hunkins<abhun...@uncg.edu> wrote: >> Gary - >> >> Thanks so much for these helpful suggestions. > > At this point, I think it would be more efficient if you went through > the PyGTK tutorial. No need to do all of it, though. > > http://www.pygtk.org/pygtk2tutorial/index.html > > What is easy to do in some widget systems isn't as easy in others, > unfortunately.
Forgot to mention the PyGTK FAQ, which has several entries related about changing background colors: http://faq.pygtk.org/index.py?req=index I don't think any of the issues you are referring to are specific to Sugar, so you can use the upstream documentation without fear of missing any details. HTH, Tomeu > Regards, > > Tomeu > >> With them I've been able to change the color of the basic Sugar display, and >> to create boxes of differing colors. >> >> Several major issues remain (which may not be surmountable?): >> 1) when text displayed on the basic screen (in no box) - that area reverts >> to gray; >> 2) importantly, nothing else displays in my colored boxes; this includes >> frames, other boxes, text and buttons. >> >> Can you guide me toward solutions here? >> >> I'm basically modifying Lazzarini's csndsugui.py. Here is the revised box >> code: >> >> def box(self, vert=True, colour=(0xFFFF, 0xFFFF, 0xFFFF), parent=None, >> padding=5): >> """creates a box >> vert: True, creates a vertical box; horiz. >> otherwise >> parent: parent box, None if this is a toplevel box >> padding: box padding >> returns the widget instance""" >> if vert: >> box = gtk.VBox() >> else: >> box = gtk.HBox() >> self.event_box = gtk.EventBox() >> self.event_box.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(colour[0], >> colour[1], colour[2], 0)) >> if parent: >> parent.pack_start(self.event_box) >> else: >> self.outbox.pack_start(self.event_box) >> self.window.set_canvas(self.outbox) >> self.boxes.append(box) >> self.event_box.show() >> box.show() >> return box >> >> I suspect that chaages in the last few lines are required (especially in the >> "boxes" line and probably the packing). >> >> And here is the current "text" code. I rather imagine if this could be >> gotten to display in a box with the box retaining its color, I might be on >> the way to success (but this may be the hard part; can other things be >> displayed "over" an event_box?). This code is straight from Lazzarini: >> >> def text(self, name, box=None,colour=(0,0,0)): >> """Creates a static text label >> name: text label >> box: parent box, None if text is to be placed toplevel >> colour: RGB values in a tuple (R,G,B) >> returns the widget instance""" >> label = gtk.Label(name) >> label.modify_fg(gtk.STATE_NORMAL, >> gtk.gdk.Color(colour[0],colour[1],colour[2], 0)) >> if box: >> box.pack_start(label, False, False, 5) >> else: >> self.outbox.pack_start(label, False, False, 5) >> label.show() >> return label >> >> I very much appreciate your help. I, too, wonder if all this hassling over >> color is worth it. If only there were some simple way to make the overall >> display white instead of gray! I'm wanting the color change strictly for >> readability; I need more color contrast to read the text (which is >> unfortunately profuse in my project). >> >> Art Hunkins >> >> ----- Original Message ----- From: "Gary C Martin" <g...@garycmartin.com> >> To: "Art Hunkins" <abhun...@uncg.edu> >> Cc: "Tomeu Vizoso" <to...@sugarlabs.org>; <sugar-devel@lists.sugarlabs.org> >> Sent: Tuesday, July 07, 2009 10:07 AM >> Subject: Re: [Sugar-devel] Background Screen Color for SoaS Activity >> >> >>> Hi Art, >>> >>> On 7 Jul 2009, at 03:46, Art Hunkins wrote: >>> >>>> Tomeu, >>>> >>>> I've had no luck modifying background color for anything except buttons. >>>> >>>> No boxes, even when the box is completely empty. >>>> >>>> Does anyone know how to change the color of the entire screen, or of a >>>> box? >>> >>> I can remember hitting my head on this when first playing with gtk. I >>> wanted a black area to place a moon image in. The trick seems to be using a >>> gtk.EventBox(). Have a look in moon.py at about line #114: >>> >>> http://git.sugarlabs.org/projects/moon/repos/mainline/trees/master >>> >>> Just quickly scraped out the lines I think might be interesting, does seem >>> quite a bit for just a black screen :-) >>> >>> # Create the main activity container >>> self.main_view = gtk.HBox() >>> >>> # Blackness >>> self.event_box = gtk.EventBox() >>> colormap = gtk.gdk.colormap_get_system() >>> self.black_alloc_color = colormap.alloc_color('black') >>> self.event_box.modify_bg(gtk.STATE_NORMAL, self.black_alloc_color) >>> self.main_view.pack_end(self.event_box) >>> >>> # Display everything >>> self.event_box.show() >>> self.main_view.show() >>> self.set_canvas(self.main_view) >>> self.show_all() >>> >>> Regards, >>> --Gary >> >> > _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel