Configuration file location: ~/.config/fancy-cat/config.json
Each binding requires:
key
:u8
(single character) - The main key to trigger the actionmodifiers
: Array of strings - Optional modifier keys. Available modifiers:shift
alt
ctrl
super
hyper
meta
caps_lock
num_lock
{
"next": { "key": "n" }, // Next page
"prev": { "key": "p" }, // Previous page
"scroll_up": { "key": "k" }, // Move viewport up
"scroll_down": { "key": "j" }, // Move viewport down
"scroll_left": { "key": "h" }, // Move viewport left
"scroll_right": { "key": "l" }, // Move viewport right
"zoom_in": { "key": "i" }, // Increase zoom level
"zoom_out": { "key": "o" }, // Decrease zoom level
"colorize": { "key": "z" }, // Toggle color inversion
"quit": { "key": "c", "modifiers": ["ctrl"] } // Exit program
}
Controls automatic reloading when PDF file changes. Useful for live previewing:
enabled
:bool
- Toggle file change detectionlatency
:f16
- Time between file checks in seconds
Note
fancy-cat uses color inversion for better terminal viewing. By default, it runs in dark mode where white pixels are displayed as black (0x000000) and black pixels as white (0xffffff). You can customize these colors to match your terminal theme - set white to your terminal's background color and black to your desired text.
colorize
:bool
- Toggle color inversion for dark/light modewhite
:i32
- Hex color code for white pixels in colorized modeblack
:i32
- Hex color code for black pixels in colorized modesize
:f32
- PDF size relative to screen (0.0-1.0)zoom_step
:f32
- How much to zoom in/out per keystrokezoom_min
:f32
- Maximum zoom out levelscroll_step
:f32
- Pixels to move per scroll command
Configure the information bar at screen bottom:
enabled
:bool
- Show/hide the status barstyle
: Status bar appearancebg
: Array of 3u8
values [r, g, b] - Text color (0-255)fg
: Array of 3u8
values [r, g, b] - Status bar color (0-255)
Configure the LRU cache
enabled
:bool
- Allow/disallow cachinglru_size
:ìnteger
- Amount of recently visited pages that get cached