docs/hacking-howto: update the file description

This commit is contained in:
Michael Stapelberg 2011-07-27 16:32:24 +02:00
parent 118a37510d
commit e8335bbb89
1 changed files with 68 additions and 15 deletions

View File

@ -111,6 +111,11 @@ Furthermore, you can freely resize table cells.
== Files == Files
include/atoms.xmacro::
A file containing all X11 atoms which i3 uses. This file will be included
various times (for defining, requesting and receiving the atoms), each time
with a different definition of xmacro().
include/data.h:: include/data.h::
Contains data definitions used by nearly all files. You really need to read Contains data definitions used by nearly all files. You really need to read
this first. this first.
@ -130,19 +135,27 @@ src/click.c::
Contains all functions which handle mouse button clicks (right mouse button Contains all functions which handle mouse button clicks (right mouse button
clicks initiate resizing and thus are relatively complex). clicks initiate resizing and thus are relatively complex).
src/client.c:: src/cmdparse.l::
Contains all functions which are specific to a certain client (make it Contains the lexer for i3 commands, written for +flex(1)+.
fullscreen, see if its class/name matches a pattern, kill it, …).
src/commands.c:: src/cmdparse.y::
Parsing commands and actually executing them (focusing, moving, …). Contains the parser for i3 commands, written for +bison(1)+.
src/con.c::
Contains all functions which deal with containers directly (creating
containers, searching containers, getting specific properties from containers,
…).
src/config.c:: src/config.c::
Parses the configuration file. Contains all functions handling the configuration file (calling the parser
(src/cfgparse.y) with the correct path, switching key bindings mode).
src/debug.c:: src/debug.c::
Contains debugging functions to print unhandled X events. Contains debugging functions to print unhandled X events.
src/ewmh.c::
iFunctions to get/set certain EWMH properties easily.
src/floating.c:: src/floating.c::
Contains functions for floating mode (mostly resizing/dragging). Contains functions for floating mode (mostly resizing/dragging).
@ -153,34 +166,74 @@ unmapping, key presses, button presses, …).
src/ipc.c:: src/ipc.c::
Contains code for the IPC interface. Contains code for the IPC interface.
src/layout.c:: src/load_layout.c::
Renders your layout (screens, workspaces, containers). Contains code for loading layouts from JSON files.
src/mainx.c:: src/log.c::
Handles the setting of loglevels, contains the logging functions.
src/main.c::
Initializes the window manager. Initializes the window manager.
src/manage.c:: src/manage.c::
Looks at existing or new windows and decides whether to manage them. If so, it Looks at existing or new windows and decides whether to manage them. If so, it
reparents the window and inserts it into our data structures. reparents the window and inserts it into our data structures.
src/resize.c:: src/match.c::
Contains the functions to resize columns/rows in the table. A "match" is a data structure which acts like a mask or expression to match
certain windows or not. For example, when using commands, you can specify a
command like this: [title="*Firefox*"] kill. The title member of the match
data structure will then be filled and i3 will check each window using
match_matches_window() to find the windows affected by this command.
src/table.c:: src/move.c::
Manages the most important internal data structure, the design table. Contains code to move a container in a specific direction.
src/output.c::
Functions to handle CT_OUTPUT cons.
src/randr.c::
The RandR API is used to get (and re-query) the configured outputs (monitors,
…).
src/render.c::
Renders the tree data structure by assigning coordinates to every node. These
values will later be pushed to X11 in +src/x.c+.
src/resize.c::
Contains the functions to resize containers.
src/sighandler.c::
Handles +SIGSEGV+, +SIGABRT+ and +SIGFPE+ by showing a dialog that i3 crashed.
You can chose to let it dump core, to restart it in-place or to restart it
in-place but forget about the layout.
src/tree.c::
Contains functions which open or close containers in the tree, change focus or
cleanup ("flatten") the tree. See also +src/move.c+ for another similar
function, which was moved into its own file because it is so long.
src/util.c:: src/util.c::
Contains useful functions which are not really dependant on anything. Contains useful functions which are not really dependant on anything.
src/window.c::
Handlers to update X11 window properties like +WM_CLASS+, +_NET_WM_NAME+,
+CLIENT_LEADER+, etc.
src/workspace.c:: src/workspace.c::
Contains all functions related to workspaces (displaying, hiding, renaming…) Contains all functions related to workspaces (displaying, hiding, renaming…)
src/x.c::
Transfers our in-memory tree (see +src/render.c+) to X11.
src/xcb.c:: src/xcb.c::
Contains wrappers to use xcb more easily. Contains wrappers to use xcb more easily.
src/xcursor.c::
XCursor functions (for cursor themes).
src/xinerama.c:: src/xinerama.c::
(Re-)initializes the available screens and converts them to virtual screens Legacy support for Xinerama. See +src/randr.c+ for the preferred API.
(see below).
== Data structures == Data structures