version 1.312, 2021/01/22 10:21:24 |
version 1.313, 2021/01/22 10:24:52 |
|
|
const char *, int); |
const char *, int); |
static void window_copy_scroll_up(struct window_mode_entry *, u_int); |
static void window_copy_scroll_up(struct window_mode_entry *, u_int); |
static void window_copy_scroll_down(struct window_mode_entry *, u_int); |
static void window_copy_scroll_down(struct window_mode_entry *, u_int); |
static void window_copy_rectangle_toggle(struct window_mode_entry *); |
static void window_copy_rectangle_set(struct window_mode_entry *, int); |
static void window_copy_move_mouse(struct mouse_event *); |
static void window_copy_move_mouse(struct mouse_event *); |
static void window_copy_drag_update(struct client *, struct mouse_event *); |
static void window_copy_drag_update(struct client *, struct mouse_event *); |
static void window_copy_drag_release(struct client *, struct mouse_event *); |
static void window_copy_drag_release(struct client *, struct mouse_event *); |
|
|
} |
} |
|
|
static enum window_copy_cmd_action |
static enum window_copy_cmd_action |
|
window_copy_cmd_rectangle_on(struct window_copy_cmd_state *cs) |
|
{ |
|
struct window_mode_entry *wme = cs->wme; |
|
struct window_copy_mode_data *data = wme->data; |
|
|
|
data->lineflag = LINE_SEL_NONE; |
|
window_copy_rectangle_set(wme, 1); |
|
|
|
return (WINDOW_COPY_CMD_NOTHING); |
|
} |
|
|
|
static enum window_copy_cmd_action |
|
window_copy_cmd_rectangle_off(struct window_copy_cmd_state *cs) |
|
{ |
|
struct window_mode_entry *wme = cs->wme; |
|
struct window_copy_mode_data *data = wme->data; |
|
|
|
data->lineflag = LINE_SEL_NONE; |
|
window_copy_rectangle_set(wme, 0); |
|
|
|
return (WINDOW_COPY_CMD_NOTHING); |
|
} |
|
|
|
static enum window_copy_cmd_action |
window_copy_cmd_rectangle_toggle(struct window_copy_cmd_state *cs) |
window_copy_cmd_rectangle_toggle(struct window_copy_cmd_state *cs) |
{ |
{ |
struct window_mode_entry *wme = cs->wme; |
struct window_mode_entry *wme = cs->wme; |
struct window_copy_mode_data *data = wme->data; |
struct window_copy_mode_data *data = wme->data; |
|
|
data->lineflag = LINE_SEL_NONE; |
data->lineflag = LINE_SEL_NONE; |
window_copy_rectangle_toggle(wme); |
window_copy_rectangle_set(wme, !data->rectflag); |
|
|
return (WINDOW_COPY_CMD_NOTHING); |
return (WINDOW_COPY_CMD_NOTHING); |
} |
} |
|
|
window_copy_cmd_previous_space }, |
window_copy_cmd_previous_space }, |
{ "previous-word", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ "previous-word", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
window_copy_cmd_previous_word }, |
window_copy_cmd_previous_word }, |
|
{ "rectangle-on", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
window_copy_cmd_rectangle_on }, |
|
{ "rectangle-off", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
window_copy_cmd_rectangle_off }, |
{ "rectangle-toggle", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "rectangle-toggle", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
window_copy_cmd_rectangle_toggle }, |
window_copy_cmd_rectangle_toggle }, |
{ "refresh-from-pane", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "refresh-from-pane", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
|
} |
} |
|
|
static void |
static void |
window_copy_rectangle_toggle(struct window_mode_entry *wme) |
window_copy_rectangle_set(struct window_mode_entry *wme, int rectflag) |
{ |
{ |
struct window_copy_mode_data *data = wme->data; |
struct window_copy_mode_data *data = wme->data; |
u_int px, py; |
u_int px, py; |
|
|
data->rectflag = !data->rectflag; |
data->rectflag = rectflag; |
|
|
py = screen_hsize(data->backing) + data->cy - data->oy; |
py = screen_hsize(data->backing) + data->cy - data->oy; |
px = window_copy_find_length(wme, py); |
px = window_copy_find_length(wme, py); |