Go to file
Michael Stapelberg c738b2e454 Don’t use SYNC key bindings for Mode_switch but re-grab keys
Before this commit, i3 used key bindings in SYNC mode for bindings
like Mode_switch + <a> and replayed the key if the current state
did not include Mode_switch. This had some problems:

1) The WM needed to acknowledge much more key presses than you
   actually had bindings for, thus making the system a bit laggy
   sometimes.
2) Users of layouts who constantly type in the third level (like
   russian layouts) did not get their cyrillic symbols correctly
   (they were not replayed right), neither did the keybindings
   work in both modes.

So, the current implementation uses the following approach: XKB
provides an event which contains the current state (including
the current level). i3 signs up for this event and upon receival,
it re-maps the bindings using Mode_switch (enables them when the
level goes to the third level and disables them as soon as the
level goes back to normal). This fixes both problems.
2010-03-14 22:40:58 +01:00
debian ipc: implement GET_WORKSPACES message type 2010-03-11 15:58:39 +01:00
docs Update IPC documentation 2010-03-13 19:09:49 +01:00
i3-input i3-input: Bugfix: repeatedly grab the keyboard if it does not succeed 2010-03-03 10:08:17 +01:00
i3-msg i3-msg: Initialize message_type (Thanks badboy) 2010-03-12 15:45:36 +01:00
include Don’t use SYNC key bindings for Mode_switch but re-grab keys 2010-03-14 22:40:58 +01:00
man Document the new options 2010-02-13 19:58:43 +01:00
src Don’t use SYNC key bindings for Mode_switch but re-grab keys 2010-03-14 22:40:58 +01:00
testcases Bugfix: Don’t mess up x/y coordinates in configurerequests for floating windows 2010-03-11 23:34:29 +01:00
tests Separate font stuff to font.c, beautify Makefile 2009-02-08 11:25:32 +01:00
website website: add userguide 2009-06-26 13:49:18 +02:00
.gitignore Separate font stuff to font.c, beautify Makefile 2009-02-08 11:25:32 +01:00
CMDMODE Implement selecting the next tiling/floating window (using "focus") 2009-06-21 16:14:15 +02:00
common.mk ipc: implement GET_WORKSPACES message type 2010-03-11 15:58:39 +01:00
DEPENDS ipc: implement GET_WORKSPACES message type 2010-03-11 15:58:39 +01:00
GOALS Add GOALS file with anti-autotools 2009-02-09 20:56:29 +01:00
i3.config Fix bindings using the cursor keys in default config 2009-12-29 17:48:16 +01:00
i3.desktop Add a .desktop-file containing xsession information for freedesktop compliant login managers 2009-04-19 22:29:04 +02:00
i3.welcome Some reformatting of the welcome message 2009-11-06 17:43:01 +01:00
LICENSE Add vim hints, copyright notice to each file, add LICENSE, retab! everything 2009-02-14 02:33:31 +01:00
logo.svg Add logo to git. Thanks to steckdenis, yellowiscool and farvardin! 2009-08-04 01:40:05 +02:00
Makefile Fix parallel compilation (sometimes it failed because of wrong order in lex/yacc) 2010-03-02 12:56:45 +01:00
PACKAGE-MAINTAINER Add file PACKAGE-MAINTAINERS with hints for package maintainers 2009-03-14 01:30:37 +01:00
pseudo-doc.doxygen Put documentation for each function in the header files, doxygen-compatible 2009-04-07 19:02:07 +02:00
RELEASE-NOTES-3.a-bf1 Add release notes to git, welcome 3.a-bf1 :-) 2009-05-03 17:24:07 +02:00
RELEASE-NOTES-3.b debian: update changelog 2009-06-26 04:42:58 +02:00
RELEASE-NOTES-3.c Add release notes for 3.γ 2009-08-19 14:00:49 +02:00
RELEASE-NOTES-3.d Update changelog / release-notes 2009-11-09 20:54:16 +01:00
TODO Update TODO file 2009-04-19 20:45:28 +02:00