X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=HACKING;h=45104201d31c86c516f662e2d4e07e0c7443a2bf;hb=ed4f84ac33765eee594ad6771df38768afd842a4;hp=56cca150e129df3fe5ed8d8df8bd581df856884d;hpb=d963ae89a3cbae13de7c28a0564880ac3422a5a8;p=chaz%2Fopenbox diff --git a/HACKING b/HACKING index 56cca150..45104201 100644 --- a/HACKING +++ b/HACKING @@ -1,10 +1,22 @@ Woop, a HACKING document for openbox at last! +dirs: + kernel - core of the WM + render - librender, rendering routines for the WM and for apps + cwmcc - client-wm-client communication. netwm/icccm helper routines + for the WM and apps + obcf - openbox config format, generic parser for config files + plugins - various plugins + Beware the Client.transient_for. It can be set to a !NULL value of TRAN_GROUP, which is not a valid pointer. You must ALWAYS check for TRAN_GROUP before following transient_for. When TRAN_GROUP is found, Client.group will always be !NULL. Some smart action should be taken using all members of the group in this case. + Smart action idea: + Skip over members of the group that are also transients of the group + (have Client.transient_for set to TRAN_GROUP). These windows are not + ancestors and using them will also end up causing infinite loops! When using coordinates/sizes of windows, make sure you use the right area. The Client.area rect is the reference point and size of the *CLIENT* window. This