To get an impression of how different layouts are represented, just play around
and look at the data structures -- they are exposed as a JSON hash. See
-http://i3wm.org/docs/ipc.html#_get_tree_reply for documentation on that and an
+http://i3wm.org/docs/ipc.html#_tree_reply for documentation on that and an
example.
== Files
Contains code for loading layouts from JSON files.
src/log.c::
-Handles the setting of loglevels, contains the logging functions.
+Contains the logging functions.
src/main.c::
Initializes the window manager.
In earlier versions of i3, interpreting these commands was done using lex and
yacc, but experience has shown that lex and yacc are not well suited for our
-command language. Therefore, starting from version 4.2, we use a custom parser.
+command language. Therefore, starting from version 4.2, we use a custom parser
+for user commands (not yet for the configuration file).
The input specification for this parser can be found in the file
+parser-specs/commands.spec+. Should you happen to use Vim as an editor, use
:source parser-specs/highlighting.vim to get syntax highlighting for this file
leads to code which looks like it works fine but which does not work under
certain conditions.
+* Forgetting to call `floating_fix_coordinates(con, old_rect, new_rect)` after
+ moving workspaces across outputs. Coordinates for floating containers are
+ not relative to workspace boundaries, so you must correct their coordinates
+ or those containers will show up in the wrong workspace or not at all.
+
== Using git / sending patches
For a short introduction into using git, see
git format-patch origin
-----------------------
-Just send us the generated file via email.
+Just send the generated file via email to the i3-discuss mailing list, see
+http://i3wm.org/contact/
== Thought experiments