8f67eba044
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.
41 lines
919 B
C
41 lines
919 B
C
/*
|
|
* vim:ts=8:expandtab
|
|
*
|
|
* i3 - an improved dynamic tiling window manager
|
|
*
|
|
* © 2009 Michael Stapelberg and contributors
|
|
*
|
|
* See file LICENSE for license information.
|
|
*
|
|
*/
|
|
#include <xcb/xcb.h>
|
|
#include <xcb/xcb_property.h>
|
|
#include <xcb/xcb_event.h>
|
|
#include <xcb/xcb_keysyms.h>
|
|
|
|
#include <X11/XKBlib.h>
|
|
|
|
#include "queue.h"
|
|
#include "data.h"
|
|
|
|
#ifndef _I3_H
|
|
#define _I3_H
|
|
|
|
#define NUM_ATOMS 18
|
|
|
|
extern xcb_connection_t *global_conn;
|
|
extern xcb_key_symbols_t *keysyms;
|
|
extern char **start_argv;
|
|
extern Display *xkbdpy;
|
|
extern TAILQ_HEAD(bindings_head, Binding) *bindings;
|
|
extern TAILQ_HEAD(autostarts_head, Autostart) autostarts;
|
|
extern TAILQ_HEAD(assignments_head, Assignment) assignments;
|
|
extern SLIST_HEAD(stack_wins_head, Stack_Window) stack_wins;
|
|
extern xcb_event_handlers_t evenths;
|
|
extern int num_screens;
|
|
extern uint8_t root_depth;
|
|
extern xcb_atom_t atoms[NUM_ATOMS];
|
|
extern xcb_window_t root;
|
|
|
|
#endif
|