Commit Graph

49 Commits

Author SHA1 Message Date
June 39a4bdafb6 small cleanups (#129)
- don't parse color strings for defaults
- fix comment misstating type of vec
- impl size_hint and ExactSizeIterator for PopOnNext
2026-01-09 20:53:25 -05:00
Max 55e0c2b33f Implement debounce time for automatic reloading (#117) 2025-11-26 14:22:58 -06:00
itsjunetime 8f57cd02c3 - Added more lints to Cargo.toml (for fun I guess)
- Extended benchmarking system to check all protocols, not just kitty
- Updated deps
2025-11-26 12:25:56 -06:00
Max 74def1c0a8 Fix panic messages being printed in raw mode (#118) 2025-11-26 11:57:44 -06:00
June 7551c4dba3 Update deps and fmt (#110) 2025-11-06 18:50:19 -06:00
itsjunetime e61eb9b846 Fix r_to_l argument as well to just be a flag 2025-11-06 18:21:18 -06:00
tatounee 6b37976357 Made flags -f, --fullscreen not taking argument (#109)
Now, its presence alone is enough to activate the full-screen option.
2025-11-06 18:18:57 -06:00
June 440515a3db Actually query terminals and fix terminals if we fail initialization (#103) 2025-09-06 12:02:04 -05:00
Per Hurtig 8b03329bba Add ctrl+mousewheel zoom control for fill-screen mode (#94)
* Add ctrl+mousewheel zoom control for fill-screen mode

  Enables mouse-based zooming; Uses ctrl+scroll up/down to
  increase/decrease zoom level while in fill-screen mode, with proper
  mouse capture handling.

* removed unused include
2025-08-20 21:57:55 -05:00
itsjunetime e65472e571 Add --version flag 2025-08-15 09:43:52 -05:00
June b6bc76edbb New kitty image backend (#74)
* Initial attempt at supporting new backend for kitty images

* it's almost working !!

* it almost basically works

* yaaayyyy it works

* Use github kittage

* Uhhhh various improvements from kittage and psx-shm

* Remove logging

* incorporate recovering from deleted images

* Make it work correctly with ghostty image eviction too

* fall back to stdout if shms don't work

* Make help page work again

* zooming basically does what you'd expect now

* yay zooming woohoo

* clean up top and bottom rendering

* Only allow zooming in kitty

* Add debug logging and fix cursor placement after image display

* yaaaay zooming out once you're already zoomed in and respecting kitty's limits for how big of an image to display

* mmmm maybe it's finally ready to merge...

* Update deps

* Switch around list of items on changelog

* fmt

* Small fixes to avoid panic and allow zooming back in after zooming out
2025-08-06 09:34:55 -06:00
itsjunetime 035185a40f Improve errors returned from main 2025-08-01 21:28:46 -06:00
itsjunetime f0afd22ff5 Don't tint if colors are default 2025-06-05 17:20:09 -06:00
JanNeuendorf e16163efb8 Custom Colors (#70)
* First implementation of custom colors

* Remove use-statement

Co-authored-by: June <61218022+itsjunetime@users.noreply.github.com>

* Cleaned up help-text

Co-authored-by: June <61218022+itsjunetime@users.noreply.github.com>

* Removed superfluous features from csscolorparser

* Fix for clippy

* Clarify how to pass in custom colors

* Explicitly install clippy and rustfmt in CI

* Better error handling when colors can not be parsed

Co-authored-by: June <61218022+itsjunetime@users.noreply.github.com>

* More elegant type conversion

Co-authored-by: June <61218022+itsjunetime@users.noreply.github.com>

* Made clippy happy

---------

Co-authored-by: June <61218022+itsjunetime@users.noreply.github.com>
Co-authored-by: itsjunetime <junewelker@gmail.com>
2025-05-28 11:16:07 -06:00
itsjunetime d8ee0744b8 Fix issue with search results not being highlighted sometimes 2025-03-16 21:59:36 -06:00
itsjunetime 0c81e3cc3a Better parse window size if tciogetwinsz reports it incorrectly 2025-03-15 12:26:11 -06:00
itsjunetime fc10dc8ffe Dramatically improve search performance by pausing rendering every once-in-a-while 2025-03-06 16:26:56 -07:00
itsjunetime 6462c09030 fmt 2025-03-04 19:05:37 -07:00
itsjunetime 54cc2125af Update deps 2025-03-04 10:21:30 -07:00
itsjunetime 1eee193d44 Implement fullscreen functionality 2025-03-01 18:27:34 -07:00
itsjunetime 70f3401702 Update to edition 2024 2025-02-21 08:58:44 -07:00
itsjunetime 9d2a730e40 Implement inverting colors 2025-02-19 15:24:27 -07:00
June 524c069b83 Rewrite with mupdf as a backend (#50)
* Initial implementation of attempted mupdf rewrite

* Change back to no resizing and don't include alpha channel in conversion

* Remove some more dead code

* Make features more modular and call search more easily

* Switch to git dependency for my fixes

* Update deps

* Fix searching hehe

* Remove unnecessary CI steps?

* fontconfig in CI

* perftools in ci

* Final adjustments to conform to mupdf changes
2025-02-19 09:59:29 -07:00
itsjunetime 0129c498c2 Fix document reloading with delete-then-write editors and redo BottomMessage updating to work better 2024-12-01 13:19:18 -07:00
itsjunetime 65e1f1a205 Switch to mimalloc 2024-11-27 18:57:39 -07:00
June 9cf4a8e0d8 Misc Fixes (#36)
* - Update deps
- Explicitly run benches in CI, specifically only adobe_example pdf to make it quicker
- Render bottom message from Cow to avoid extra allocations
- Fix issue with hitting esc after jumping around pdf

* Install perftools to get criterion compiling

* Install libunwind-dev to get perftools installing

* Build with poppler 23.10 instead of .12 to maybe prevent segfault in CI

* Go back down to 23_7 poppler?

* Maybe more apt installs will get CI to work

* Build *with* boost?
2024-11-20 09:31:26 -07:00
itsjunetime 40d46f1e2d Make tdf run on stable with --no-default-features 2024-11-15 14:14:54 -07:00
itsjunetime 927a9cb587 Update ratatui deps 2024-11-13 10:16:05 -07:00
itsjunetime e51e9d3464 Add --r-to-l and --max-wide flags to cli args 2024-11-03 16:41:58 -07:00
itsjunetime 7c13054383 Fix a few more small clippy issues 2024-10-26 15:45:20 -06:00
itsjunetime d5284be123 Update deps and make it work with notify 7 2024-10-26 15:01:56 -06:00
itsjunetime ab7a3357a1 Small cleanups and dep updates 2024-09-05 21:26:01 -06:00
itsjunetime 4296c92d7d Recover from 'pdf is damaged' err and update deps 2024-08-15 18:15:50 -06:00
itsjunetime f893ecba4d - Add profiling with --profile-time
- Update ratatui_image to get improvements from parallelization and removing unnecessary hashing
- Add benchmarks for only converting pages (not rendering)
- Add option to define number of pages to prerender on converter
2024-06-05 00:20:18 -06:00
itsjunetime 8feea1127b - Run fmt
- Use built-in async benching
- Use custom Resize::None when making ratatui images to save some cycles
2024-06-04 16:50:51 -06:00
itsjunetime 5825849434 - Significantly improved time to render full document
- Added support for debugging with tokio-console through tracing feature
- Added extra benchmark for checking time to render first page
- Removed unwraps to just make background loops return and terminate if something goes wrong
- Modularize rendering somewhat
2024-06-04 15:46:25 -06:00
itsjunetime a86730b8da Very minor performance improvements 2024-06-04 01:12:40 -06:00
itsjunetime 7e2d0d3bea Add initial support for doing benchmarking and some starting info on how to build the benchmark stuff with poppler debug info 2024-06-03 22:16:05 -06:00
itsjunetime 017596a8b0 Add extra method to detect window size on terminals that don't handle ioctls correctly 2024-05-31 00:38:41 -06:00
itsjunetime 51b49b0111 Update deps and add hot reloading feature line to README 2024-05-28 15:33:18 -06:00
itsjunetime eaae21b6e3 Format and fix clippy unnecessary 'as' 2024-05-27 00:37:48 -06:00
itsjunetime 9e4ee1ca97 - Remove unused oxipng dep
- throw converter onto its own task
- switch to using multi-thread runtime
- use unbounded channels in a few more places to prevent deadlocks
2024-05-27 00:30:56 -06:00
itsjunetime aaa5b0b7ed Add formatter and format 2024-05-26 16:35:36 -06:00
itsjunetime 698cdf924a Make searching work much better and actually make the 'n' input skip to the next page with available results 2024-05-26 01:42:49 -06:00
itsjunetime 097c2918e5 Add search functionality 2024-05-19 23:15:42 -06:00
itsjunetime 85d805acb7 Make rendering performance slightly better, maybe 2024-05-17 12:06:37 -06:00
itsjunetime 6aaa9845c9 Add converter to prerender a subset of images while being more friendly towards memory usage 2024-05-17 11:33:52 -06:00
itsjunetime ad652f3fcd Store images as Vec<u8> png data before rendering to keep memory usage lower 2024-05-16 18:35:37 -06:00
itsjunetime f298468dc8 Initial commit since things seem pretty solid 2024-05-16 18:23:11 -06:00