Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 56 lines (53 sloc) 2.146 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
dirs:
openbox - core of the WM
render - librender, rendering routines for the WM and for apps
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. 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
value is not what you see in any shape or form, and gravity is applied to it to
translate it into what you see. The Client.frame.area is the actual position
and size of the entire frame. This is usually the value you want to use, unless
you are in client.c (probably) and adjusting/using the position or size from
the client's perspective.

Indentation
-----------
For openbox, we aim to have consistent coding style. Some, but surely
not all, guidelines:
 * use 4 space indents
 * tabs should not appear in source files
 * closing braces always go on a new line
 * for functions, the opening brace goes on a new line
     void foo()
     {
         hi;
     }
 * for control blocks, the opening brace goes on the same line as the
   condition, unless the condition spans more than one line. then the brace
   goes on a new line.
     if (one line) {
         hi;
     }
     if (first line &&
         second line)
     {
         hi;
     }
 * always use braces around conditional blocks that consist of more than one
   line, even if they contain a single statement
     if (check) {
         /* Check was true. */
         yay = true(ok,
                    thanks);
     }
 * don't need to use braces for conditional blocks that use only a single
   line, including comments.
     if (check)
         all_on_one_line_so_no_braces_needed();
 * 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
Something went wrong with that request. Please try again.