From 3b078b83a087d25e0b7fb249b481179bce9828a7 Mon Sep 17 00:00:00 2001 From: Simon Gomizelj Date: Sat, 8 Mar 2014 17:31:23 -0500 Subject: [PATCH] Query padding before drawing hints Hints are not getting placed in the right place when vte has an inner-padding. Start taking this into consideration. Relevant to issue #162 --- termite.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/termite.cc b/termite.cc index e897506..666d797 100644 --- a/termite.cc +++ b/termite.cc @@ -314,6 +314,7 @@ static gboolean draw_cb(const draw_cb_info *info, cairo_t *cr) { if (!info->panel->url_list.empty()) { char buffer[std::numeric_limits::digits10 + 1]; + int padding_left, padding_top, padding_right, padding_bottom; const long cw = vte_terminal_get_char_width(info->vte); const long ch = vte_terminal_get_char_height(info->vte); const PangoFontDescription *desc = info->hints->font ? @@ -325,10 +326,12 @@ static gboolean draw_cb(const draw_cb_info *info, cairo_t *cr) { cairo_set_source_rgb(cr, 0, 0, 0); cairo_stroke(cr); + get_vte_padding(info->vte, &padding_left, &padding_top, &padding_right, &padding_bottom); + for (unsigned i = 0; i < info->panel->url_list.size(); i++) { const url_data &data = info->panel->url_list[i]; - const long x = data.col * cw; - const long y = data.row * ch; + const long x = data.col * cw + padding_left; + const long y = data.row * ch + padding_top; bool active = false; snprintf(buffer, sizeof(buffer), "%u", i + 1);