X-Git-Url: http://git.openbox.org/?p=dana%2Fopenbox.git;a=blobdiff_plain;f=HACKING;h=e450bba39e8f5a0a3b351b1e09bf1197c1d8e914;hp=5e97afde8a85f2bb52ae1160bbf7e94f7ea9e049;hb=1ffc0021325e30db7bb7f8b2a17ca7f5546b3324;hpb=3c7bf77dd9a14f93a63f9d790c1bdcf79b63eb39 diff --git a/HACKING b/HACKING index 5e97afd..e450bba 100644 --- a/HACKING +++ b/HACKING @@ -1,22 +1,13 @@ -Woop, a HACKING document for openbox at last! - dirs: - kernel - core of the WM + openbox - 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 + parser - libparser, for parsing config files 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! +following transient_for. However if it is transient for the group, this +excludes other windows whom are transient for the group, and windows which +are children of the window (infinite loops would result)! 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 @@ -36,8 +27,7 @@ not all, guidelines: lines * most other constructs should have braces on the same line as the statement + * else appears on a new line, just like an if * when in doubt look at the rest of the source * vim users can use "set expandtab tabstop=4 shiftwidth=4 softtabstop=4" for some of this - -