Implement modes. Modes allow you to use different keybindings and switch between them.
For example, you can create a mode which will let you resize windows with some easy to use keys. So, instead of binding a combination of your homerow and modifiers to resize, like this: bind Mod4+44 resize right +10 bind Mod4+45 resize right -10 ... You can instead define a new mode: mode "resize" { bind 44 resize right +10 bind 45 resize right -10 ... bind 36 mode default } bindsym Mod4+r mode resize So, if you press Mod4+r now, your keybindings will be set to the ones defined in your resize mode above. You can then use your homerow (without any other modifier) to resize the current column/row and press enter to go back to the default mode when you are done. Note that using this option requires you to enable the new lexer/parser by passing the -l flag to i3 when starting.
This commit is contained in:
@ -948,6 +948,12 @@ void parse_command(xcb_connection_t *conn, const char *command) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (STARTS_WITH(command, "mode ")) {
|
||||
const char *rest = command + strlen("mode ");
|
||||
switch_mode(conn, rest);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Is it an <exit>? */
|
||||
if (STARTS_WITH(command, "exit")) {
|
||||
LOG("User issued exit-command, exiting without error.\n");
|
||||
|
Reference in New Issue
Block a user