However I have the following problem. I can create a window with gutin and draw my triangles there. I also can create a window with conrod widgets (from examples). But how can I create a window with both widgets and my geometry?
I tried to create two separate windows in different threads, one for geometry and one for widgets, but in this setup the window with geomeyty does not recieve any keyboard events (for that matter, if I create two window with geometry, they also mix up events).
You only need one window. If you want your UI drawn over your geometry, then draw your geometry first using the GliumGraphics instance before you pass it to Ui::draw().
In the end, I was unable to make conrod and raw glium to play nice together. So I ended up storing/reading all the configuration values from a JSON file. Given #[derive(RustcDecodable)], it is a much simpler solution without many dependencies.