Client API philosophy

Christopher James Halse Rogers chris at cooperteam.net
Mon Nov 10 02:48:12 UTC 2014


Hey all.

We're getting into the meaty bit of client API support I thought I'd 
write some things about API design philosophy to see if they're 
controversial.

*) An API with lots of functions that do one thing each is simpler than 
an API with few functions that do different things depending on other 
state.

*) A function with unclear semantics is harmful

*) Mir will not have an external reference for window management 
policy. Window management semantics will be associated with the API. 
There is no equivalent for 
http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html outside the 
client API documentation.

*) The client API should be implementing policy, not mechanism.

*) Where state transitions are allowed, it should be possible to 
transition from one valid state to another valid state without 
temporarily being in an invalid state.

Some thoughts.




More information about the Mir-devel mailing list