- 10 Jun, 2013 3 commits
-
-
- Don't delete the elements on the right of the current one, when appending a new jump to the jumplist, because this makes no sense at all; the point of the jumplist in the first place is to remember previously jumped-to positions in the document, so there is no need to delete anythings except to trim the oldest entries from the beginning to maintain the maximum size. This also makes us compatible with the Vim way of doing things. - Make the jumplist mechanism functional on the same page; if we followed a link to a target on the same page, remember the adjustments before and after following the link. The same holds for navigating search results on the same page. - Implement position_set and use it instead of position_set_delayed when following links in order to give zathura_jumplist_save a chance to record the exact adjustments of the link target. Otherwise, it will always record the adjustments after going to the target page, but before going to the exact position within it. - Don't consider movements with ^i and ^o as jumps :) - Don't use page_set followed by setting the adjustments in sc_jumplist, because this is redundant and causes clutter when using ^i and ^o, as the adjustments is set twice this way (once in page_set and again in position_set_delayed). It's enough to only update the page number on the statusbar and then set the adjustments. - Hide implementation details (zathura_jumplist_save and zathura_jumplist_append), and make things more consistent by exporting and using only zathura_jumplist_add for adding new entries. The end result: A more slick jumping experience :-) Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
This patch activates the last aborted search when pressing the search shortcuts ('n' or 'N'). To avoid confusion, and to make things more predictable, I've chosen to always reactivate an aborted search starting from the beginning (or end, in case of 'N' or '?') of the current page, as opposed to Vim which continues from the next search term each time the search is reactivated. Searching using '/' or '?' doesn't center the view at the current search term like when using 'n' or 'N', so we fix this here. Also, I managed to work around the issue of the thin rectangular margins that show around the previously-highlighted search terms after the search is aborted (either explicitly or as a result of following links), by redrawing the page widget (only if it's visible) instead of redrawing the rectangles covering the highlighted search terms. Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
- 02 Jun, 2013 2 commits
-
-
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
- 28 May, 2013 3 commits
-
-
Moritz Lipp authored
-
Moritz Lipp authored
-
Moritz Lipp authored
-
- 12 May, 2013 1 commit
-
-
Moritz Lipp authored
-
- 08 May, 2013 2 commits
-
-
Moritz Lipp authored
-
Moritz Lipp authored
-
- 04 May, 2013 3 commits
-
-
Sebastian Ramacher authored
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Sebastian Ramacher authored
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Sebastian Ramacher authored
-
- 28 Apr, 2013 1 commit
-
-
Sebastian Ramacher authored
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
- 17 Apr, 2013 1 commit
-
-
Moritz Lipp authored
-
- 08 Apr, 2013 1 commit
-
-
Sebastian Ramacher authored
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
- 02 Apr, 2013 7 commits
-
-
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
This uses the jumplist to implement a bisect functionality between the last two jump points. ^j and ^k are bound to bisect forward and backward respectively. Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Call cb_view_hadjustment_changed to set horizontal position in navigation shortcuts: sc_navigate, sc_goto. Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Added config parameter "link-hadjust" with default value true. When set to false, following internal links do not change the horizontal position of the page, only the vertical position. Also updates page number when following links, now. Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Sebastian Ramacher authored
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
- 01 Apr, 2013 1 commit
-
-
Use the 64-bit variants of g_param_spec_int and g_value_set_int for installing and accessing the last-view property. This fixes the bug of the page cache acting weird (e.g. the same cache index is invalidated over and over again) after being used for some time. This is because when we read the last-view property, we only get the least-significant 32 bits of the last_view private member. Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
- 29 Mar, 2013 3 commits
-
-
The last_view member in zathura_page_widget_private_s is gint64, so we should do the same here. Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
This will not scroll the document when pressing 'f' or 'F', just to make the behavior consistent with activating the inputbar using ':'. Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
This also has the side effect of not flooding the console with debug messages on every change of the vertical adjustment as a result of redundant cache lookups. Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
- 26 Mar, 2013 5 commits
-
-
Sebastian Ramacher authored
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Sebastian Ramacher authored
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Sebastian Ramacher authored
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Sebastian Ramacher authored
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
This patch implements a page cache that is invalidated in a LRU fashion. Pages are added to the cache as soon as they become visible. When the cache is full and a new page that isn't in the cache becomes visible, the least recently viewed page in the cache is evicted from memory and the new one takes it's place. The cache size is configurable using the page-cache-size configuration variable, with a default value of 15 pages. Very large values for the cache size are not recommended, though, as it will stress the system memory out. The old periodic page reclaiming code is no longer necessary with this patch, so I removed it. Special thanks to Ignas Anikevičius, and Sebastian Ramacher for the inspirations. Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
- 25 Mar, 2013 1 commit
-
-
Sebastian Ramacher authored
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
- 24 Mar, 2013 1 commit
-
-
I don't see any reason for queueing a redraw if the new surface is NULL. Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
- 23 Mar, 2013 4 commits
-
-
Sebastian Ramacher authored
Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Add a new adjust mode that is set when focusing the inputbar and disables adjusting the vertical scrollbar. As a result, focusing the inputbar doesn't scroll the document, leading to better results when changing pages from the inputbar (e.g. using bookmarks). Reported-by:
Marwan Tanager <marwan.tngr@gmail.com> Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
Instead of guesstimating the values of the scrollbars adjustments after a change in zoom level, connect callbacks to the "changed" GtkAdjustment event (which is emitted when the bounds or page_size of the adjustment change, e.g. when the zoom level changes), and compute the new values from there. The previous adjustment values are tracked in zathura->ui.hadjustment and zathura->ui.vadjustment (and updated by signal handlers as well), so that the view's position can be maintained while zooming. cb_view_hadjustment_changed() centers the page horizontally if a "best-fit" or "width" zoom is being performed, or if "zoom-center" is true; otherwise, it keeps the view horizontally centered around the same area of the page. cb_view_vadjustment_changed() always keeps the view vertically centered around the same area of the page. Many thanks to Marwan Tanager for thoroughly reviewing the various stages of this patch, and actually coming up with a working solution. Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
This wasn't correct. Padding is already accounted for: scale = (width - (pages_per_row - 1) * padding) / (pages_per_row * cell_width) If you add padding on the denominator, you end up with black margins on the sides of the window, which isn't what padding is for (i.e. insert a gap between rendered pages), and defeats the purpose of a "best-fit". Signed-off-by:
Sebastian Ramacher <sebastian+dev@ramacher.at>
-
- 17 Mar, 2013 1 commit
-
-
Sebastian Ramacher authored
-