i3
|
#include <time.h>
#include <math.h>
#include <xcb/xcb_atom.h>
#include <xcb/xcb_icccm.h>
#include <X11/XKBlib.h>
#include "all.h"
Go to the source code of this file.
Enumerations | |
enum | click_destination_t { CLICK_BORDER = 0, CLICK_DECORATION = 1, CLICK_INSIDE = 2 } |
Functions | |
static bool | tiling_resize_for_border (Con *con, border_t border, xcb_button_press_event_t *event) |
static bool | floating_mod_on_tiled_client (Con *con, xcb_button_press_event_t *event) |
static bool | tiling_resize (Con *con, xcb_button_press_event_t *event, click_destination_t dest) |
static int | route_click (Con *con, xcb_button_press_event_t *event, bool mod_pressed, click_destination_t dest) |
int | handle_button_press (xcb_button_press_event_t *event) |
The button press X callback. |
enum click_destination_t |
static bool floating_mod_on_tiled_client | ( | Con * | con, |
xcb_button_press_event_t * | event | ||
) | [static] |
Definition at line 84 of file click.c.
References BORDER_BOTTOM, BORDER_LEFT, BORDER_RIGHT, BORDER_TOP, DLOG, Rect::height, Con::rect, tiling_resize_for_border(), and Rect::width.
Referenced by route_click().
int handle_button_press | ( | xcb_button_press_event_t * | event | ) |
The button press X callback.
This function determines whether the floating modifier is pressed and where the user clicked (decoration, border, inside the window).
Then, route_click is called on the appropriate con.
Definition at line 255 of file click.c.
References CLICK_BORDER, CLICK_DECORATION, CLICK_INSIDE, con_by_frame_id(), con_by_window_id(), config, conn, Con::deco_rect, DLOG, ELOG, Config::floating_modifier, rect_contains(), route_click(), and TAILQ_FOREACH.
Referenced by handle_event().
static int route_click | ( | Con * | con, |
xcb_button_press_event_t * | event, | ||
bool | mod_pressed, | ||
click_destination_t | dest | ||
) | [static] |
Definition at line 151 of file click.c.
References BIND_SHIFT, CLICK_BORDER, CLICK_DECORATION, con_focus(), con_inside_floating(), conn, DLOG, floating_drag_window(), floating_mod_on_tiled_client(), floating_raise_con(), floating_resize_window(), HORIZ, Con::layout, Con::name, Con::parent, tiling_resize(), tree_next(), tree_render(), Con::type, and VERT.
Referenced by handle_button_press().
static bool tiling_resize | ( | Con * | con, |
xcb_button_press_event_t * | event, | ||
click_destination_t | dest | ||
) | [static] |
Definition at line 123 of file click.c.
References BORDER_BOTTOM, BORDER_LEFT, BORDER_RIGHT, BORDER_TOP, CLICK_DECORATION, con_border_style_rect(), DLOG, Rect::height, Con::rect, tiling_resize_for_border(), Rect::width, Con::window_rect, Rect::x, and Rect::y.
Referenced by route_click().
static bool tiling_resize_for_border | ( | Con * | con, |
border_t | border, | ||
xcb_button_press_event_t * | event | ||
) | [static] |
Definition at line 33 of file click.c.
References BORDER_BOTTOM, BORDER_LEFT, BORDER_TOP, DLOG, HORIZ, Con::orientation, Con::parent, resize_graphical_handler(), TAILQ_END, TAILQ_NEXT, TAILQ_PREV, tree_render(), Con::type, and VERT.
Referenced by floating_mod_on_tiled_client(), and tiling_resize().