[plt-scheme] Hack to make help desk a modal window?

From: Grant Rettke (grettke at acm.org)
Date: Sat Jan 5 00:13:40 EST 2008

Hi folks,

I'm trying to get DrScheme running as a native "Sugar" app for the OLPC XO.

The first step was just disabling opengl, compiling it, automating the
build, and having a go to see how it works. From what we can see so
far, it works great. It is really quick. Thanks for your help!

The next step is to get it to run as a native "Sugar" app. Native
Sugar expected to be written in Python, but X11 apps can be made
compliant. More or less the only "strong suggestion" at this point
(and I need to test this to find out what happens when you don't go
along with it) is that it be a single window app. What happens is that
when apps run on Sugar, they are displayed in a taskbar called the
"Donut", and if sugar doesn't "know about them", they show up as a
black dot.

We can sugarize DrScheme, so it will have an icon and show correctly.
Where I forsee a problem is when the user starts the help desk. The
help desk is its own application, and shows up as a separate "black
circle". I see three ways to address this.

1. When started from DrScheme, force helpdesk to run as a child
(modal?) window. This way Sugar will be happy and it will look right
to the users. (Granted, alt+tab works just fine, but the kids using
this are not expected to try to use that). The downside is that you
won't be able to go back and forth between DrScheme and the helpdesk.

2. Install helpdesk as its own activity. The user would switch back
and forth between the two. If we took that path one thought is to
disable the helpdesk from the menu along with the F1 binding. This
really changes things a bit, but it would in a more Sugar friendly
manner. Alternately there may be a way for one activity to start
another activity.

3. Do nothing. This is probably the worst option.

If pursued, how difficult is #1?

#2 seems like the best option.

Best wishes,

Grant Rettke

"Wisdom begins in wonder!"

Posted on the users mailing list.