glib.MainContext
Prev | PyGlibClass Reference | Next

## glib.MainContext

glib.MainContext — an object representing a set of event sources to be handled in a `glib.MainLoop`.

## Synopsis

    class glib.MainContext:
        glib.MainContext()
        def iteration(may_block)
        def pending()

## Ancestry

    +-- glib.MainContext

## Description

A `glib.MainContext` represents a set of event sources that can be run in a single thread. File descriptors (plain files, pipes or sockets) and timeouts are the standard event sources for `GTK` and `PyGTK` though others can be added. Each event source is assigned a priority. The default priority, `glib.PRIORITY_DEFAULT`, is 0. Values less than 0 denote higher priorities. Values greater than 0 denote lower priorities. Events from high priority sources are always processed before events from lower priority sources. Single iterations of a `glib.MainContext` can be run with the `iteration`() method.

## Constructor

        glib.MainContext()

Returns : | a new `glib.MainContext` object.

Creates a new `glib.MainContext` object.

## Methods

### glib.MainContext.iteration

        def iteration()

`may_block` : | if `True` the call may block waiting for an event.
Returns : | `True` if events were dispatched.

The `iteration`() method runs a single iteration. This involves:

- checking to see if any associated event sources are ready to be processed;
- then if no events sources are ready and `may_block` is `True`, waiting for a source to become ready;
- and finally, dispatching the highest priority events sources that are ready

Note that even when `may_block` is `True`, it is still possible for `iteration`() to return `False`, since the the wait may be interrupted for other reasons than an event source becoming ready.

### glib.MainContext.pending

        def pending()

Returns : | `True` if events are pending.

The `pending`() method checks if any associated sources have pending events.

Prev | Up | Next
PyGlibClass Reference | Home | glib.MainLoop