Nassty / x-go-binding

Automatically exported from code.google.com/p/x-go-binding
Other
0 stars 0 forks source link

xinerama and other extension support #9

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
I've attached a patch that will provide support for the xinerama extension.

The xinerama.go file is automatically generated using 'python2 go_client.py 
/usr/share/xcb/xinerama.xml'.

My approach was actually to make extensions, in general, work. However, that 
task was a bit harder than I thought it would be. I tried generating the randr 
and render extension files, but they failed miserably. I don't think I'll 
attempt that again until go_client.py is cleaned up (which I may do). 
Personally, I think we should look at c_client.py for XCB and try to model it 
after that. In particular, generating extensions introduces a host of new 
problems---with type definitions missing, unions missing (yuck), and functions 
like 'parseEvent' being re-declared. It needs a lot of work.

At least with Xinerama, xgb can be aware of multiple monitors. Which is 
important. (Because I have three monitors :P)

In order to use it...

    conn, _ := xgb.Dial("")
    conn.RegisterExtension("xinerama")
    screens, _ := conn.XineramaQueryScreens()
    fmt.Println(screens)

N.B. I've also removed those god-forsaken tabs from go_client.py and run 
xproto.go and xinerama.go through gofmt.

Original issue reported on code.google.com by jamslam@gmail.com on 29 Feb 2012 at 6:22

Attachments: