Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get started writing a compositing WM?

I would like to write a basic hardware-accelerated window manager, so I've been looking for some documentation on how to get started, but I've only managed to find this tutorial, which uses an outdated version of Clutter and won't build with any version currently available. Are there any other good resources for how to do this, or alternatively, a really bare-bones compositing WM to look at the source of?

like image 270
Skyler Avatar asked Nov 06 '12 22:11

Skyler


1 Answers

There are two parts in your question: 1) How to write WM 2) how to write composite manager

Some links to help understand part two (in addition to xcompmgr source):

  • http://www.talisman.org/~erlkonig/misc/x11-composite-tutorial/ (Uses Qt, but very generic and low level)
  • https://github.com/gustavosbarreto/compmgr
  • http://projects.mini-dweeb.org/projects/unagi

Window manager, "part one":

  • I have simple ~100 loc wm in JavaScript: https://github.com/sidorares/node-x11/blob/master/examples/windowmanager/wm.js
  • another minimalist wm (in C), good to start as a reference: https://code.google.com/p/winmalist/
  • most important keyword: SubstructureRedirect event mask. A bit of documentation here
like image 71
Andrey Sidorov Avatar answered Oct 12 '22 18:10

Andrey Sidorov