KATARAKT(1)

πŸ’– NAME πŸ’–

okay so this is katarakt β€” a simple PDF viewer with three layouts. that's it. that's the whole thing. she views PDFs. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

katarakt ([OPTIONS] FILE|(-u URL))*

✨ DESCRIPTION ✨

It's a PDF viewer. It views PDFs. iconic behavior honestly πŸ’–

There are currently three layouts. The single layout is very simple and only supports scrolling on a per page basis. As the name suggests the current page is displayed in the center and zoomed to fit the window. It is active by default. no cap, it's the default one.

The grid layout is much more advanced and offers continuous (smooth, per pixel) scrolling, zooming and adjusting the column count. Pages keep their correct relative size and are shown in a grid. she's giving main character energy fr fr πŸŽ€

The presenter layout is for giving a presentation. It opens a second window, to be viewed on the projector, and shows the current and next slide in the main window.

For every file passed on the command line a separate process is spawned. 🫢


🌸 OPTIONS 🌸

  • -u, --url β€” Instead of opening a local document, download it from the given URL.
  • -p, --page NUM β€” Start on page NUM.
  • -f, --fullscreen β€” Start in fullscreen mode.
  • -q, --quit true|false β€” If true, quit on initialization failure. If false, show the window even if an error occured. Overrides the config option quit_on_init_fail.
  • -s, --single-instance true|false β€” If true, prevents opening the same document twice and focuses the existing instance. Overrides the config option single_instance_per_file.
  • --write-default-config FILE β€” Write the built-in default configuration to FILE and exit. Hint: on unix systems, you can use --write-defaults /dev/stdout to print the defaults.
  • -v, --version β€” Print version information and exit.
  • -h, --help β€” Print help and exit.

🧚 CONFIGURATION 🧚

Variables and key bindings can be changed by modifying the katarakt.ini file. By default it is read from $XDG_CONFIG_HOME.

Variables must be listed under the section "[Settings]", keys under section "[Keys]". Settings that are not present in the config file use the built-in default. For a list of all variables with a short explanation see below. πŸ‘‘


πŸ’œ KEY BINDINGS πŸ’œ

  • q β€” Quit katarakt. bye bestie 😭
  • 1 β€” Switch to single layout. Views a single page at a time, scaled to fit the screen.
  • 2 β€” Switch to grid layout. Views pages in a continuous fashion, scaled to fit the window width. Supports zooming and multiple columns.
  • 3 β€” Switch to presenter layout. Views the current page and a smaller preview of the next page. Also, opens a second window that shows only the current page for displaying on a projector.
  • Up, Down, Left, Right, k, j, h, l β€” Move around (up/down/left/right).
  • ^u, ^d β€” Scroll up/down half the screen.
  • BackSpace, Space, ^b, ^f β€” Scroll up/down the screen. By default scrolls 90% to create an overlapping region.
  • PgUp, PgDown β€” Scroll up/down one page. Kind of swaps the pages in place.
  • Home, End, g, G β€” Go to the first/last page.
  • ^g β€” Show goto page bar.
  • / β€” Show the search bar. Hitting Esc will hide the results, searching for an empty string will clear them. If the search term contains an uppercase letter the search is case sensitive ("smartcase"). If you search for the same term twice the next hit starting from the current view is selected.
  • ? β€” Show the search bar. This next search will be backwards.
  • n, N β€” Focus next/previous search hit. This does not take the current view into account. For finding the next hit around the current view search for the same term again.
  • ^n, ^N β€” Focus next/previous search hit that is currently not visible.
  • ^o, ^i, Alt-Left, Alt-Right β€” Move backward/forward through the jump list. Entries are added automatically when jumping.
  • m β€” Manually add the current page to the jump list.
  • -, +, = β€” Adjust zoom level (grid layout only).
  • z β€” Reset zoom level to default, i.e. fit width (grid layout only).
  • [, ] β€” Adjust column count (grid layout only).
  • {, } β€” Adjust the column the first page will be displayed in. Useful for reading in a book layout with a cover page (grid layout only).
  • ,, . β€” Rotate pages left/right.
  • t β€” Toggle the page number display in the bottom right corner.
  • i β€” Toggle between normal and inverted color rendering.
  • ^c β€” Copy the current selection to the global clipboard.
  • v β€” Swap the mouse buttons for selection and panning. The the left mouse button's current operation is indicated by the mouse cursor.
  • f β€” Toggle fullscreen.
  • r β€” Reload the document. This can also be achieved by sending SIGUSR1 to the process. katarakt reloads automatically if the opened file has changed.
  • o β€” Open a different document; shows a file dialog.
  • s β€” Show a file dialog to save the current document.
  • F9 β€” Toggle the table of contents.
  • x β€” Toggle freezing the slide currently displayed in the projector window. When frozen, scrolling only affects the main window.

πŸŽ€ VARIABLES πŸŽ€

  • string default_layout β€” single: The layout on startup. Possible values: single, grid, presenter.
  • string background_color β€” 0xDF202020: Background color in ARGB Format. Alpha only works when using a compositor.
  • string background_color_fullscreen β€” 0xFF000000: Fullscreen background color in ARGB Format.
  • string unrendered_page_color β€” 0x40FFFFFF: Color that gets drawn instead of a page that hasn't been rendered yet. If colors are inverted, this gets inverted as well.
  • int click_link_button β€” 1: The mouse button used for clicking links. Buttons 1-5 are supported.
  • int drag_view_button β€” 2: The mouse button used for scrolling the view. Double-clicking this button centers the view around the location of the click. This is especially useful when using many columns to get an overview. Resets the column count to 1.
  • int select_text_button β€” 1: The mouse button used for text selection. Double- and triple-clicking are supported to select with word/line granularity.
  • int hide_mouse_timeout β€” 2000: The delay in milliseconds after which the mouse cursor is hidden. Set to 0 to disable.
  • int smooth_scroll_delta β€” 30: Pixel offset when moving around.
  • float screen_scroll_factor β€” 0.9: Factor for scrolling the screen. Should be <= 1 to create an overlapping region.
  • float jump_padding β€” 0.2: Distance from the border of the screen to keep for jump targets, e.g. search hits. Moves the view so that search hits are centered more.
  • int rect_margin β€” 2: Number of pixels search rects are expanded by.
  • int useless_gap β€” 2: Gap between two pages in grid layout in pixels.
  • int min_zoom β€” -14: Smallest zoom value.
  • int max_zoom β€” 30: Biggest zoom value.
  • float zoom_factor β€” 0.05: Influences the number of steps between min and max.
  • int min_page_width β€” 50: Pages can not be smaller than this.
  • bool quit_on_init_fail β€” false: If true, quit katarakt if the document fails to open.
  • bool single_instance_per_file β€” false: If set and katarakt is called with a file that is already shown in another katarakt instance, then the other katarakt window is activated instead.
  • string stylesheet β€” See http://doc.qt.io/qt-4.8/stylesheet.html. It can be overridden via Qt's -stylesheet command line option. The following example changes the goto page bar:
stylesheet="
GotoLine {
        margin: 0px;
        padding: 4px;
        border-top-right-radius: 6px;
        border-top: 1px solid black;
        border-right: 1px solid black;
}"
  • string page_overlay_text β€” Page %1/%2: The text in the bottom right corner.
  • string icon_theme β€” The name of your icon theme. Fill in if auto detection fails.
  • int prefetch_count β€” 4: Number of pages exceeding the currently visible ones to render, back- and forwards respectively.
  • float inverted_color_contrast β€” 0.5: the contrast when using inverted colors to avoid too much brightness.
  • float inverted_color_brightening β€” 0.15: amount of brightening when using inverted colors to shift black to gray.
  • int mouse_wheel_factor β€” 120: QT delta for turning the mouse wheel 1 click. Shouldn't need to be touched.
  • bool thumbnail_filter β€” true: Enables the higher quality downsampling filter for thumbnails.
  • int thumbnail_size β€” 32: One dimension of square thumbnails saved at run-time for every page that was once rendered.

🌈 COMMUNITY 🌈

Feel free to join the IRC channel #katarakt on freenode. come hang out bestie 🫢


πŸ‘‘ AUTHOR πŸ‘‘

katarakt is written by Philipp Erhardt.


⭐ RESOURCES ⭐

GitLab: https://gitlab.cs.fau.de/Qui_Sum/katarakt


okay that's the whole thing, no notes πŸ’– this was the Katarakt Manual, page for KATARAKT(1), brought to you by Katarakt β€” version/date stamp 02/12/2026, and yeah, KATARAKT(1) again at the bottom because symmetry slays. bye bestie, go read a PDF πŸ“„βœ¨

πŸ“¦ where this page comes from