Lines Matching defs:wp
220 struct window_pane *wp;
226 RB_FOREACH(wp, window_pane_tree, &all_window_panes) {
227 if (strcmp(wp->tty, c->ttyname) == 0)
588 server_client_check_mouse_in_pane(struct window_pane *wp, u_int px, u_int py,
591 struct window *w = wp->window;
602 if (window_pane_show_scrollbar(wp, sb)) {
603 sb_w = wp->scrollbar_style.width;
604 sb_pad = wp->scrollbar_style.pad;
610 line = wp->yoff - 1;
612 line = wp->yoff + wp->sy;
616 (wp->yoff == 0 && py < wp->sy) ||
617 (py >= wp->yoff && py < wp->yoff + wp->sy)) &&
619 px < wp->xoff + wp->sx + sb_pad + sb_w) ||
621 px < wp->xoff + wp->sx - sb_pad - sb_w))) {
624 (px >= wp->xoff + wp->sx + sb_pad &&
625 px < wp->xoff + wp->sx + sb_pad + sb_w)) ||
627 (px >= wp->xoff - sb_pad - sb_w &&
628 px < wp->xoff - sb_pad))) {
630 sl_top = wp->yoff + wp->sb_slider_y;
631 sl_bottom = (wp->yoff + wp->sb_slider_y +
632 wp->sb_slider_h - 1);
637 *sl_mpos = (py - wp->sb_slider_y - wp->yoff);
660 wp = fwp;
675 struct window_pane *wp, *fwp;
780 m->wp = -1;
808 m->wp = sr->argument;
810 log_debug("mouse range: pane %%%u", m->wp);
864 wp = window_get_active_at(w, px, py);
865 if (wp == NULL)
867 where = server_client_check_mouse_in_pane(wp, px, py,
872 wp->id);
874 log_debug("mouse on pane %%%u border", wp->id);
879 wp->id);
881 m->wp = wp->id;
882 m->w = wp->window->id;
885 m->wp = -1;
2345 struct window_pane *wp;
2393 wp = fs.wp;
2416 wp != NULL &&
2417 (wme = TAILQ_FIRST(&wp->modes)) != NULL &&
2443 if (wp == NULL)
2446 log_debug("key table %s (pane %%%u)", table->name, wp->id);
2577 if (wp != NULL)
2578 window_pane_key(wp, c, s, wl, key, m);
2585 window_pane_paste(wp, key, event->buf, event->len);
2650 struct window_pane *wp;
2671 TAILQ_FOREACH(wp, &w->panes, entry) {
2672 if (wp->fd != -1) {
2673 server_client_check_pane_resize(wp);
2674 server_client_check_pane_buffer(wp);
2676 wp->flags &= ~(PANE_REDRAW|PANE_REDRAWSCROLLBAR);
2706 struct window_pane *wp = data;
2708 log_debug("%s: %%%u resize timer expired", __func__, wp->id);
2709 evtimer_del(&wp->resize_timer);
2714 server_client_check_pane_resize(struct window_pane *wp)
2722 if (TAILQ_EMPTY(&wp->resize_queue))
2725 if (!event_initialized(&wp->resize_timer))
2726 evtimer_set(&wp->resize_timer, server_client_resize_timer, wp);
2727 if (evtimer_pending(&wp->resize_timer, NULL))
2730 log_debug("%s: %%%u needs to be resized", __func__, wp->id);
2731 TAILQ_FOREACH(r, &wp->resize_queue, entry) {
2749 first = TAILQ_FIRST(&wp->resize_queue);
2750 last = TAILQ_LAST(&wp->resize_queue, window_pane_resizes);
2753 window_pane_send_resize(wp, first->sx, first->sy);
2754 TAILQ_REMOVE(&wp->resize_queue, first, entry);
2758 window_pane_send_resize(wp, last->sx, last->sy);
2759 TAILQ_FOREACH_SAFE(r, &wp->resize_queue, entry, r1) {
2760 TAILQ_REMOVE(&wp->resize_queue, r, entry);
2772 window_pane_send_resize(wp, r->sx, r->sy);
2773 TAILQ_FOREACH_SAFE(r, &wp->resize_queue, entry, r1) {
2776 TAILQ_REMOVE(&wp->resize_queue, r, entry);
2781 evtimer_add(&wp->resize_timer, &tv);
2786 server_client_check_pane_buffer(struct window_pane *wp)
2788 struct evbuffer *evb = wp->event->input;
2800 minimum = wp->offset.used;
2801 if (wp->pipe_fd != -1 && wp->pipe_offset.used < minimum)
2802 minimum = wp->pipe_offset.used;
2812 wpo = control_pane_offset(c, wp, &flag);
2821 window_pane_get_new_data(wp, wpo, &new_size);
2823 __func__, c->name, wpo->used - wp->base_offset, new_size,
2824 wp->id);
2830 minimum -= wp->base_offset;
2836 wp->id, minimum, EVBUFFER_LENGTH(evb));
2843 if (wp->base_offset > SIZE_MAX - minimum) {
2844 log_debug("%s: %%%u base offset has wrapped", __func__, wp->id);
2845 wp->offset.used -= wp->base_offset;
2846 if (wp->pipe_fd != -1)
2847 wp->pipe_offset.used -= wp->base_offset;
2851 wpo = control_pane_offset(c, wp, &flag);
2853 wpo->used -= wp->base_offset;
2855 wp->base_offset = minimum;
2857 wp->base_offset += minimum;
2866 log_debug("%s: pane %%%u is %s", __func__, wp->id, off ? "off" : "on");
2868 bufferevent_disable(wp->event, EV_READ);
2870 bufferevent_enable(wp->event, EV_READ);
2887 struct window_pane *wp = server_client_get_pane(c), *loop;
2905 s = wp->screen;
2935 if (wp->xoff + s->cx >= ox && wp->xoff + s->cx <= ox + sx &&
2936 wp->yoff + s->cy >= oy && wp->yoff + s->cy <= oy + sy) {
2939 cx = wp->xoff + s->cx - ox;
2940 cy = wp->yoff + s->cy - oy;
3084 struct window_pane *wp;
3091 TAILQ_FOREACH(wp, &w->panes, entry) {
3092 wme = TAILQ_FIRST(&wp->modes);
3105 struct window_pane *wp;
3135 TAILQ_FOREACH(wp, &w->panes, entry) {
3136 if (wp->flags & PANE_REDRAW) {
3141 if (wp->flags & PANE_REDRAWSCROLLBAR) {
3158 TAILQ_FOREACH(wp, &w->panes, entry) {
3159 if (wp->flags & (PANE_REDRAW)) {
3161 c->name, wp->id);
3163 } else if (wp->flags & PANE_REDRAWSCROLLBAR) {
3165 "needs redraw", c->name, wp->id);
3197 TAILQ_FOREACH(wp, &w->panes, entry) {
3200 if (wp->flags & PANE_REDRAW)
3214 "%%%u", __func__, wp->id);
3217 wp->id);
3219 screen_redraw_pane(c, wp, redraw_scrollbar_only);
3812 server_client_set_pane(struct client *c, struct window_pane *wp)
3821 cw->pane = wp;
3822 log_debug("%s pane now %%%u", c->name, wp->id);
3827 server_client_remove_pane(struct window_pane *wp)
3830 struct window *w = wp->window;
3835 if (cw != NULL && cw->pane == wp) {
3848 struct window_pane *wp;
3886 wp = server_client_get_pane(c);
3887 wme = TAILQ_FIRST(&wp->modes);
3889 window_pane_set_mode(wp, NULL, &window_view_mode, NULL, NULL);
3894 window_copy_add(wp, 1, "%s", line);
3902 window_copy_add(wp, 1, "%.*s", (int)size, line);
3905 window_copy_add(wp, 0, "%s", msg);