github dheerajshenoy/lektra v0.6.9

latest releases: v0.7.2, v0.7.1, v0.7.0...
one month ago

Features

  • Add some more spanish translations.

  • Absolute vs Relative search hit jump

  • Thumbnail panel for quick navigation and visual overview of the document pages. The thumbnail panel can be toggled with
    the thumbnail_panel command and will show a scrollable list of page thumbnails on the side of the window.
    Clicking on a thumbnail will navigate to that page in the main view.

  • Default keybindings added for the following:

    • split_horizontal => Ctrl+W,s
    • split_vertical => Ctrl+W,v
    • split_focus_left => Ctrl+W,h
    • split_focus_right => Ctrl+W,l
    • split_focus_up => Ctrl+W,k
    • split_focus_down => Ctrl+W,j
    • split_close => Ctrl+W,c
  • Add --check-config command line argument to check the validity of the config file and print any errors or warnings without launching the application.

Config Options

  • flat_menu option for [outline], [highlight_search] picker. If true, the picker will
    show all entries in a flat list without indentation, otherwise it will show entries in a
    clickable node structure

  • Ability to set width and height of pickers (outline, highlight search, recent files etc.)

    • These take either absolute pixel values (integers > 1) or fractional values in the range (0.0, 1.0] to
      size the picker relative to the window dimensions. These options apply globally to all picker
      types (outline, highlight, search, etc.); each picker type can override them individually in its own configuration section.

    For example:

    [picker]
    width = 0.3 # 30% of the window width
    height = 400 # 400 pixels height
    
    [outline]
    width = 0.25 # 25% of the window width for the outline picker

    Here, the default width for all pickers is set to 30% of the window width, but the outline picker specifically
    overrides this to be 25% of the window width. The height for all pickers is set to 400 pixels.

  • Move synctex settings to their own section [synctex] for better organization and maintainability of the config file

    • enabled (bool): Enable/Disable synctex support
    • editor_command (string): Command to open the editor for synctex jump (e.g. code --goto {file}:{line}:{column})
  • [thumbnail_panel] section for thumbnail panel related settings

    • show_page_number (bool): Whether to show page numbers on the thumbnails
    • panel_width (float): Width of the thumbnail panel as a ratio of the main window width (e.g. 0.2 for 20% of the main window width)
  • Ability to define multiple keybindings for same action using TOML array

Example:

[picker.keys]
up = [ "Ctrl+k", "Up" ]
down = [ "Ctrl+j", "Down" ]

[keybindings]
command_palette = [ ":", "Ctrl+P" ]

Note

Notice that multiple keybindings use [] square brackets and not {} curly braces,
which have a different meaning in TOML

Breaking Changes

  • Removed synctex_editor_command from [behavior] section and moved it to [synctex] section as editor_command
  • dim_inactive is now disabled by default (which was enabled previously out of the box)
  • confirm_on_quit is now false by default (I feel it was annoying).
  • Renamed config options:
    • window_title -> title_format in [window] section

Bug Fixes

  • Delete Annotation Command now remembers the annotation color (if set) or defaults to the current color.
  • Fix setZoom and setZoomAnchored recursive calls which caused stack overflow and crashing when zooming in/out rapidly.
  • Fix memory leak due to not clearing up the tracker custom image device in MuPDF after rendering,
    which caused memory usage to grow indefinitely when navigating through pages.
  • Fix memory leak due to wrong usage of QFutureSynchronizer which caused huge memory usage and
    slowdown when scrolling through pages.
  • Don't count thumbnail view in a container as a regular split when showing the total count of the splits in a container
  • Fix file properties not working
  • Fix crash when trying to save file after adding annotation.

Core Changes

  • Replaced Qt's QColorDialog with a custom color picker dialog for annotation color selection.
  • Moved Translations directory to the root of the project (preivously it was in src directory).
  • Moved .hpp header files into include directory (previously they were in src directory) for better organization
    of the codebase and to follow common C++ project structure conventions.
  • Renamed CommandPalette.shortcuts to CommandPalette.show_shortcuts for better clarity of what the option does.

Don't miss a new lektra release

NewReleases is sending notifications on new releases.