docs: merge spelling and grammar fixes by sasha (Thanks!)

This commit is contained in:
Michael Stapelberg
2010-03-21 01:50:10 +01:00
parent 77efb29d9f
commit 234ed6c99b
13 changed files with 215 additions and 193 deletions

View File

@ -24,8 +24,9 @@ some events which normal clients usually dont handle.
In the case of i3, the tasks (and order of them) are the following:
. Grab the key bindings (events will be sent upon keypress/keyrelease)
. Iterate through all existing windows (if the window manager is not started as the first
client of X) and manage them (= reparent them, create window decorations)
. Iterate through all existing windows (if the window manager is not started as
the first client of X) and manage them (reparent them, create window
decorations, etc.)
. When new windows are created, manage them
. Handle the clients `_WM_STATE` property, but only the `_WM_STATE_FULLSCREEN`
. Handle the clients `WM_NAME` property
@ -35,8 +36,8 @@ In the case of i3, the tasks (and order of them) are the following:
. Handle button (as in mouse buttons) presses for focus/raise on click
. Handle expose events to re-draw own windows such as decorations
. React to the users commands: Change focus, Move windows, Switch workspaces,
Change the layout mode of a container (default/stacking), Start a new application,
Restart the window manager
Change the layout mode of a container (default/stacking/tabbed), start a new
application, restart the window manager
In the following chapters, each of these tasks and their implementation details
will be discussed.
@ -46,8 +47,8 @@ will be discussed.
Traditionally, there are two approaches to managing windows: The most common
one nowadays is floating, which means the user can freely move/resize the
windows. The other approach is called tiling, which means that your window
manager distributing windows to use as much space as possible while not
overlapping.
manager distributes windows to use as much space as possible while not
overlapping each other.
The idea behind tiling is that you should not need to waste your time
moving/resizing windows while you usually want to get some work done. After
@ -90,8 +91,9 @@ When moving terminal 2 to the bottom, the table will be expanded again.
|========
You can really think of the layout table like a traditional HTML table, if
youve ever designed one. Especially col- and rowspan work equally. Below you
see an example of colspan=2 for the first container (which has T1 as window).
youve ever designed one. Especially col- and rowspan work similarly. Below,
you see an example of colspan=2 for the first container (which has T1 as
window).
[width="15%",cols="^asciidoc"]
|========
@ -112,7 +114,7 @@ Contains data definitions used by nearly all files. You really need to read
this first.
include/*.h::
Contains forward definitions for all public functions, aswell as
Contains forward definitions for all public functions, as well as
doxygen-compatible comments (so if you want to get a bit more of the big
picture, either browse all header files or use doxygen if you prefer that).
@ -131,7 +133,7 @@ Contains all functions which are specific to a certain client (make it
fullscreen, see if its class/name matches a pattern, kill it, …).
src/commands.c::
Parsing commands and actually execute them (focussing, moving, …).
Parsing commands and actually executing them (focusing, moving, …).
src/config.c::
Parses the configuration file.
@ -143,7 +145,7 @@ src/floating.c::
Contains functions for floating mode (mostly resizing/dragging).
src/handlers.c::
Contains all handlers for all kind of X events (new window title, new hints,
Contains all handlers for all kinds of X events (new window title, new hints,
unmapping, key presses, button presses, …).
src/ipc.c::
@ -212,7 +214,7 @@ screen you are currently on.
=== Workspace
A workspace is identified by its number. Basically, you could think of
workspaces as different desks in your bureau, if you like the desktop
workspaces as different desks in your office, if you like the desktop
methaphor. They just contain different sets of windows and are completely
separate of each other. Other window managers also call this ``Virtual
desktops''.
@ -288,7 +290,7 @@ So, why do we need to grab keycodes actively? Because X does not set the
state-property of keypress/keyrelease events properly. The Mode_switch bit is
not set and we need to get it using XkbGetState. This means we cannot pass X
our combination of modifiers containing Mode_switch when grabbing the key and
therefore need to grab the keycode itself without any modiffiers. This means,
therefore need to grab the keycode itself without any modifiers. This means,
if you bind Mode_switch + keycode 38 ("a"), i3 will grab keycode 38 ("a") and
check on each press of "a" if the Mode_switch bit is set using XKB. If yes, it
will handle the event, if not, it will replay the event.
@ -344,7 +346,7 @@ moved/resized so that the currently active layout (default/stacking/tabbed mode)
is rendered correctly. To move/resize windows, a window is ``configured'' in
X11-speak.
Some applications, such as MPlayer obivously assume the window manager is
Some applications, such as MPlayer obviously assume the window manager is
stupid and try to configure their windows by themselves. This generates an
event called configurerequest. i3 handles these events and tells the window the
size it had before the configurerequest (with the exception of not yet mapped
@ -374,7 +376,7 @@ characters (every special character contained in your font).
== Size hints
Size hints specify the minimum/maximum size for a given window aswell as its
Size hints specify the minimum/maximum size for a given window as well as its
aspect ratio. This is important for clients like mplayer, who only set the
aspect ratio and resize their window to be as small as possible (but only with
some video outputs, for example in Xv, while when using x11, mplayer does the
@ -447,10 +449,10 @@ floating windows:
(+grabwin+)
* Another window, 2px width and as high as your screen (or vice versa for
horizontal resizing) is created. Its background color is the border color and
it is only there to signalize the user how big the container will be (it
it is only there to inform the user how big the container will be (it
creates the impression of dragging the border out of the container).
* The +drag_pointer+ function of +src/floating.c+ is called to grab the pointer
and enter an own event loop which will pass all events (expose events) but
and enter its own event loop which will pass all events (expose events) but
motion notify events. This function then calls the specified callback
(+resize_callback+) which does some boundary checking and moves the helper
window. As soon as the mouse button is released, this loop will be
@ -497,7 +499,7 @@ http://git-scm.com/documentation
When you want to send a patch because you fixed a bug or implemented a cool
feature (please talk to us before working on features to see whether they are
maybe already implemented, not possible because of some reason or dont fit
maybe already implemented, not possible for some some reason, or dont fit
into the concept), please use git to create a patchfile.
First of all, update your working copy to the latest version of the master
@ -519,4 +521,4 @@ apply to the branch, preserving your commit message and name:
git format-patch origin
-----------------------
Just send us the generated file via mail.
Just send us the generated file via email.