docs/hacking-howto: update the file description
This commit is contained in:
parent
118a37510d
commit
e8335bbb89
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue