Development Team/Almanac: Difference between revisions
link to Sugar System Stack and Sugar Platform Stack |
|||
| (7 intermediate revisions by 6 users not shown) | |||
| Line 160: | Line 160: | ||
passedTime = 0 | passedTime = 0 | ||
if | if x != self.mx or y != self.my: | ||
self.hideWidgetsTime = time.time() | self.hideWidgetsTime = time.time() | ||
if | if self.hiddenWidgets: | ||
self.showWidgets() | self.showWidgets() | ||
self.hiddenWidgets = False | self.hiddenWidgets = False | ||
| Line 169: | Line 169: | ||
if | if passedTime >= 3: | ||
if | if not self.hiddenWidgets: | ||
self.hideWidgets() | self.hideWidgets() | ||
self.hiddenWidgets = True | self.hiddenWidgets = True | ||
| Line 204: | Line 204: | ||
=== How do I get the amount of free space available on disk under the /home directory tree? === | === How do I get the amount of free space available on disk under the /home directory tree? === | ||
The following code demonstrates how to get the total amount of free space under /home. | |||
<pre> | <pre> | ||
| Line 210: | Line 210: | ||
def getFreespaceKb(self): | def getFreespaceKb(self): | ||
stat = os.statvfs("/home") | stat = os.statvfs("/home") | ||
freebytes = stat | freebytes = stat.f_bsize * stat.f_bavail | ||
freekb = freebytes / 1024 | freekb = freebytes / 1024 | ||
return freekb | return freekb | ||
| Line 283: | Line 283: | ||
def announce_thread(self): | def announce_thread(self): | ||
while | while self.Running: | ||
time.sleep(1) | time.sleep(1) | ||
print "thread running" | print "thread running" | ||
| Line 328: | Line 328: | ||
<pre> | <pre> | ||
if self.metadata['mime_type'] == 'text/plain': | if self.metadata['mime_type'] == 'text/plain': | ||
if | if self._jobject.metadata['title_set_by_user'] != '1': | ||
if self._browser.props.title: | if self._browser.props.title: | ||
# Set the title of this activity to be the current | # Set the title of this activity to be the current | ||
| Line 361: | Line 361: | ||
keyname = gtk.gdk.keyval_name(event.keyval) | keyname = gtk.gdk.keyval_name(event.keyval) | ||
if | if keyname == 'KP_Page_Up': | ||
self._chat += "\nCircle Pressed!" | self._chat += "\nCircle Pressed!" | ||
self._chat_buffer.set_text(self._chat) | self._chat_buffer.set_text(self._chat) | ||
elif | elif keyname == 'KP_Page_Down': | ||
self._chat += "\nX Pressed!" | self._chat += "\nX Pressed!" | ||
self._chat_buffer.set_text(self._chat) | self._chat_buffer.set_text(self._chat) | ||
elif | elif keyname == 'KP_Home': | ||
self._chat += "\nSquare Pressed!" | self._chat += "\nSquare Pressed!" | ||
self._chat_buffer.set_text(self._chat) | self._chat_buffer.set_text(self._chat) | ||
elif | elif keyname == 'KP_End': | ||
self._chat += "\nCheck Pressed!" | self._chat += "\nCheck Pressed!" | ||
self._chat_buffer.set_text(self._chat) | self._chat_buffer.set_text(self._chat) | ||
| Line 377: | Line 377: | ||
</pre> | </pre> | ||
== How do I know if the screen has been rotated? == | |||
When the screen is rotated, GTK issues a CONFIGURE event. Test for this event and grab the screen dimensions in the event handler. | |||
self.window.add_events(gtk.gdk.CONFIGURE) | |||
self.window.connect('configure-event', self._configure_cb) | |||
def _configure_cb(self, win, event): | |||
width = gtk.gdk.screen_width() | |||
height = gtk.gdk.screen_height() | |||
This does not tell you the orientation, however. Allegedly on the XO hardware, you can use olpc-kbdshim (currently undocumented). | |||
=== How do I detect if one of the joystick buttons has been pressed? === | === How do I detect if one of the joystick buttons has been pressed? === | ||
| Line 394: | Line 406: | ||
keyname = gtk.gdk.keyval_name(event.keyval) | keyname = gtk.gdk.keyval_name(event.keyval) | ||
if | if keyname == 'KP_Up': | ||
self._chat += "\nUp Pressed!" | self._chat += "\nUp Pressed!" | ||
self._chat_buffer.set_text(self._chat) | self._chat_buffer.set_text(self._chat) | ||
elif | elif keyname == 'KP_Down': | ||
self._chat += "\nDown Pressed!" | self._chat += "\nDown Pressed!" | ||
self._chat_buffer.set_text(self._chat) | self._chat_buffer.set_text(self._chat) | ||
elif | elif keyname == 'KP_Left': | ||
self._chat += "\nLeft Pressed!" | self._chat += "\nLeft Pressed!" | ||
self._chat_buffer.set_text(self._chat) | self._chat_buffer.set_text(self._chat) | ||
elif | elif keyname == 'KP_Right': | ||
self._chat += "\nRight Pressed!" | self._chat += "\nRight Pressed!" | ||
self._chat_buffer.set_text(self._chat) | self._chat_buffer.set_text(self._chat) | ||
| Line 410: | Line 422: | ||
</pre> | </pre> | ||
=== How do | === How do I remove a specific button from the toolbar? === | ||
This is an example of the share button is removed: | This is an example of the share button is removed: | ||