[Sugar-devel] [PATCH] adapt pippy examples to screen dimensions, dev.laptop.org #9260
Anish Mangal
anishmangal2002 at gmail.com
Sat Jun 19 05:15:45 EDT 2010
The patch looks fine to me. I've tested on 0.88-{f11-xo1, jhbuild,
soas-v3} and 0.84-soas1. Please go ahead and commit.
Acked-by: Anish Mangal <anish at sugarlabs.org>
Reviewed-by: Anish Mangal <anish at sugarlabs.org>
On Fri, May 21, 2010 at 3:12 PM, James Cameron <quozl at laptop.org> wrote:
> Adjust all the examples to work for different screen dimensions, and
> briefly fix formatting or style in some of the other code examples.
>
> Yet to be done:
>
> 1. slideshow, it finds no objects in journal with MIME type
> image/jpeg, and as a result does not show any slides,
>
> 2. xolympics, it tests an object location against physics world
> coordinates to determine winning condition.
> ---
> data/graphics/bounce | 32 +++++++++++----------
> data/graphics/camera | 29 ++++++++++++-------
> data/graphics/jump | 6 ++--
> data/graphics/lines | 11 ++++---
> data/graphics/physics | 17 +++++------
> data/graphics/pong | 29 ++++++++++---------
> data/graphics/slideshow | 17 ++++++-----
> data/graphics/snow | 11 ++++---
> data/graphics/tree | 13 +++++----
> data/graphics/xolympics | 70 +++++++++++++++++++++++-----------------------
> data/sound/playSine | 2 +-
> data/sound/playWave | 2 +-
> data/string/thanks | 12 +++++---
> 13 files changed, 134 insertions(+), 117 deletions(-)
>
> diff --git a/data/graphics/bounce b/data/graphics/bounce
> index d0bcd3c..42889f0 100644
> --- a/data/graphics/bounce
> +++ b/data/graphics/bounce
> @@ -2,7 +2,15 @@
>
> import pippy, pygame, sys
> from pygame.locals import *
> -from random import *
> +
> +# the text to bounce around the screen
> +msg = "Hello!"
> +
> +# the size of the text, in pixels
> +fsize = 36
> +
> +# vector for motion, will control speed and angle
> +mvect = [3, 2]
>
> # always need to init first thing
> pygame.init()
> @@ -10,20 +18,12 @@ pygame.init()
> # turn off cursor
> pygame.mouse.set_visible(False)
>
> -# XO screen is 1200x900
> -size = width, height = 1200, 900
> -
> -# we'll use 36 pixel high text
> -fsize = 36
> -
> -# vector for motion, will control speed and angle
> -mvect = [3,2]
> -
> # create the window and keep track of the surface
> # for drawing into
> -screen = pygame.display.set_mode(size)
> +screen = pygame.display.set_mode()
>
> -msg = "Hello!"
> +# ask for screen's width and height
> +size = width, height = screen.get_size()
>
> # create a Font object from a file, or use the default
> # font if the file name is None. size param is height
> @@ -35,7 +35,7 @@ font = pygame.font.Font(None, fsize)
> # Font.render draws text onto a new surface.
> #
> # usage: Font.render(text, antialias, color, bg=None)
> -text = font.render(msg, True, (10,10,10))
> +text = font.render(msg, True, (10, 10, 10))
>
> # the Rect object is used for positioning
> textRect = text.get_rect()
> @@ -46,6 +46,7 @@ textRect.top = 0;
>
> while pippy.pygame.next_frame():
>
> + # every time we move the text, check for quit or keydown events and exit
> for event in pygame.event.get():
> if event.type == QUIT:
> sys.exit()
> @@ -53,8 +54,9 @@ while pippy.pygame.next_frame():
> elif event.type == KEYDOWN:
> sys.exit()
>
> - screen.fill((250,250,250))
> -
> + # fill the screen with white
> + screen.fill((250, 250, 250))
> +
> # draw the text
> screen.blit(text, textRect)
>
> diff --git a/data/graphics/camera b/data/graphics/camera
> index 6eea88f..023e04f 100644
> --- a/data/graphics/camera
> +++ b/data/graphics/camera
> @@ -1,50 +1,57 @@
> -# image: take a picture
> +# camera: take a picture, animate it on screen
>
> import gst, pippy, pygame, sys, time
> -from random import *
> -
> -# XO screen is 1200 by 900
> -size = width, height = 1200, 900
>
> # grey background
> -bgcolor = (128,128,128)
> +bgcolor = (128, 128, 128)
>
> # grab a frame from camera to file
> pipeline = gst.parse_launch('v4l2src ! ffmpegcolorspace ! jpegenc ! filesink location=/tmp/pippypic.jpg')
> pipeline.set_state(gst.STATE_PLAYING)
>
> -# pygame always needs to be initialized as the first call
> +# start using pygame
> pygame.init()
>
> # turn off cursor
> pygame.mouse.set_visible(False)
>
> -# create the pygame window at the desired size and return a Surface object for
> +# create the pygame window and return a Surface object for
> # drawing in that window.
> -screen = pygame.display.set_mode(size)
> +screen = pygame.display.set_mode()
>
> +# pause for a second to allow the camera frame to be grabbed
> time.sleep(1)
> +
> +# stop the camera frame grabbing
> pipeline.set_state(gst.STATE_NULL)
>
> -# load in previously grabbed frame
> +# load in the grabbed camera frame
> image = pygame.image.load("/tmp/pippypic.jpg")
>
> angle = 0.0
> scale = 2.0
>
> while pippy.pygame.next_frame():
> + # every time we animate, check for quit or keydown events and exit
> for event in pygame.event.get():
> if event.type == pygame.QUIT: sys.exit()
> elif event.type == pygame.KEYDOWN: sys.exit()
>
> - newImage = pygame.transform.rotozoom(image, angle,scale)
> + # angle and scale the image
> + newImage = pygame.transform.rotozoom(image, angle, scale)
> newImageRect = newImage.get_rect()
> newImageRect.centerx = screen.get_rect().centerx
> newImageRect.centery = screen.get_rect().centery
>
> + # display the angled and scaled image
> screen.fill(bgcolor)
> screen.blit(newImage, newImageRect)
> pygame.display.flip()
>
> + # choose a new angle and scale
> angle = angle + 5.0
> scale = scale * 0.95
> +
> + # finish once the scale becomes very very small
> + if scale < 0.001:
> + break
> diff --git a/data/graphics/jump b/data/graphics/jump
> index f74ea71..7786187 100644
> --- a/data/graphics/jump
> +++ b/data/graphics/jump
> @@ -12,19 +12,19 @@ for i in xrange(0,50):
> print "_|_"
> print " "
> pippy.wait()
> -
> +
> pippy.console.clear()
> print "_o_"
> print " | "
> print "/ \\"
> pippy.wait()
> -
> +
> pippy.console.clear()
> print " o "
> print "/|\\"
> print "| |"
> pippy.wait()
> -
> +
> pippy.console.clear()
> print "_o_"
> print " | "
> diff --git a/data/graphics/lines b/data/graphics/lines
> index c0faf93..bb67a34 100644
> --- a/data/graphics/lines
> +++ b/data/graphics/lines
> @@ -4,9 +4,6 @@ import pippy, pygame, sys
> from pygame.locals import *
> from random import *
>
> -# XO screen is 1200x900
> -size = width, height = 1200, 900
> -
> # always need to init first thing
> pygame.init()
>
> @@ -15,7 +12,11 @@ pygame.mouse.set_visible(False)
>
> # create the window and keep track of the surface
> # for drawing into
> -screen = pygame.display.set_mode(size)
> +screen = pygame.display.set_mode()
> +
> +# ask for screen's width and height
> +size = width, height = screen.get_size()
> +
> # start the screen all black
> screen.fill((0,0,0))
>
> @@ -48,7 +49,7 @@ while pippy.pygame.next_frame():
> pygame.display.flip()
>
> # update the end points and the color
> - for i in range(2):
> + for i in range(2):
> start[i] = start[i] + mvect_start[i]
> end[i] = end[i] + mvect_end[i]
>
> diff --git a/data/graphics/physics b/data/graphics/physics
> index 556442a..0611351 100644
> --- a/data/graphics/physics
> +++ b/data/graphics/physics
> @@ -6,12 +6,12 @@ from pippy import physics
>
> # initialize pygame first thing
> pygame.init()
> -screen = pygame.display.set_mode((1200,900))
> -
> +screen = pygame.display.set_mode()
> +
> # set up the physics world (instance of Elements)
> world = physics.Elements(screen.get_size())
> world.renderer.set_surface(screen)
> -
> +
> # set up initial physics objects
> world.add.ground()
> world.add.ball((600,0), 50)
> @@ -19,9 +19,9 @@ world.add.rect((500,0), 25, 300, dynamic=True, density=1.0, restitution=0.16, fr
>
> # add 20 more balls
> balls = 0
> -while(balls<20):
> - world.add.ball((balls*5+200,balls*5), 50)
> - balls+=1
> +while(balls < 20):
> + world.add.ball((balls*5+200, balls*5), 50)
> + balls += 1
>
> # begin physics simulation
> world.run_physics = True
> @@ -46,8 +46,8 @@ while pippy.pygame.next_frame() and world.run_physics:
> world.mouse_move(event.pos)
>
> # clear display with a color
> - # (r,g,b), where 0<=value<256
> - screen.fill((80,160,240))
> + # (red, green, blue), where 0 <= value < 256
> + screen.fill((80, 160, 240))
>
> # update & draw physics world
> world.update()
> @@ -55,4 +55,3 @@ while pippy.pygame.next_frame() and world.run_physics:
>
> # update the display
> pygame.display.flip()
> -
> diff --git a/data/graphics/pong b/data/graphics/pong
> index 5916c0b..b94aeb9 100644
> --- a/data/graphics/pong
> +++ b/data/graphics/pong
> @@ -1,7 +1,7 @@
> # pong: hit the ball with the paddle
> #
> # use the escape key to exit
> -#
> +#
> # on the XO, the escape key is the top lefthand key,
> # circle with an x in it.
>
> @@ -12,40 +12,40 @@ from random import *
> # always need to init first thing
> pygame.init()
>
> -# XO screen is 1200x900
> -size = width, height = 1200, 900
> -
> # create the window and keep track of the surface
> # for drawing into
> -screen = pygame.display.set_mode(size)
> +screen = pygame.display.set_mode()
> +
> +# ask for screen's width and height
> +size = width, height = screen.get_size()
>
> # turn off the cursor
> pygame.mouse.set_visible(False)
>
> # turn on key repeating (repeat 40 times per second)
> -pygame.key.set_repeat(25,25)
> +pygame.key.set_repeat(25, 25)
>
> # start the screen all black
> -bgcolor = (0,0,0)
> +bgcolor = (0, 0, 0)
> screen.fill(bgcolor)
>
> # paddle constants
> paddle_width = 20
> paddle_length = 100
> paddle_radius = paddle_length / 2
> -paddle_color = (250,250,250)
> +paddle_color = (250, 250, 250)
> step = 6 # paddle moves 3 pixels at a go
>
> # ball constants
> -ball_color = (250,250,250)
> +ball_color = (250, 250, 250)
> ball_radius = 25
>
> # game constants
> fsize = 48
> msg = "Press 'g' to start game"
>
> -font=pygame.font.Font(None, fsize)
> -text = font.render(msg, True, (250,250,250))
> +font = pygame.font.Font(None, fsize)
> +text = font.render(msg, True, (250, 250, 250))
> textRect = text.get_rect()
> textRect.centerx = screen.get_rect().centerx
> textRect.centery = screen.get_rect().centery
> @@ -100,7 +100,7 @@ while pippy.pygame.next_frame():
> or event.key == 259 \
> or event.key == 258: # down
> paddle_location = paddle_location + step
> -
> +
> # make sure the paddle is in-bounds
> if paddle_location - paddle_radius < 0:
> paddle_location = paddle_radius
> @@ -113,7 +113,7 @@ while pippy.pygame.next_frame():
> # draw the paddle on the right side of the screen
> pygame.draw.line(screen,
> paddle_color,
> - (width - paddle_width, paddle_location -
> + (width - paddle_width, paddle_location -
> paddle_radius),
> (width - paddle_width,
> paddle_location+paddle_radius),
> @@ -124,7 +124,8 @@ while pippy.pygame.next_frame():
>
> # draw the unused balls
> for i in range(balls):
> - pygame.draw.circle(screen, ball_color, (int(round(30+i*ball_radius*2.4)), 30),
> + pygame.draw.circle(screen, ball_color,
> + (int(round(30+i*ball_radius*2.4)), 30),
> ball_radius)
>
> # update the display
> diff --git a/data/graphics/slideshow b/data/graphics/slideshow
> index 0d38ab8..7ddd58b 100644
> --- a/data/graphics/slideshow
> +++ b/data/graphics/slideshow
> @@ -1,4 +1,8 @@
> -# slideshow: show datastore photos
> +# slideshow: show datastore photos
> +
> +# FIXME: does not currently work, because no objects are returned by
> +# the journal query.
> +
> def pippy_activity_class(): return 'activity.PyGameActivity'
> if __name__ == '__main__':
> import gst, pippy, pygame, sys, time
> @@ -6,12 +10,9 @@ if __name__ == '__main__':
>
> from random import *
>
> - # XO screen is 1200 by 900
> - size = width, height = 1200, 900
> -
> # grey background
> - bgcolor = (128,128,128)
> -
> + bgcolor = (128, 128, 128)
> +
> # Create a search dict
> search = {}
> search["mime_type"] = "image/jpeg"
> @@ -38,9 +39,9 @@ if __name__ == '__main__':
> # turn off cursor
> pygame.mouse.set_visible(False)
>
> - # create the pygame window at the desired size and return a Surface object for
> + # create the pygame window and return a Surface object for
> # drawing in that window.
> - screen = pygame.display.set_mode(size)
> + screen = pygame.display.set_mode()
>
> # load in previously grabbed frame
> image = pygame.image.load(next_image.next())
> diff --git a/data/graphics/snow b/data/graphics/snow
> index 4fc30f2..efcb28f 100644
> --- a/data/graphics/snow
> +++ b/data/graphics/snow
> @@ -1,3 +1,4 @@
> +# snow
>
> import pippy, pygame, sys
> from pygame.locals import *
> @@ -6,17 +7,17 @@ from random import *
> # always need to init first thing
> pygame.init()
>
> -# XO screen is 1200x900
> -size = width, height = 1200, 900
> -
> # create the window and keep track of the surface
> # for drawing into
> -screen = pygame.display.set_mode(size)
> +screen = pygame.display.set_mode()
> +
> +# ask for screen's width and height
> +width, height = screen.get_size()
>
> # turn off the cursor
> pygame.mouse.set_visible(False)
>
> -bg_color = (0,0,0)
> +bg_color = (0, 0, 0)
>
> xs = []
> ys = []
> diff --git a/data/graphics/tree b/data/graphics/tree
> index f4cdae7..e01cf8e 100644
> --- a/data/graphics/tree
> +++ b/data/graphics/tree
> @@ -1,3 +1,4 @@
> +# tree
>
> import pippy, pygame, sys
> from pygame.locals import *
> @@ -7,17 +8,17 @@ import math
> # always need to init first thing
> pygame.init()
>
> -# XO screen is 1200x900
> -size = width, height = 1200, 900
> -
> # create the window and keep track of the surface
> # for drawing into
> -screen = pygame.display.set_mode(size)
> +screen = pygame.display.set_mode()
> +
> +# ask for screen's width and height
> +width, height = screen.get_size()
>
> # turn off the cursor
> pygame.mouse.set_visible(False)
>
> -color = (250,250,250)
> +color = (250, 250, 250)
> min_factor = 0.8
> max_factor = 0.9
> start_length = 130
> @@ -61,7 +62,7 @@ draw_tree((width / 2), height - 20, start_length, 0)
> pygame.display.flip()
>
> while pippy.pygame.next_frame():
> - # chill until a key is pressed
> + # chill until escape key is pressed
> for event in pygame.event.get():
> if event.type == QUIT:
> sys.exit()
> diff --git a/data/graphics/xolympics b/data/graphics/xolympics
> index 5fe273c..525e480 100644
> --- a/data/graphics/xolympics
> +++ b/data/graphics/xolympics
> @@ -13,7 +13,7 @@ from pygame.color import *
> from pippy.physics import box2d
>
> class XOlympicsGame:
> - def __init__(self,screen):
> + def __init__(self):
> self.rightscore = self.leftscore = 0
> self.forcespeed = 75
> self.jumpforce = 20
> @@ -27,31 +27,34 @@ class XOlympicsGame:
> self.rightJump = False
> self.updateList = []
>
> - self.screen = pygame.display.set_mode((1200,900))
> + self.screen = pygame.display.set_mode()
> + self.width, self.height = self.screen.get_size()
>
> self.clock = pygame.time.Clock()
> - self.font = pygame.font.Font(None, 24) # font object
>
> # set up the world (instance of Elements)
> self.world = physics.Elements(self.screen.get_size())
> self.world.renderer.set_surface(self.screen)
> # set up static environment
> - self.world.set_color((0, 255, 0))
> + self.world.set_color((0, 255, 0))
> self.world.add.ground()
> - self.ball = self.world.add.ball((600, 0), 50)
> + self.ball = self.world.add.ball((self.width / 2, 0), 50)
> # add the left border and player (red)
> - self.world.set_color((255, 0, 0))
> - self.world.add.rect((0,-20), 25, 900, dynamic=False, density=1.0, restitution=0.16, friction=0.5)
> - self.leftplayer = self.world.add.poly(( 264.0, 81.0 ), ((-109.9405166666667, -64.244016666666653), (110.60718333333335, -63.089316666666605), (-0.66666666666668561, 127.33333333333337)) , dynamic=True, density=1.0, restitution=0.16, friction=0.5, screenCoord=False)
> - # add the right border and player (blue)
> - self.world.set_color((0, 0, 255))
> - self.world.add.rect((1180,-20), 25, 900, dynamic=False, density=1.0, restitution=0.16, friction=0.5)
> - self.rightplayer = self.world.add.poly(( 885.0, 78.0 ), [(108.94051666666667, -65.976066666666611), (2.6666666666666288, 127.33333333333337), (-111.60718333333341, -61.357266666666646)] , dynamic=True, density=1.0, restitution=0.16, friction=0.5, screenCoord=False)
> - # we're getting 2 grounds - grey and green. wtf.
> - self.leftplayer.linearDamping = 0.07
> - self.test = self.leftplayer.GetWorldCenter()
> + self.world.set_color((255, 0, 0))
> + self.world.add.rect((0, -20), 25, self.height,
> + dynamic=False, density=1.0,
> + restitution=0.16, friction=0.5)
> + self.leftplayer = self.world.add.poly(( self.width * 0.25, 81.0 ), [(-109.9405166666667, -64.244016666666653), (110.60718333333335, -63.089316666666605), (-0.66666666666668561, 127.33333333333337)] , dynamic=True, density=1.0, restitution=0.16, friction=0.5, screenCoord=False)
> + # add the right border and player (blue)
> + self.world.set_color((0, 0, 255))
> + self.world.add.rect((self.width, -20), 25, self.height,
> + dynamic=False, density=1.0,
> + restitution=0.16, friction=0.5)
> + self.rightplayer = self.world.add.poly(( self.width * 0.75, 81.0 ), [(108.94051666666667, -65.976066666666611), (2.6666666666666288, 127.33333333333337), (-111.60718333333341, -61.357266666666646)] , dynamic=True, density=1.0, restitution=0.16, friction=0.5, screenCoord=False)
> + # we're getting 2 grounds - grey and green. why?
> +
> def run(self):
> - self.running = True
> + self.running = True
> while self.running:
>
> for event in pygame.event.get():
> @@ -84,11 +87,11 @@ class XOlympicsGame:
> if (event.type == KEYDOWN and (event.key == K_UP or event.key == K_KP9)):
> self.rightJump = True
> if (event.type == KEYUP and (event.key == K_UP or event.key == K_KP9)):
> - self.rightJump = False
> + self.rightJump = False
> if (event.type == KEYDOWN and (event.key == K_DOWN or event.key == K_KP3)):
> self.rightDPress = True
> if (event.type == KEYUP and (event.key == K_DOWN or event.key == K_KP3)):
> - self.rightDPress = False
> + self.rightDPress = False
>
> if self.leftLPress:
> self.leftplayer.ApplyForce(box2d.b2Vec2(-self.forcespeed,0), self.leftplayer.GetWorldCenter())
> @@ -102,49 +105,46 @@ class XOlympicsGame:
> if self.rightRPress:
> self.rightplayer.ApplyForce(box2d.b2Vec2(self.forcespeed,0), self.rightplayer.GetWorldCenter())
> if self.rightDPress:
> - self.rightplayer.ApplyImpulse(box2d.b2Vec2(0,-self.jumpforce), self.rightplayer.GetWorldCenter())
> + self.rightplayer.ApplyImpulse(box2d.b2Vec2(0,-self.jumpforce), self.rightplayer.GetWorldCenter())
> if self.rightJump:
> if self.rightplayer.GetWorldCenter().y < 0.75:
> - self.rightplayer.ApplyImpulse(box2d.b2Vec2(0,self.jumpforce), self.rightplayer.GetWorldCenter())
> + self.rightplayer.ApplyImpulse(box2d.b2Vec2(0,self.jumpforce), self.rightplayer.GetWorldCenter())
> if self.leftDPress:
> self.leftplayer.ApplyImpulse(box2d.b2Vec2(0,-self.jumpforce), self.leftplayer.GetWorldCenter())
>
> - # Clear Display
> + # Clear Display
> if self.ball.GetWorldCenter().x < 1:
> self.leftscore += 1
> print "Goal Blue!", self.leftscore
> self.world.set_color((0, 0, 255))
> - self.ball = self.world.add.ball((600, 0), 50)
> + self.ball = self.world.add.ball((self.width/2, 0), 50)
> elif self.ball.GetWorldCenter().x > 11:
> + # FIXME: the 11 above works only when display width is
> + # 1200 pixels
> self.rightscore += 1
> print "Goal Red!", self.rightscore
> self.world.set_color((255, 0, 0))
> - self.ball = self.world.add.ball((600, 0), 50)
> + self.ball = self.world.add.ball((self.width/2, 0), 50)
>
> - self.screen.fill((255,255,255))
> + self.screen.fill((255,255,255))
> # Update & Draw World
> self.world.update()
> self.world.draw()
> -
> +
> # Flip Display
> - pygame.display.flip()
> -
> + pygame.display.flip()
> +
> # Try to stay at 30 FPS
> - self.clock.tick(30) # originally 50
> + self.clock.tick(30) # originally 50
>
> def main():
> - toolbarheight = 0
> - tabheight = 0
> pygame.init()
> pygame.display.init()
> - x,y = pygame.display.list_modes()[0]
> - screen = pygame.display.set_mode((x,y-toolbarheight))#-tabheight))
> # create an instance of the game
> - game = XOlympicsGame(screen)
> + game = XOlympicsGame()
> # start the main loop
> game.run()
>
> -# make sure that main get's called
> +# make sure that main is called
> if __name__ == '__main__':
> main()
> -
> diff --git a/data/sound/playSine b/data/sound/playSine
> index 159b84b..216b4aa 100644
> --- a/data/sound/playSine
> +++ b/data/sound/playSine
> @@ -2,4 +2,4 @@ import pippy
>
> pippy.sound.playSine(pitch=1000, amplitude=5000)
> pippy.sound.audioOut()
> -
> +
> diff --git a/data/sound/playWave b/data/sound/playWave
> index 503b475..819ad4f 100644
> --- a/data/sound/playWave
> +++ b/data/sound/playWave
> @@ -2,4 +2,4 @@ import pippy
>
> pippy.sound.playWave(sound='didjeridu', loop=True, duration=5)
> pippy.sound.audioOut()
> -
> +
> diff --git a/data/string/thanks b/data/string/thanks
> index 52e47a3..ddd470a 100644
> --- a/data/string/thanks
> +++ b/data/string/thanks
> @@ -17,14 +17,14 @@ table = {
> 'Directors & Advisors': 'Howard Anderson, Rebecca Allen, Ayo Kusamotu, Jose Maria Aznar, V. Michael Bove, Jr., Rodrigo Mesquita, Seymour Papert, Ted Selker, Ethan Beard (Google); John Roese (Nortel); Dandy Hsu (Quanta); Marcelo Claure (Brightstar); Gary Dillabough (eBay); Gustavo Arenas (AMD); Mike Evans (Red Hat); Ed Horowitz (SES Astra); Jeremy Philips (NewsCorp); Scott Soong (Chi Lin); Sehat Sutardja (Marvell); Joe Jacobson (MIT Media Lab); Steve Kaufman (Riverside); and Tom Meredith (MFI)',
> 'Pippy': 'Chris Ball, C. Scott Ananian'
> }
> -
> +
> import random, time
> from pippy.console import *
> from textwrap import fill
>
> -# Determine the number of columns in our window in
> -# order to wrap text to that width -- this changes
> -# when we run as a standalone activity instead of
> +# Determine the number of columns in our window in
> +# order to wrap text to that width -- this changes
> +# when we run as a standalone activity instead of
> # inside the output pane.
> cols, lines = size()
>
> @@ -36,5 +36,9 @@ while True:
> random.choice([red, green, yellow, blue, magenta, cyan])()
> #random.choice([normal, bold, underlined, inverse])()
> print '\n', fill("%s: %s" % (subsystem, table[subsystem]), int(cols))
> + table.pop(subsystem)
> + if len(table) == 0:
> + break
>
> time.sleep(3)
> +reset()
> --
> 1.7.1
>
>
More information about the Sugar-devel
mailing list