-
v1.7.8: Repeated video seek stability and input-queue recovery.
- Video Playback: Keep repeated left/right seek actions moving from the latest seek target during playback so long key holds no longer jump back to an earlier position.
- Input Handling: Drain queued repeated seek keys one step at a time and preserve unconsumed input when a later seek fails, so follow-up keyboard and mouse actions stay responsive.
- Code Health: Simplify single-view video seek dispatch by relying on the shared seek guard path and clarify the fallback position assumptions used while playback timing is rebuilding.
- Testing: Add regression coverage for fallback playback position recovery, repeated seek accumulation, seek-failure queue preservation, and related input-dispatch test state resets.
-
v1.7.7: Video arrow-key seeking and seek-preview stability.
- Video Playback: Add left/right arrow-key seeking in single-video view so you can jump backward or forward without leaving playback.
- Seek Preview: Refresh the paused frame immediately after a seek and bound preview decoding retries so scrubbing feedback stays visible without runaway work.
- Stability: Tighten seek resume, navigation, and state-sync handling to avoid inconsistent playback state after repeated seek actions.
- Testing: Add focused regression coverage for key dispatch, seek target clamping, paused-preview rendering, retry limits, and error paths in the video seek pipeline.
-
v1.7.6: Media switching stability and single-view cleanup.
- Media Playback: Stop inactive GIF and video players when switching between videos, animated images, and static images so single-view playback no longer flickers between media types.
- Single Image View: Clamp missing file-size metadata in the info panel so unreadable files show
0.0 MBinstead of-0.0 MB. - Code Health: Centralize shared single-view async-render helpers and add a smaller render test seam so runtime and regression code stay aligned.
- Testing: Expand media-session and single-view render coverage for null-player cases, invalid media kinds, cross-media switches, and file-size display edge cases.
-
v1.7.5: Video playback pipeline and interaction responsiveness.
- Video Playback: Split video playback into a decode stage plus parallel render workers so high-resolution sixel output keeps moving under load.
- Responsiveness: Prioritize pending input before redraw work and limit animation event draining to one main-context iteration at a time so keyboard and mouse actions stay responsive.
- Stability: Refresh worker render layouts when the terminal geometry changes, resync timing after rewind, and harden queue backpressure handling to avoid stalled render workers.
- Testing: Add focused regression coverage for video queue blocking, animation scheduling, and debug logging filters around the new playback pipeline.
-
v1.7.4: Release automation and protocol-safe preview rendering.
- Releases: Add automated release-note generation with a GitHub Actions workflow, a dedicated release-notes script, and regression coverage for tag and PR aggregation.
- Previews: Keep image and book preview cells centered correctly for kitty, sixel, and iTerm2 graphics protocols by drawing graphics payloads as single blocks.
- Caching: Preserve rendered dimensions and graphics-mode metadata in the preloader cache so preloaded previews align the same way as freshly rendered ones.
- Stability: Reset cached preview metadata on cache misses and restore terminal attributes after graphics preview output to avoid stale terminal state.
-
v1.7.3: Documentation redesign, protocol notes, and refactor hardening.
- Docs: Redesign the English and Chinese README files for end users, add a Japanese README, and move terminal-specific guidance into a dedicated protocol support reference.
- Compatibility: Add
docs/guides/TERMINAL_PROTOCOL_SUPPORT.mdto document current terminal/protocol notes and manual override guidance without maintaining a ranked terminal list. - Testing: Add focused regression coverage for pending preview clicks, delete dispatch flows, last-image transitions back to file manager, and preloader cached-image ownership.
- Refactor Hardening: Follow up on the input/preview refactor with safer cached-render ownership handling and stale pending-click cleanup across mode changes.
- Repo Hygiene: Ignore local
.worktrees/directories to keep isolated workspaces out of repository status.
-
v1.7.2: Preview grid navigation stability fix.
- Preview: Stabilize grid placement when navigating forward/backward near the end of long lists.
- Scrolling: Clamp preview scroll range to full-page bounds (
rows - visible_rows) to prevent partial-page jumpiness.
-
v1.7.1: Build runner correction and CLI help text refresh.
- CI: Build
amd64macOS artifacts on Intel runner (macos-15-intel) while keepingarm64onmacos-latest. - CLI: Update help description and
PATHargument text to explicitly cover image/video/book files and directory browsing.
- CI: Build
-
v1.7.0: Full modular refactor, mode-transition hardening, and release engineering updates.
- Architecture: Split the former monolithic
app.candinput_dispatch.cinto focused modules (app_core, file-manager/render split, preview/book-preview split, book TOC/page render split, and mode-routed input handlers). - State Model: Introduce
app_state.h, group click tracking underClickTracker, and split app API declarations into module headers while keepingapp.has a compatibility umbrella. - Mode Safety: Centralize mode switching with
app_transition_mode()tests, add transition-path regression coverage, and normalize mode-guard errors toERROR_INVALID_ARGS. - Performance: Remove remaining list random-access hotspots from critical paths and use cached pointer/index hints in preview, file manager, and browser navigation.
- Quality Gates: Harden CI/build checks (
cppcheckgate +-Werrortest flow) and refresh architecture/refactor documentation in English.
- Architecture: Split the former monolithic
-
v1.6.12: Config files and CLI flag alignment.
- Config: Load
$XDG_CONFIG_HOME/pixelterm/config.ini(or--configpath) and support terminal-specific override sections keyed byTERM_PROGRAM,LC_TERMINAL,TERMINAL_NAME, orTERM, with[default]as the baseline. - CLI: Align boolean flags with config keys (
--preload true|false,--alt-screen true|false) and drop the--no-*variants. - Gamma: Remove kitty-specific default gamma; default is now 1.0 unless configured.
- Docs: Add
config.example.iniand refresh usage/completion docs to match the new config and flag behavior. - Protocols: Prefer kitty output on Konsole in auto mode to avoid sixel ghosting artifacts.
- Config: Load
-
v1.6.11: Tooling, tests, and stability polish.
- Stability: Harden null checks and error handling across input, GIF/video playback, and book rendering paths.
- Testing: Add UTF-8 text utility coverage and include the new tests in the test target.
- Tooling: Add
.clang-format, a Doxygen configuration, and a CONTRIBUTING guide; expand media/text utility API docs. - CI: Add a cppcheck static analysis workflow.
-
v1.6.10: Internal refactor and modularization.
- App State: Split
PixelTermAppintoPreviewState,FileManagerState,BookState,InputState,AsyncState. - Input: Move input handling into
input_dispatchto slim downmain.c. - Rendering: Share preview/book grid cell rendering via
grid_render. - Performance: Centralize preloader lifecycle control in
preload_control. - Maintenance: Extract media/text utilities into
media_utilsandtext_utils.
- App State: Split
-
v1.6.9: Single image footer stability.
- Rendering: Keep filename/footer lines intact during image switches to eliminate bottom UI flicker.
- Rendering: Clear footer/filename rows right before repainting to avoid leftover text artifacts.
-
v1.6.8: Mode and CLI refactor cleanup.
- App State: Replace per-mode booleans with
AppModehelpers for consistent routing. - CLI: Move argument parsing and protocol resolution into
app_cliwithAppConfig. - Rendering: Deduplicate preview/book grid renderer setup and draw helpers.
- Maintenance: Ignore external tool directories and refresh development docs.
- App State: Replace per-mode booleans with
-
v1.6.7: Image switching responsiveness and book UI refinements.
- Rendering: Add async image switching with placeholder and clear kitty placements to reduce ghosting.
- Books: Show book titles without file extensions in reader/preview headers.
- Books: TOC column width uses the full outline; add
TTOC hint in reader/preview.
-
v1.6.6: Terminal protocol detection and render stability.
- Rendering: Reduce page-turn flicker with synchronized output and local clear handling.
- Protocols: Centralize terminal protocol hints and extend env-based detection across more terminals.
- Protocols: Prefer kitty on WezTerm in auto mode.
-
v1.6.5: Book TOC UI and navigation polish.
- Books: Add Table of Contents panel with file-manager-style layout and mouse support.
- Books: Center selection within the TOC viewport and align page numbers.
- Books: Sync TOC selection to current page and support wrapping navigation.
- Stability: Harden TOC parsing against invalid outline links.
-
v1.6.4: Code cleanup and optimization.
- Maintenance: Remove unused
ImageInfoandMediaDimensionsstructures. - Maintenance: Remove unused
browser_get_file_info()function. - Optimization: Fix static constant arrays in header to avoid duplicate copies in each translation unit.
- Maintenance: Remove unused
-
v1.6.0: Book reader, preview grid, and input refinements.
- Books: Add PDF/EPUB/CBZ support via MuPDF with book preview grid and reader mode.
- Books: Page jump input (
P) with inline prompt and fixed-width entry. - Books: Double-page layout based on terminal aspect ratio.
- Input: Coalesce scroll events and apply a 200ms ignore window to reduce bursty wheel input.
- Images: Mouse-wheel zoom in single image view (cursor over image, videos/animated excluded).
- Video: Restore scaling controls and render flow to avoid artifacts.
- Docs: Split Usage and Controls into dedicated files.
-
v1.5.12: Test coverage and cleanup pass.
- Tests: Add coverage for video/media helpers, animated-image detection, and GIF player edge cases.
- Tests: Fix test target linking to include
video_player. - Maintenance: Remove unused browser refresh API and
show_infostate, plus minor dead code cleanup. - Core: Reduce duplicate main-loop animation draining logic.
- Docs: Normalize GIF player comments to English.
-
v1.5.11: Linux-only kitty gamma default.
- Gamma: Apply the kitty default gamma (0.5) only on Linux to avoid over-bright images on other platforms.
-
v1.5.10: Video protocol switch cleanup.
- Video: Clear the render area when switching from text to graphics protocols to prevent stale blocks.
-
v1.5.9: Kitty protocol robustness and delete prompt polish.
- Input: Ignore kitty APC image responses (
ESC _ ... ESC \) to prevent stray input and playback stalls in iTerm2. - Video: Debounce
Pprotocol cycling to avoid accidental rapid toggles. - Rendering: Supplement terminfo fallback when forcing kitty/iterm2/sixel, including on resize.
- Gamma: Default kitty gamma only on actual kitty terminals.
- UI: Center delete confirmation near the image area, clear it without full refresh, and return to file manager after the last deletion.
- Docs: Update README version badge.
- Input: Ignore kitty APC image responses (
-
v1.5.8: Gamma correction for terminal rendering.
- Rendering: Add
--gammato adjust image brightness across protocols. - Kitty: Default gamma to 0.5 when kitty protocol is used (1.0 elsewhere).
- Build: Link
libmto support gamma correction.
- Rendering: Add
-
v1.5.7: Video protocol toggle and stats layout.
- Video: Add
Pkey to cycle rendering protocol during video playback. - Video: Show protocol on the left and FPS on the right in the stats overlay (values only).
- Video: Add
-
v1.5.6: Video playback responsiveness and controls.
- Video: Reduce terminal IO with line-diff rendering and more aggressive late-frame dropping to keep pace.
- Video: Add FPS overlay toggle (F) with on-screen display in video view.
- Video: Add +/- scaling controls with vertical centering and guard against overscaling.
- Playback: Restart video on scale changes to avoid visual artifacts.
-
v1.5.5: Source archive cleanup.
- Release: Exclude screenshots from GitHub source archives via export-ignore.
-
v1.5.4: Code hygiene and input cleanup.
- Input: Remove unused APIs/enums and clarify input documentation.
- Core: Refactor main loop pending-click/animation handling into helpers.
- Maintenance: Drop unused renderer/preloader APIs and normalize comments.
-
v1.5.3: Video timing smoothing and resize safety.
- Video: Smooth PTS pacing to reduce jumpy playback while keeping sync.
- Resize: Pause video during terminal resize to avoid layout glitches.
- Build: Track header dependencies to prevent stale object ABI mismatches.
-
v1.5.2: Animated image detection for more formats.
- Animation: Detect animated WebP and APNG plus multi-page TIFF for playback.
- Formats: Recognize
.apngextension and scan PNG/WebP headers for animation chunks.
-
v1.5.0: Video playback, previews, and media UI polish.
- Video: Add FFmpeg-backed video playback with smoother frame scheduling and pause/resume controls.
- Preview Grid: Render video first-frame thumbnails instead of placeholder labels.
- UI: Truncate long filenames with middle ellipsis and keep extensions; cap display width for better centering.
- Input: Space/left-click toggle video playback; suppress info overlay on videos.
- Build: Deduplicate pkg-config linker flags to avoid duplicate library warnings.
-
v1.4.2: Runtime safety and terminal handling fixes.
- GIF: Guard renderer initialization failures and avoid double-free when an external renderer is injected.
- Input: Only enable/disable mouse tracking on TTY outputs to avoid control code leaks.
- Rendering: Always probe sixel support instead of short-circuiting on
TERM_PROGRAM.
-
v1.4.1: Preview grid double-click hit testing.
- Preview Grid: Ignore double-clicks on empty grid space to avoid unintended mode switches.
- Input: Expose hit flag from preview grid click handling for callers to detect valid clicks.
-
v1.4.0: Input refactor and preview paging polish.
- Input: Split per-mode event handling, add input event pushback/peek support, and remove main-loop pending event globals.
- Preview Grid: PageUp/PageDown now keep the selection's row position while paging.
- App State: Replace return_to_mode magic numbers with an enum and centralize render-by-mode routing.
- Timing: Hoist input/paging delays into constants for easier tuning.
-
v1.3.16: Reduce Zen toggle flicker in single image view.
- Single Image View: Skip full screen clear when toggling Zen to avoid flashing.
-
v1.3.15: Preview selection polish and layout alignment.
- Preview Grid: Update selection highlight by redrawing borders only (no image re-render).
- UI: Align preview and image view header/footer rows.
-
v1.3.14: Reduce preview grid flicker on selection change.
- Preview Grid: Redraw only the affected cells and filename when selection changes without scrolling.
-
v1.3.13: Fix GIF rendering in Single Image View.
- Single Image View: Prevent GIF frames from overwriting UI text by rendering within the image area.
- Rendering: Stabilize GIF frame placement and fix sixel frame output handling to avoid flicker/ghosting.
- UI: Keep the filename on the second-to-last line and move the index indicator to row 2.
-
v1.3.12: Sixel probing and CLI cleanup.
- Rendering: Probe for sixel support when
TERM_PROGRAMis missing and force sixel output when supported. - CLI: Remove
--termoption; help output no longer lists control keys. - Completions/Docs: Remove
--termfrom shell completions and READMEs.
- Rendering: Probe for sixel support when
-
v1.3.11: Adjust terminal override to avoid color regressions.
- CLI:
--termnow overridesTERM_PROGRAMinstead ofTERM. - Compatibility: Default
TERM_PROGRAM=riowhen unset, keepingTERMintact for color detection.
- CLI:
-
v1.3.10: Terminal override flag and safer defaults.
- CLI: Add
--term TERMto override terminal detection. - Rendering: Only default
TERM=riowhenTERM_PROGRAMis missing andTERMis empty orxterm-256color.
- CLI: Add
-
v1.3.9: Codebase cleanup and documentation alignment.
- Rendering: Clamp and normalize work factor using chafa's 0.0–1.0 scale.
- Code Cleanup: Remove unused renderer config fields and unused input/preloader APIs.
- Docs: Refresh architecture, development, status, and roadmap docs to match current behavior.
-
v1.3.8: Improve SSH terminal detection defaults.
- Rendering: When
TERM_PROGRAMis missing andTERMis empty orxterm-256color, defaultTERMtorioto preserve image clarity in SSH sessions.
- Rendering: When
-
v1.3.6: Rendering quality controls and sixel tuning.
- CLI: Add
--work-factor N(1-9, default: 9) to adjust quality vs speed. - Rendering: Align non-symbols pixel modes with TrueColor defaults, apply sixel noise dither, and set grain size to 1x1 for smoother color transitions.
- Docs/Completions: Document the new flag and update shell completions.
- CLI: Add
-
v1.3.5: Shell completion cleanup.
- Completions: Translate completion descriptions to English.
-
v1.3.4: Add shell completions and doc updates.
- Completions: Add Bash/Fish/Zsh completion scripts.
- Docs: Update development status notes and TAB cycling hints.
- Repo: Ignore
.iflowartifacts.
-
v1.3.3: Rendering efficiency and README refresh.
- Rendering: Avoid redundant redraws in preview and file manager.
- Docs: Refresh README screenshots, usage notes, and add changelog link.
-
v1.3.2: UI hints and clear workaround tweaks.
- UI: Improve clear workaround behavior and single-view TAB hinting.
-
v1.3.1: Fix preview selection on double-click; improve install portability.
- Preview Grid: Double-click switching between Single Image View and Grid Preview now preserves the selected image and avoids unintended yellow (virtual) selection state.
- Build/Install: Make
make installportable across GNU/BSDinstallby removing GNU-only-Dusage and supportingPREFIX/DESTDIR.
-
v1.3.0: UI/UX improvements, Zen mode, and compatibility options.
- Zen Mode: Add
~/`to hide/show all on-screen text in Image View and Grid Preview. - Single Image View: Add file-manager-style hints, show the current image index within the folder, and improve header layout.
- Grid Preview: Add
rto delete the selected image and reflow the grid; refine overlay layout and keep hints colorized and centered. - File Manager: Improve layout symmetry and default selection behavior when entering directories.
- Input: Debounce mouse wheel paging to reduce accidental multi-page jumps.
- CLI: Add
--no-alt-screenand--clear-workaroundfor improved terminal compatibility.
- Zen Mode: Add
-
v1.2.8: File manager mouse interaction and navigation improvements.
- Mouse Handling: Refactored file manager mouse handling with dedicated hit-test function for accurate position-to-entry mapping. Implemented deferred single-click handling (400ms delay) to distinguish between single and double-click actions.
- Navigation: Added parent directory (..) entry at the top of file manager list for easier upward navigation. Improved preview mode navigation with proper return_to_mode state tracking for virtual and actual selections.
- Rendering: Fixed screen clearing on zoom changes and terminal resize to eliminate visual artifacts. Added TAB key hint to preview grid help text.
- UX: Double-click now opens entries directly without intermediate selection jumps. Centralized viewport calculation logic for better maintainability and consistent scrolling behavior.
-
v1.2.6: Enhanced navigation and visual improvements.
- Navigation: Implement enhanced file manager and preview navigation logic with improved startup behavior (enter file manager by default for directories), yellow border preview mode for non-image selections, blue border preview mode for image selections, and fixed Tab key navigation between modes.
- UX: Add visual enhancement to highlight directories containing images in yellow for better visual distinction, while directories without images remain blue and images stay green.
- Performance: Optimize preview grid rendering by clearing screen only on page changes to remove afterimage without flicker, and fix preview grid scrolling refresh and selection positioning artifacts.
- Navigation Logic: Ensure proper image selection synchronization across modes and add functions for image detection and index mapping with improved return_to_mode logic for different navigation states.
-
v1.2.4: Optimize rendering for flicker-free mode transitions and scrolling.
- Rendering: Eliminated ghosting in File Manager by clearing lines (
\033[2K) before printing rows. Removed full screen clears (\033[2J) during in-mode navigation to prevent flickering. - Performance: Prevented redundant display refreshes in Single Image View and Preview Grid when the image selection does not change.
- UX: Added explicit full screen clears on entry to Grid Preview and File Manager modes to ensure a clean visual state when switching modes.
- Rendering: Eliminated ghosting in File Manager by clearing lines (
-
v1.2.3: Enhanced mouse interaction and navigation polish.
- Single Image View: Double-clicking switches to Grid Preview. Implemented a 400ms delay for the single-click "Next Image" action to prevent conflict, ensuring smooth transition to grid without skipping images.
- Preview Grid: Double-clicking opens the image directly. Implemented delayed selection logic to prevent the selection from jumping before opening.
- File Manager: Improved list centering to keep the selected item centered even when navigating to the end of the list.
-
v1.2.2: Improve File Manager list centering.
- UX: Allow scrolling past the bottom of the list to keep the selected item centered even when it is the last entry, ensuring consistent visual alignment.
-
v1.2.1: Add mouse scroll support for Preview Grid.
- Preview Grid: Enable mouse wheel to scroll/page through the image grid.
-
v1.2.0: Comprehensive mouse support for enhanced navigation and interaction.
- Single Image View: Left-click to next image, scroll wheel to navigate images.
- Preview Grid: Left-click to select, double-click to open image.
- File Manager: Left-click to select, double-click to open/enter, scroll wheel to navigate list.
- Technical: Enabled SGR mouse mode (1006) for precise coordinates and scroll support. Implemented double-click detection and scroll event debouncing (100ms) for smoother experience.
-
v1.1.17: Optimize navigation performance by avoiding unnecessary redraws. Added index change detection in image navigation functions (app_next_image, app_previous_image, app_goto_image) and in main input handling. The system now only triggers screen refreshes and preloader updates when the image index actually changes, eliminating unnecessary redraws when navigating to the same image (e.g., single-image directories or wrap-around scenarios). This improves responsiveness and reduces CPU usage.
-
v1.1.16: Preserve preview grid scroll position. Fixes a bug where the preview grid's scroll position was reset to the top when re-entering preview mode (from single image view via Enter, or from file manager via Tab). The
app->preview_scroll = 0;line was removed fromapp_enter_previewto ensure scroll context is maintained, improving user experience. -
v1.1.15: Align image preview order with file manager. This update ensures that image files displayed in the preview pane are sorted identically to how they appear in the file manager, using the custom AaBb… ordering. It also includes a critical fix for a segmentation fault that occurred when loading directories, caused by improper memory management during file list processing. Additionally, redundant code for
is_valid_image_filechecks has been removed for improved code clarity and minor performance gains. -
v1.1.14: Implement dithering control. Dithering is now disabled by default. Added
--ditherand-Dcommand-line arguments to enable it. Implemented 'D' key binding to toggle dithering on/off in single image and preview grid modes. Fixed a bug where dithering setting was not correctly propagated to the preloader's internal renderer, and ensured cache is cleared upon toggling to force re-render. Resolved instability of dithering toggling in preview grid mode by correctly re-initializing and restarting the preloader with the updated dithering setting when toggled. -
v1.1.13: Enhance TAB key navigation and refine help text. Implemented contextual TAB behavior for file manager entry/exit, allowing return to previous view (single image or preview grid) on TAB from FM, and making TAB invalid if FM was entered directly without a prior view mode. Fixed compilation errors in src/app.c (missing parentheses in printf statements). Refined help text for preview grid mode, changing 'Enter Toggle' to 'Enter Open', replacing 'q Back' with 'ESC Exit', and capitalizing action words for consistency.
-
v1.1.12: Fix mosaic artifacts in Konsole and other terminals by disabling dithering in the renderer configuration for image viewing, preview grid, and GIF playback.
-
v1.1.11: Fix file manager selection jumping on long press of arrow keys by robustly parsing terminal escape sequences, supporting both
^[[and^[Oprefixes, and preventing greedy consumption of next sequence headers. -
v1.1.9: Fix GIF ghosting artifacts during window resize by clearing the screen area after each frame. Resolve Chafa assertion failures by correctly initializing dither_mode and color_extractor in renderer configuration. Fix compilation error in preloader module.
-
v1.1.8: Add high-performance animated GIF support with correct frame timing and TrueColor rendering. Significantly improve image quality by enabling advanced Chafa features (work_factor=9, median color extraction, ordered dither, all optimizations) and removing ASCII symbol restrictions to allow full Unicode block character usage. Fix animation glitches when switching modes and ensure correct terminal resizing behavior during playback.
-
v1.1.7: Unify all comments to English for better maintainability and consistency, standardize comment format throughout the codebase, improve clarity of comments in file manager scrolling functions, and fix minor comment issues in other functions.
-
v1.1.6: Add invalid image file handling and display improvements, implement proper validation using magic numbers, show invalid files with [Invalid] label in file manager, only highlight filename (not [Invalid] label) when invalid files are selected, prevent opening invalid image files, add intelligent mode switching when opening invalid files, implement empty directory detection with centered (No items) message, and update browser scanning to filter out invalid image files.
-
v1.1.5: Fix 0KB image file handling by implementing proper validation using magic numbers instead of strict image loading, add white background red text display for selected invalid files, show centered "(No items)" message in empty directories, skip invalid files in preview grid, and implement intelligent mode switching when opening invalid files directly.
-
v1.1.4: Refactored code and documentation for improved performance and consistency. Restored ImageRenderer's internal caching due to its crucial role in performance, especially when preloading is disabled or during frequent dimension changes. Re-confirmed and removed various unused code including unnecessary <pthread.h> include, browser file filtering/sorting functions, input_is_key_pressed function, and unused mouse event fields. Synchronized docs/development/ARCHITECTURE.md and include/common.h with current codebase by removing outdated references.
-
v1.1.1: Improve file manager scrolling/rendering so the highlighted row stays centered even when the directory has fewer rows than the viewport or when wrapping back to the top.
-
v1.1.0: Fix Chinese filename centering in the browser by using UTF-8 display width instead of byte length and improve truncation to respect multibyte characters.
-
v1.0.20: Improve file manager scrolling/rendering so the highlighted row stays centered even when the directory has fewer rows than the viewport or when wrapping back to the top.
-
v1.0.19: Add support for image files without extensions by implementing magic number detection for JPEG, PNG, GIF, WebP, BMP, and TIFF formats, automatically detecting image files without file extensions by reading file headers while maintaining backward compatibility with extension-based detection.
-
v1.0.18: Add wrap-around navigation in file manager (up from top jumps to bottom, down from bottom jumps to top), fix preview zoom jumping issues by using floating-point precision and proper rounding, improve terminal geometry fallback and Konsole handling, clamp terminal cell aspect ratio to sane range, and prefer local chafa at runtime.
-
v1.0.16: File manager now sorts entries in AaBb order (uppercase before lowercase within each letter) and skips
$…system items, matchinglsordering while keeping directories grouped ahead of files. -
v1.0.15: Add support for image files without extensions by implementing magic number detection for JPEG, PNG, GIF, WebP, BMP, and TIFF formats, automatically detecting image files without file extensions by reading file headers while maintaining backward compatibility with extension-based detection.
-
v1.0.14: File manager header now truncates and centers long/UTF-8 paths correctly, and long file/folder names use smarter centering-friendly truncation.
-
v1.0.13: Preview grid UX polish (single render on entry, predictable zoom with min 2 columns, better paging/wrap), preloader now truly pauses/disables without burning CPU and fixes cache ownership, and CLI error messages are clearer for help/version/argument cases.