1TICKIT_DEBUG(7) Miscellaneous Information Manual TICKIT_DEBUG(7)
2
3
4
6 Tickit_Debug - debug logging support for libtickit
7
9 $ TICKIT_DEBUG_FLAGS=W TICKIT_DEBUG_FILE=tickit.log a-tickit-program
10
12 The libtickit library contains a debug logging system that other parts
13 of the library use to report on interesting events and behaviours, that
14 may help developers to observe internal details and assist in the de‐
15 velopment and debugging of applications that use the library.
16
17 Debug messages themselves each have a flag name, which is a short
18 string identifying the library component or event that caused that mes‐
19 sage. A given set of these flags can be enabled during a debugging ses‐
20 sion, causing only those messages to be printed. Messages pertaining to
21 flags that are not enabled will not be printed.
22
24 Each flag name starts with an upper-case letter indicating the library
25 component it relates to, then lower-case letters to indicate the par‐
26 ticular kind of event or message within that component.
27
28 B
29 These messages relate to TickitRenderBuffer (tickit_renderbuffer(7)).
30
31 Bd Drawing operations such as tickit_renderbuffer_text(3).
32
33 Bf Flushing
34
35 Bs Stack state save and restore.
36
37 Bt
38
39 I
40 These messages relate to input-system events.
41
42 Ik Keyboard keypresses.
43
44 Im Mouse movement and button or wheel events.
45
46 Ir Terminal resize. Transformations (translation, clipping and
47 masking).
48
49 W
50 These messages relate to windows.
51
52 W* Window destroyed.
53
54 Wd Damage to root window.
55
56 Wx Window is exposed.
57
58 Wh Window hierarchy changed.
59
60 Ws Window scrolls.
61
62 Wsr Window propagates a scrollrect to its underlying terminal.
63
65 The debugging support is controlled by the following environment vari‐
66 ables, which should be set before the application starts, or early dur‐
67 ing its initialisation before it has invoked any libtickit functions.
68
69 TICKIT_DEBUG_FLAGS
70 A comma-separated list of the flags or flag categories to enable
71 for printing. Entire categories of flags can be enabled by list
72 just the initial capital letter of its name. All the flags can
73 be enabled at once by setting the name *.
74
75 TICKIT_DEBUG_FILE
76 Gives the name of a file to open in append mode to write logging
77 lines to.
78
79 TICKIT_DEBUG_FD
80 Gives a file descriptor number to write logging lines to.
81
82 One technique that may be useful to observe logging in real-time while
83 the application runs is to arrange for the application to run in a new
84 terminal but have it log debugging output to an existing one. This may
85 be achieved using
86
87 $ TICKIT_DEBUG_FD=3 TICKIT_DEBUG_FLAGS=... $TERM my-tickit-app 3>&2
88
89 This requests that libtickit log to file descriptor 3, which has been
90 created by dup(2)ing the original shell's standard output. Debug log‐
91 ging will therefore be printed to the existing terminal where this com‐
92 mand was executed, while the application itself draws its output to the
93 newly-created one.
94
96 The debug system is initialised by calling tickit_debug_init(3). Mes‐
97 sages can be logged using tickit_debug_logf(3) and tickit_de‐
98 bug_vlogf(3).
99
101 tickit(7), tickit_term(7), tickit_renderbuffer(7), tickit_window(7)
102
103
104
105 TICKIT_DEBUG(7)