1. 21 Jun, 2013 2 commits
    • Sebastian Ramacher's avatar
    • Marwan Tanager's avatar
      Bookmark the exact position, not just the page number (along with a number of fixes). · ae59da30
      Marwan Tanager authored and Sebastian Ramacher's avatar Sebastian Ramacher committed
      This patch adds some enhancements/fixes to the bookmarking feature of Zathura:
          - Bookmark the exact vertical and horizontal adjustments values, along with
            the page number. This is done in a backward-compatible way for both the
            plain and sqlite database backends, so that bookmarks that was taken
            previously (bookmarking only the page number) will still work as expected
            and won't be lost.
          - Fix the issue of not being able to remove bookmarks from the plain
            database; removing a bookmark in plain_remove_bookmark using
            g_key_file_remove_key corrupts the bookmarks file.  This is due to not
            truncating the entire bookmarks file in zathura_db_write_key_file_to_file
            prior to overriding it with a new one not containing the removed line.
            This is why, I guess, plain_remove_bookmark hadn't been implemented as
            expected using g_key_file_remove_key, because apparently, someone thought
            that the problem is caused by this API.
          - Fix not being able to update existing bookmarks persistently; updating a
            bookmark works only during the current session, but after the file is
            closed and reopened, the updated bookmark still has it's old value. This
            is due to changing only the bookmark structure in memory; the proper way
            to do it, is to call zathura_db_remove_bookmark on the old bookmark, then
            follow that by a call to zathura_db_add_bookmark on a bookmark structure
            containing the new position and the same old ID.
          - Make zathura_bookmark_add updates the bookmark if it already exists,
            rather than doing this externally in cmd_bookmark_create. This allows us
            to have all the relevant girara_notify messages in cmd_bookmark_create.
      Signed-off-by: Sebastian Ramacher's avatarSebastian Ramacher <sebastian+dev@ramacher.at>
  2. 20 Jun, 2013 3 commits
  3. 19 Jun, 2013 1 commit
  4. 18 Jun, 2013 1 commit
  5. 10 Jun, 2013 5 commits
    • Marwan Tanager's avatar
      Use jumplist with marks · 092fe818
      Marwan Tanager authored and Sebastian Ramacher's avatar Sebastian Ramacher committed
      Signed-off-by: Sebastian Ramacher's avatarSebastian Ramacher <sebastian+dev@ramacher.at>
    • Marwan Tanager's avatar
    • Marwan Tanager's avatar
      Enhancements/Cleanups for the jumplist mechansim · afd008f4
      Marwan Tanager authored and Sebastian Ramacher's avatar Sebastian Ramacher committed
      	- 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's avatarSebastian Ramacher <sebastian+dev@ramacher.at>
    • Marwan Tanager's avatar
    • Marwan Tanager's avatar
      More Vim-like search behavior · cc3b9aea
      Marwan Tanager authored and Sebastian Ramacher's avatar Sebastian Ramacher committed
      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's avatarSebastian Ramacher <sebastian+dev@ramacher.at>
  6. 02 Jun, 2013 2 commits
  7. 28 May, 2013 3 commits
  8. 12 May, 2013 1 commit
  9. 08 May, 2013 2 commits
  10. 04 May, 2013 3 commits
  11. 28 Apr, 2013 1 commit
  12. 17 Apr, 2013 1 commit
  13. 08 Apr, 2013 1 commit
  14. 02 Apr, 2013 7 commits
  15. 01 Apr, 2013 1 commit
  16. 29 Mar, 2013 3 commits
  17. 26 Mar, 2013 3 commits