Further debugging on IRC reveals that gdk_screen_get_n_monitors() is returning 0:
$ python >>> import gtk >>> gtk.gdk.screen_get_default().get_n_monitors() 0
However, both xrandr and xinerama seem to return sane values:
$ xrandr --verbose Screen 0: minimum 1680 x 1050, current 1680 x 1050, maximum 1680 x 1050 default connected (normal) Identifier: 0x63 Timestamp: 3676687 Subpixel: horizontal rgb Clones: CRTCs: 0 1680x1050 (0x64) 0.0MHz h: width 1680 start 0 end 0 total 1680 skew 0 clock 0.0KHz v: height 1050 start 0 end 0 total 1050 clock 0.0Hz
$ xdpyinfo -ext XINERAMA [...] number of screens: 1 [...] XINERAMA version 1.1 opcode: 150 Xinerama is inactive.
Further debugging on IRC reveals that gdk_screen_ get_n_monitors( ) is returning 0:
$ python screen_ get_default( ).get_n_ monitors( )
>>> import gtk
>>> gtk.gdk.
0
However, both xrandr and xinerama seem to return sane values:
$ xrandr --verbose
Screen 0: minimum 1680 x 1050, current 1680 x 1050, maximum 1680 x 1050
default connected (normal)
Identifier: 0x63
Timestamp: 3676687
Subpixel: horizontal rgb
Clones:
CRTCs: 0
1680x1050 (0x64) 0.0MHz
h: width 1680 start 0 end 0 total 1680 skew 0 clock 0.0KHz
v: height 1050 start 0 end 0 total 1050 clock 0.0Hz
$ xdpyinfo -ext XINERAMA
[...]
number of screens: 1
[...]
XINERAMA version 1.1 opcode: 150
Xinerama is inactive.