diff --git a/callbacks.c b/callbacks.c index b0c6d57..f5f6dcf 100644 --- a/callbacks.c +++ b/callbacks.c @@ -84,7 +84,8 @@ cb_view_vadjustment_value_changed(GtkAdjustment* GIRARA_UNUSED(adjustment), gpoi if (gdk_rectangle_intersect(&view_rect, &page_rect, NULL) == TRUE) { page->visible = true; - if (updated == false && gdk_rectangle_intersect(¢er, &page_rect, NULL) == TRUE) { + if (zathura->global.update_page_number == true && updated == false + && gdk_rectangle_intersect(¢er, &page_rect, NULL) == TRUE) { zathura->document->current_page_number = page_id; updated = true; } diff --git a/shortcuts.c b/shortcuts.c index e1cd346..9872a14 100644 --- a/shortcuts.c +++ b/shortcuts.c @@ -433,6 +433,7 @@ sc_scroll(girara_session_t* session, girara_argument_t* argument, gdouble value = gtk_adjustment_get_value(adjustment); gdouble max = gtk_adjustment_get_upper(adjustment) - view_size; unsigned int padding = zathura->global.page_padding; + zathura->global.update_page_number = true; float scroll_step = 40; girara_setting_get(session, "scroll-step", &scroll_step); diff --git a/zathura.c b/zathura.c index a31e7f7..cc06379 100644 --- a/zathura.c +++ b/zathura.c @@ -140,7 +140,8 @@ zathura_init(int argc, char* argv[]) zathura->print.page_setup = NULL; /* global settings */ - zathura->global.recolor = false; + zathura->global.recolor = false; + zathura->global.update_page_number = true; /* load plugins */ zathura_document_plugins_load(zathura); @@ -618,6 +619,7 @@ page_set(zathura_t* zathura, unsigned int page_id) } zathura->document->current_page_number = page_id; + zathura->global.update_page_number = false; page_offset_t offset; page_calculate_offset(page, &offset); @@ -627,6 +629,8 @@ page_set(zathura_t* zathura, unsigned int page_id) set_adjustment(view_hadjustment, offset.x); set_adjustment(view_vadjustment, offset.y); + statusbar_page_number_update(zathura); + return true; error_out: diff --git a/zathura.h b/zathura.h index c2d767d..032646c 100644 --- a/zathura.h +++ b/zathura.h @@ -86,6 +86,7 @@ typedef struct zathura_s { unsigned int page_padding; /**< Padding between the pages */ bool recolor; /**< Recoloring mode switch */ + bool update_page_number; /**< Update current page number */ } global; struct