From f35b666631f2a8aff819442f45b776d951f4752b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20B=C3=BCrk?= Date: Wed, 1 Apr 2015 17:46:53 +0200 Subject: [PATCH 1/5] Update documentation to state that the configuration file is read by the custom parser as well. --- docs/hacking-howto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/hacking-howto b/docs/hacking-howto index 12d6b14e..8d459791 100644 --- a/docs/hacking-howto +++ b/docs/hacking-howto @@ -686,9 +686,9 @@ all commands. 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 -for user commands (not yet for the configuration file). +for user commands and 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 ++parser-specs/*.spec+. Should you happen to use Vim as an editor, use :source parser-specs/highlighting.vim to get syntax highlighting for this file (highlighting files for other editors are welcome). From 37811b67b03f8d40fc884e8888de9e2f923b5b9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20B=C3=BCrk?= Date: Wed, 1 Apr 2015 17:47:17 +0200 Subject: [PATCH 2/5] Update the definition of the workspace spec and describe it. --- docs/hacking-howto | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/hacking-howto b/docs/hacking-howto index 8d459791..9fc5c631 100644 --- a/docs/hacking-howto +++ b/docs/hacking-howto @@ -729,11 +729,14 @@ features. This is its definition: # workspace next|prev|next_on_output|prev_on_output # workspace back_and_forth # workspace +# workspace number state WORKSPACE: direction = 'next_on_output', 'prev_on_output', 'next', 'prev' -> call cmd_workspace($direction) 'back_and_forth' -> call cmd_workspace_back_and_forth() + 'number' + -> WORKSPACE_NUMBER workspace = string -> call cmd_workspace_name($workspace) ---------------------------------------------------------------- @@ -772,6 +775,10 @@ workspace :: single quotes), but just called string. Other possible tokens are word (the same as string, but stops matching at a whitespace) and end (matches the end of the input). +workspace number :: + The workspace command has to be followed by the keyword +number+. It + then transitions into the state +WORKSPACE_NUMBER+, where the actual + parameter will be read. === Introducing a new command From fec96c57bc9388f904b4bbd901e7f07cd8bf8d2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20B=C3=BCrk?= Date: Wed, 1 Apr 2015 17:47:38 +0200 Subject: [PATCH 3/5] Reworded the documentation slightly and fixed the link to correctly point to Github. --- docs/hacking-howto | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/hacking-howto b/docs/hacking-howto index 9fc5c631..71919e30 100644 --- a/docs/hacking-howto +++ b/docs/hacking-howto @@ -959,18 +959,21 @@ http://web.archive.org/web/20121024222556/http://www.spheredev.org/wiki/Git_for_ or, for more documentation, see http://git-scm.com/documentation Please talk to us before working on new features to see whether they will be -accepted. There are a few things which we don’t want to see in i3, e.g. a -command which will focus windows in an alt+tab like way. +accepted. A good way for this is to open an issue and asking for opinions on it. +Even for accepted features, this can be a good way to refine an idea upfront. However, +we don't want to see certain features in i3, e.g., switching window focus in an +Alt+Tab like way. When working on bugfixes, please make sure you mention that you are working on -it in the corresponding bugreport at https://github.com/i3/i3/issues In case -there is no bugreport yet, please create one. +it in the corresponding bug report at https://github.com/i3/i3/issues. In case +there is no bug report yet, please create one. -After you are done, please submit your work for review at https://github.com/i3/i3 +After you are done, please submit your work for review as a pull request at +https://github.com/i3/i3. Do not send emails to the mailing list or any author directly, and don’t submit them in the bugtracker, since all reviews should be done in public at -http://cr.i3wm.org/. In order to make your review go as fast as possible, you +https://github.com/i3/i3. In order to make your review go as fast as possible, you could have a look at previous reviews and see what the common mistakes are. === Which branch to use? From 5d8dfe0ec546a59dd30f1207d1ef23e26db0e2f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20B=C3=BCrk?= Date: Wed, 1 Apr 2015 17:45:53 +0200 Subject: [PATCH 4/5] Update docs to clarify that split containers get a representation of their children in the decoration --- docs/hacking-howto | 4 ++-- docs/userguide | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/hacking-howto b/docs/hacking-howto index 71919e30..4219e961 100644 --- a/docs/hacking-howto +++ b/docs/hacking-howto @@ -629,8 +629,8 @@ unmapped if it should not be visible anymore. +WM_STATE+ will be set to +x_draw_decoration+ draws window decorations. It is run for every leaf container (representing an actual X11 window) and for every non-leaf container which is in a stacked/tabbed container (because stacked/tabbed containers -display a window decoration for split containers, which at the moment just says -"another container"). +display a window decoration for split containers, which consists of a representation +of the child container's names. Then, parameters are collected to be able to determine whether this decoration drawing is actually necessary or was already done. This saves a substantial diff --git a/docs/userguide b/docs/userguide index 98629761..547c7ba7 100644 --- a/docs/userguide +++ b/docs/userguide @@ -256,8 +256,9 @@ workspace node’s orientation will be changed to +vertical+. The terminal windo you moved down is directly attached to the workspace and appears on the bottom of the screen. A new (horizontal) container was created to accommodate the other two terminal windows. You will notice this when switching to tabbed mode -(for example). You would end up having one tab called "another container" and -the other one being the terminal window you moved down. +(for example). You would end up having one tab with a representation of the split +container (e.g., "H[urxvt firefox]") and the other one being the terminal window +you moved down. [[configuring]] == Configuring i3 From df0e24cd2d15e32f2987ea66b3c2790fbae5d459 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20B=C3=BCrk?= Date: Wed, 1 Apr 2015 17:46:20 +0200 Subject: [PATCH 5/5] Clarify that more than one atom is handled by i3 and describe briefly in which way. --- docs/hacking-howto | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/hacking-howto b/docs/hacking-howto index 4219e961..e6313f7d 100644 --- a/docs/hacking-howto +++ b/docs/hacking-howto @@ -404,10 +404,14 @@ can reconfigure themselves). == _NET_WM_STATE -Only the _NET_WM_STATE_FULLSCREEN atom is handled. It calls -``toggle_fullscreen()'' for the specific client which just configures the -client to use the whole screen on which it currently is. Also, it is set as -fullscreen_client for the i3Screen. +Only the _NET_WM_STATE_FULLSCREEN and _NET_WM_STATE_DEMANDS_ATTENTION atoms +are handled. + +The former calls ``toggle_fullscreen()'' for the specific client which just +configures the client to use the whole screen on which it currently is. +Also, it is set as fullscreen_client for the i3Screen. + +The latter is used to set, read and display urgency hints. == WM_NAME