]> git.sur5r.net Git - i3/i3/log
i3/i3
12 years agoRe-implement bar borders (by Angelo Haller)
Michael Stapelberg [Fri, 20 Jan 2012 21:36:50 +0000 (21:36 +0000)]
Re-implement bar borders (by Angelo Haller)

This re-introduces borders around the workspace buttons in i3bar.
No additional pixels will be consumed (you will not lose any space for your
windows).

12 years agoMerge branch 'master' into next
Michael Stapelberg [Fri, 20 Jan 2012 18:14:34 +0000 (18:14 +0000)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-xcb-compat'
Michael Stapelberg [Fri, 20 Jan 2012 18:14:12 +0000 (18:14 +0000)]
Merge branch 'fix-xcb-compat'

12 years agoFix xcb_compat.h to make i3 compile with older xcb versions (Thanks David Coppa)
Michael Stapelberg [Fri, 20 Jan 2012 18:13:52 +0000 (18:13 +0000)]
Fix xcb_compat.h to make i3 compile with older xcb versions (Thanks David Coppa)

12 years agoMerge branch 'master' into next
Michael Stapelberg [Fri, 20 Jan 2012 18:10:52 +0000 (18:10 +0000)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-ewmh'
Michael Stapelberg [Fri, 20 Jan 2012 18:10:49 +0000 (18:10 +0000)]
Merge branch 'fix-ewmh'

12 years agoBugfix: Setup the _NET_SUPPORTING_WM_CHECK atom in a standards-compliant way
Michael Stapelberg [Fri, 20 Jan 2012 10:52:45 +0000 (10:52 +0000)]
Bugfix: Setup the _NET_SUPPORTING_WM_CHECK atom in a standards-compliant way

This makes chrome (and probably other apps, too) receive changes of the
_NET_ACTIVE_WINDOW and thus show its bookmark dialog properly.

Fixes: #544
12 years agoBugfix: Don’t increment 'walk' before checking it (Thanks MasterofJOKers)
Michael Stapelberg [Thu, 19 Jan 2012 19:01:47 +0000 (19:01 +0000)]
Bugfix: Don’t increment 'walk' before checking it (Thanks MasterofJOKers)

12 years agoMerge branch 'master' into next
Michael Stapelberg [Wed, 18 Jan 2012 19:18:22 +0000 (19:18 +0000)]
Merge branch 'master' into next

Conflicts:
src/handlers.c

12 years agoMerge branch 'fix-focus'
Michael Stapelberg [Wed, 18 Jan 2012 19:17:48 +0000 (19:17 +0000)]
Merge branch 'fix-focus'

12 years agoBugfix: Respect WM_HINTS.input for WM_TAKE_FOCUS clients
Michael Stapelberg [Wed, 18 Jan 2012 19:16:57 +0000 (19:16 +0000)]
Bugfix: Respect WM_HINTS.input for WM_TAKE_FOCUS clients

This fixes problems with Qt apps (like Quassel) and apparently Eclipse since
the last commit.

12 years agoMerge branch 'master' into next
Michael Stapelberg [Tue, 17 Jan 2012 23:39:04 +0000 (23:39 +0000)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-take-focus'
Michael Stapelberg [Tue, 17 Jan 2012 23:34:52 +0000 (23:34 +0000)]
Merge branch 'fix-take-focus'

12 years agoBugfix: Either use SetInputFocus *or* send WM_TAKE_FOCUS, not both
Michael Stapelberg [Tue, 17 Jan 2012 23:33:33 +0000 (23:33 +0000)]
Bugfix: Either use SetInputFocus *or* send WM_TAKE_FOCUS, not both

This fixes problems with the Oracle JRE7, which checks the current focus after
receiving WM_TAKE_FOCUS and just does nothing when the focus is on one of its
windows. Hopefully it doesn’t introduce any regressions :).

12 years agoBugfix: Only ignore EnterNotify events after UnmapNotifies from managed windows
Michael Stapelberg [Tue, 17 Jan 2012 20:37:36 +0000 (20:37 +0000)]
Bugfix: Only ignore EnterNotify events after UnmapNotifies from managed windows

This should fix (some?) focus follows mouse problems.

12 years agohacking-howto: point out that the parser is not used for the configfile (yet) (Thanks...
Michael Stapelberg [Mon, 16 Jan 2012 23:41:24 +0000 (23:41 +0000)]
hacking-howto: point out that the parser is not used for the configfile (yet) (Thanks fernandotcl)

12 years agohacking-howto: describe the new commands parser
Michael Stapelberg [Mon, 16 Jan 2012 22:44:28 +0000 (22:44 +0000)]
hacking-howto: describe the new commands parser

12 years agoBugfix: Make generate-command-parser.pl compatible with perl 5.10
Michael Stapelberg [Mon, 16 Jan 2012 21:20:48 +0000 (21:20 +0000)]
Bugfix: Make generate-command-parser.pl compatible with perl 5.10

12 years agoMerge branch 'new-parser' into next
Michael Stapelberg [Sat, 14 Jan 2012 21:30:02 +0000 (21:30 +0000)]
Merge branch 'new-parser' into next

12 years agoImplement a new parser for commands. (+test)
Michael Stapelberg [Sat, 14 Jan 2012 19:53:29 +0000 (19:53 +0000)]
Implement a new parser for commands. (+test)

On the rationale of using a custom parser instead of a lex/yacc one, see this
quote from src/commands_parser.c:
     We use a hand-written parser instead of lex/yacc because our commands are
     easy for humans, not for computers. Thus, it’s quite hard to specify a
     context-free grammar for the commands. A PEG grammar would be easier, but
     there’s downsides to every PEG parser generator I have come accross so far.

     This parser is basically a state machine which looks for literals or strings
     and can push either on a stack. After identifying a literal or string, it
     will either transition to the current state, to a different state, or call a
     function (like cmd_move()).

     Special care has been taken that error messages are useful and the code is
     well testable (when compiled with -DTEST_PARSER it will output to stdout
     instead of actually calling any function).

During the migration phase (I plan to completely switch to this parser before
4.2 will be released), the new parser will parse every command you send to
i3 and save the resulting call stack. Then, the old parser will parse your
input and actually execute the commands. Afterwards, both call stacks will be
compared and any differences will be logged.

The new parser works with 100% of the test suite and produces identical call
stacks.

12 years agoRefactor the code out of src/cmdparse.y to src/commands.c
Michael Stapelberg [Sat, 14 Jan 2012 15:02:30 +0000 (15:02 +0000)]
Refactor the code out of src/cmdparse.y to src/commands.c

This is the first step towards our new parser.

12 years agocmdparse.l: [^t] is enough (Thanks f8l)
Michael Stapelberg [Tue, 10 Jan 2012 23:09:00 +0000 (23:09 +0000)]
cmdparse.l: [^t] is enough (Thanks f8l)

12 years agoMerge branch 'move-workspace-to-output' into next
Michael Stapelberg [Tue, 10 Jan 2012 22:16:57 +0000 (22:16 +0000)]
Merge branch 'move-workspace-to-output' into next

12 years agoImplement 'move workspace to output <output>'
Michael Stapelberg [Tue, 10 Jan 2012 22:10:59 +0000 (22:10 +0000)]
Implement 'move workspace to output <output>'

Fixes: #541
12 years agotests: use open_window to avoid motion notifies which in turn trigger endless loops
Michael Stapelberg [Mon, 9 Jan 2012 19:15:59 +0000 (19:15 +0000)]
tests: use open_window to avoid motion notifies which in turn trigger endless loops

Using 'open' will not create an X11 window (while open_window does), so we will
get spurious motion notify events when switching focus, leading to endless loops.

12 years agoIntroduce synonyms: 'move to workspace' and 'move container to workspace' and 'move...
Michael Stapelberg [Mon, 9 Jan 2012 18:57:04 +0000 (18:57 +0000)]
Introduce synonyms: 'move to workspace' and 'move container to workspace' and 'move window to workspace'

This makes the new 'move workspace to output' command much more clear

12 years agoMerge branch 'workspace_on_output' into next
Michael Stapelberg [Sun, 8 Jan 2012 16:33:48 +0000 (16:33 +0000)]
Merge branch 'workspace_on_output' into next

12 years agoadd testcase for workspace next_on_output/prev_on_output
Michael Stapelberg [Sun, 8 Jan 2012 16:33:16 +0000 (16:33 +0000)]
add testcase for workspace next_on_output/prev_on_output

12 years agotests: make focused_ws multi-monitor-safe, document it
Michael Stapelberg [Sun, 8 Jan 2012 16:32:58 +0000 (16:32 +0000)]
tests: make focused_ws multi-monitor-safe, document it

12 years agoIgnore next_on_output/prev_on_output when looking for the first workspace
Michael Stapelberg [Sun, 8 Jan 2012 16:31:07 +0000 (16:31 +0000)]
Ignore next_on_output/prev_on_output when looking for the first workspace

12 years agouserguide: document workspace next_on_output/prev_on_output
Michael Stapelberg [Sun, 8 Jan 2012 16:30:48 +0000 (16:30 +0000)]
userguide: document workspace next_on_output/prev_on_output

12 years agoSwitch and Move to next workspace on the same Output. As requested in \#554
Max Alexander Busse [Sun, 25 Dec 2011 02:30:10 +0000 (03:30 +0100)]
Switch and Move to next workspace on the same Output. As requested in \#554

12 years agoMerge branch 'i3bar-hide-mod' into next
Michael Stapelberg [Sun, 8 Jan 2012 12:54:10 +0000 (12:54 +0000)]
Merge branch 'i3bar-hide-mod' into next

12 years agoupdate userguide to reflect the modifier option in i3bar config
Michael Stapelberg [Sun, 8 Jan 2012 12:52:45 +0000 (12:52 +0000)]
update userguide to reflect the modifier option in i3bar config

12 years agoAllow different modifier keys for showing hidden i3bar.
dbp [Mon, 12 Dec 2011 05:58:57 +0000 (21:58 -0800)]
Allow different modifier keys for showing hidden i3bar.

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sun, 8 Jan 2012 12:30:41 +0000 (12:30 +0000)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-floating-assign'
Michael Stapelberg [Sun, 8 Jan 2012 12:30:23 +0000 (12:30 +0000)]
Merge branch 'fix-floating-assign'

12 years agoBugfix: Fix assignments of floating windows to (yet) unused workspaces (Thanks zeus)
Michael Stapelberg [Sun, 8 Jan 2012 12:28:49 +0000 (12:28 +0000)]
Bugfix: Fix assignments of floating windows to (yet) unused workspaces (Thanks zeus)

The problem was that the workspace was considered empty for a brief period of
time when entering floating mode. This happened when you assigned Gimp to a
workspace which is not in use yet.

12 years agoMerge branch 'focus-output' into next
Michael Stapelberg [Sun, 8 Jan 2012 12:03:31 +0000 (12:03 +0000)]
Merge branch 'focus-output' into next

12 years agodocument the 'focus output' command
Michael Stapelberg [Sun, 8 Jan 2012 12:02:59 +0000 (12:02 +0000)]
document the 'focus output' command

12 years agobump copyright
Michael Stapelberg [Sun, 8 Jan 2012 12:00:19 +0000 (12:00 +0000)]
bump copyright

12 years agoadd testcase for 'focus output'
Michael Stapelberg [Sun, 8 Jan 2012 11:59:24 +0000 (11:59 +0000)]
add testcase for 'focus output'

12 years agowrap 'focus output': when on the right-most output and focusing right, it will focus...
Michael Stapelberg [Sun, 8 Jan 2012 11:58:45 +0000 (11:58 +0000)]
wrap 'focus output': when on the right-most output and focusing right, it will focus the left-most output

12 years agoremove trailing whitespace and empty lines
Michael Stapelberg [Sun, 8 Jan 2012 11:44:01 +0000 (11:44 +0000)]
remove trailing whitespace and empty lines

12 years agoFeature: focus the output right/left/above/below
Max Alexander Busse [Sun, 25 Dec 2011 21:33:35 +0000 (22:33 +0100)]
Feature: focus the output right/left/above/below

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 7 Jan 2012 18:50:46 +0000 (18:50 +0000)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-assignment-open'
Michael Stapelberg [Sat, 7 Jan 2012 18:50:43 +0000 (18:50 +0000)]
Merge branch 'fix-assignment-open'

12 years agoBugfix: Open new windows in the correct place when assignments match (+test) (Thanks...
Michael Stapelberg [Sat, 7 Jan 2012 18:50:00 +0000 (18:50 +0000)]
Bugfix: Open new windows in the correct place when assignments match (+test) (Thanks Don)

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 7 Jan 2012 18:21:12 +0000 (18:21 +0000)]
Merge branch 'master' into next

Conflicts:
src/con.c

12 years agoMerge branch 'fix-fullscreen-move'
Michael Stapelberg [Sat, 7 Jan 2012 18:19:48 +0000 (18:19 +0000)]
Merge branch 'fix-fullscreen-move'

12 years agoBugfix: Don’t lose focus on fullscreen windows when another window gets moved to...
Michael Stapelberg [Sat, 7 Jan 2012 18:18:36 +0000 (18:18 +0000)]
Bugfix: Don’t lose focus on fullscreen windows when another window gets moved to that workspace (+test) (Thanks rami)

Fixes: #606
12 years agoBugfix: Correctly handle 'move scratchpad' on workspace level (+test) (Thanks mseed)
Michael Stapelberg [Sat, 7 Jan 2012 17:36:30 +0000 (17:36 +0000)]
Bugfix: Correctly handle 'move scratchpad' on workspace level (+test) (Thanks mseed)

Fixes: #597
12 years agoBugfix: Show scratchpad on the correct output (+test)
Michael Stapelberg [Sat, 7 Jan 2012 16:53:37 +0000 (16:53 +0000)]
Bugfix: Show scratchpad on the correct output (+test)

Fixes: #596
12 years agoforgot include/shmlog.h
Michael Stapelberg [Sat, 7 Jan 2012 14:59:58 +0000 (14:59 +0000)]
forgot include/shmlog.h

12 years agoshmlog: store meta information in the buffer itself, store path as X11 atom
Michael Stapelberg [Fri, 6 Jan 2012 23:40:07 +0000 (23:40 +0000)]
shmlog: store meta information in the buffer itself, store path as X11 atom

This makes i3-dump-log completely independent of a running i3 instance.

12 years agotests: add scratchpad test
Michael Stapelberg [Thu, 5 Jan 2012 21:39:34 +0000 (21:39 +0000)]
tests: add scratchpad test

12 years agoproperly serialize floating/scratchpad state when restarting
Michael Stapelberg [Thu, 5 Jan 2012 21:39:18 +0000 (21:39 +0000)]
properly serialize floating/scratchpad state when restarting

12 years agotests: make t/143 actually verify floating windows are restored properly
Michael Stapelberg [Thu, 5 Jan 2012 21:20:53 +0000 (21:20 +0000)]
tests: make t/143 actually verify floating windows are restored properly

12 years agoChange prototype of handlers to static void, remove a bit of old code
Michael Stapelberg [Fri, 30 Dec 2011 10:30:56 +0000 (11:30 +0100)]
Change prototype of handlers to static void, remove a bit of old code

12 years agoupdate comment in include/data.h
Michael Stapelberg [Fri, 30 Dec 2011 10:23:15 +0000 (11:23 +0100)]
update comment in include/data.h

12 years agoHandle vsnprintf overflows (Thanks Han)
Michael Stapelberg [Fri, 30 Dec 2011 00:25:50 +0000 (01:25 +0100)]
Handle vsnprintf overflows (Thanks Han)

12 years agodocs/userguide: refer to the new i3bar options in "8.1. Displaying a status line"
Michael Stapelberg [Thu, 29 Dec 2011 23:59:32 +0000 (00:59 +0100)]
docs/userguide: refer to the new i3bar options in "8.1. Displaying a status line"

12 years agoFix i3-config-wizard on FreeBSD 7.x (without getline()) (Thanks garga)
Michael Stapelberg [Thu, 29 Dec 2011 23:50:31 +0000 (00:50 +0100)]
Fix i3-config-wizard on FreeBSD 7.x (without getline()) (Thanks garga)

12 years agoLog the configfile name in verbose log, not only debug log (Thanks Han)
Michael Stapelberg [Wed, 28 Dec 2011 23:04:48 +0000 (00:04 +0100)]
Log the configfile name in verbose log, not only debug log (Thanks Han)

12 years agoupdate i3-sensible-* (Thanks Han)
Michael Stapelberg [Wed, 28 Dec 2011 23:01:49 +0000 (00:01 +0100)]
update i3-sensible-* (Thanks Han)

12 years agoMerge branch 'test-multi-monitor' into next
Michael Stapelberg [Mon, 26 Dec 2011 19:51:01 +0000 (20:51 +0100)]
Merge branch 'test-multi-monitor' into next

12 years agotests: Implement multi-monitor tests using Xdmx
Michael Stapelberg [Sat, 24 Dec 2011 14:34:28 +0000 (15:34 +0100)]
tests: Implement multi-monitor tests using Xdmx

12 years agodebian/changelog bump for next
Michael Stapelberg [Sat, 24 Dec 2011 15:29:21 +0000 (16:29 +0100)]
debian/changelog bump for next

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 24 Dec 2011 15:28:48 +0000 (16:28 +0100)]
Merge branch 'master' into next

12 years agodebian: re-add build-indep/build-arch targets to debian/rules 4.1.1
Michael Stapelberg [Sat, 24 Dec 2011 15:24:00 +0000 (16:24 +0100)]
debian: re-add build-indep/build-arch targets to debian/rules

12 years agobump manpage version
Michael Stapelberg [Sat, 24 Dec 2011 15:10:22 +0000 (16:10 +0100)]
bump manpage version

12 years agoAlso check for empty $PAGER/$VISUAL/$EDITOR in i3-sensible-{editor,pager}
Michael Stapelberg [Sat, 19 Nov 2011 14:10:39 +0000 (14:10 +0000)]
Also check for empty $PAGER/$VISUAL/$EDITOR in i3-sensible-{editor,pager}

12 years agoi3-sensible-terminal: check $TERMINAL to not call 'which' without parameters (Thanks...
Michael Stapelberg [Sat, 19 Nov 2011 14:08:18 +0000 (14:08 +0000)]
i3-sensible-terminal: check $TERMINAL to not call 'which' without parameters (Thanks Fandekasp)

12 years agoadd release notes for v4.1.1
Michael Stapelberg [Sat, 24 Dec 2011 14:59:04 +0000 (15:59 +0100)]
add release notes for v4.1.1

12 years agoupdate debian/changelog
Michael Stapelberg [Sat, 24 Dec 2011 14:58:58 +0000 (15:58 +0100)]
update debian/changelog

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 24 Dec 2011 14:37:13 +0000 (15:37 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'doc-fixes'
Michael Stapelberg [Sat, 24 Dec 2011 14:37:03 +0000 (15:37 +0100)]
Merge branch 'doc-fixes'

12 years agoFix a few spelling typos
Miguel de Val-Borro [Fri, 23 Dec 2011 15:29:26 +0000 (16:29 +0100)]
Fix a few spelling typos

12 years agos/xwininfo/xprop (Thanks Miguel)
Michael Stapelberg [Sat, 24 Dec 2011 14:36:11 +0000 (15:36 +0100)]
s/xwininfo/xprop (Thanks Miguel)

12 years agoFix typo in keyboard binding example in the user guide
Miguel de Val-Borro [Fri, 23 Dec 2011 11:56:26 +0000 (12:56 +0100)]
Fix typo in keyboard binding example in the user guide

12 years agoadd missing scratchpad.{c,h}
Michael Stapelberg [Wed, 21 Dec 2011 23:17:52 +0000 (23:17 +0000)]
add missing scratchpad.{c,h}

12 years agoMerge branch 'scratchpad' into next
Michael Stapelberg [Wed, 21 Dec 2011 23:16:47 +0000 (23:16 +0000)]
Merge branch 'scratchpad' into next

12 years agoImplement scratchpad functionality (see userguide)
Michael Stapelberg [Wed, 21 Dec 2011 23:15:32 +0000 (23:15 +0000)]
Implement scratchpad functionality (see userguide)

12 years agotests: implement restart testing (actual option still missing)
Michael Stapelberg [Wed, 21 Dec 2011 23:15:06 +0000 (23:15 +0000)]
tests: implement restart testing (actual option still missing)

12 years agoMerge branch 'master' into next
Michael Stapelberg [Tue, 20 Dec 2011 18:44:26 +0000 (18:44 +0000)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-float-close'
Michael Stapelberg [Tue, 20 Dec 2011 18:44:23 +0000 (18:44 +0000)]
Merge branch 'fix-float-close'

12 years agoBugfix: Don’t close workspace when there are still floating windows on it (Thanks...
Michael Stapelberg [Tue, 20 Dec 2011 18:43:52 +0000 (18:43 +0000)]
Bugfix: Don’t close workspace when there are still floating windows on it (Thanks noxxun) (+test)

Fixes: #595
12 years agoMerge branch 'master' into next
Michael Stapelberg [Sun, 18 Dec 2011 18:02:08 +0000 (18:02 +0000)]
Merge branch 'master' into next

Conflicts:
testcases/t/159-socketpaths.t

12 years agoMerge branch 'fix-temp-path'
Michael Stapelberg [Sun, 18 Dec 2011 17:59:56 +0000 (17:59 +0000)]
Merge branch 'fix-temp-path'

12 years agoCreate a secure temp path instead of a predictable one (Thanks Han)
Michael Stapelberg [Sun, 18 Dec 2011 17:53:21 +0000 (17:53 +0000)]
Create a secure temp path instead of a predictable one (Thanks Han)

With this commit, i3 will now use either $XDG_RUNTIME_DIR/i3 (XDG_RUNTIME_DIR
is only writable by the user, so this is not a problem) or a secure temporary
location in /tmp, following the pattern /tmp/i3-<user>.XXXXXX

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sun, 18 Dec 2011 17:25:15 +0000 (17:25 +0000)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-floating-move'
Michael Stapelberg [Sun, 18 Dec 2011 17:24:58 +0000 (17:24 +0000)]
Merge branch 'fix-floating-move'

12 years agoBugfix: Correctly check boundaries and reassign floating windows when moving (Thanks...
Michael Stapelberg [Sun, 18 Dec 2011 17:24:27 +0000 (17:24 +0000)]
Bugfix: Correctly check boundaries and reassign floating windows when moving (Thanks xpt)

Fixes: #592
12 years agoFix the signal handler popup text.
Fernando Tarlá Cardoso Lemos [Sun, 18 Dec 2011 14:53:26 +0000 (12:53 -0200)]
Fix the signal handler popup text.

Thanks to Michael for the heads-up.

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sun, 18 Dec 2011 15:19:09 +0000 (15:19 +0000)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-float-resize'
Michael Stapelberg [Sun, 18 Dec 2011 15:18:47 +0000 (15:18 +0000)]
Merge branch 'fix-float-resize'

12 years agoBugfix: Fix floating resize for floating split containers (+test)
Michael Stapelberg [Sun, 18 Dec 2011 15:18:20 +0000 (15:18 +0000)]
Bugfix: Fix floating resize for floating split containers (+test)

Fixes: #588
12 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 17 Dec 2011 22:35:13 +0000 (22:35 +0000)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-bindsym'
Michael Stapelberg [Sat, 17 Dec 2011 22:34:55 +0000 (22:34 +0000)]
Merge branch 'fix-bindsym'

12 years agokeygrabbing: only look in the appropriate columns when resolving keysyms
Michael Stapelberg [Sat, 17 Dec 2011 22:31:21 +0000 (22:31 +0000)]
keygrabbing: only look in the appropriate columns when resolving keysyms

Fixes: #585
This commit fixes the problem of i3 wrongly grabbing/interpreting (!) some key
bindings. Basically, when you have, say, "bindsym Mod1+4 workspace 4", but you
also have "bindsym Mod1+semicolon focus right" (both are default), and your
keyboard layout has semicolon on Mode_switch + 4, the "workspace 4" keybinding
was shadowed by the "focus right" keybinding, because that also resolves to
semicolon.

So, from now on, i3 will only consider column 0 and 1 for normal bindings and
column 2 and 3 for bindings using Mode_switch (columns as seen in xmodmap
-pke).