Commit Graph

76 Commits

Author SHA1 Message Date
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
Max b7d1b78e98 Center pages vertically within the layout (#116) 2025-11-24 15:55:40 -06:00
Max 38b307d628 Make Page-Up and Page-Down behave like up and down (#115) 2025-11-24 13:14:55 -06:00
June cde86b4f2c implement gg & G keybinds and better help page (#112)
* implement gg & G keybinds and better help page

* Update changelog
2025-11-16 17:54:18 -06:00
June 5a492599da Fix weird cropping when zooming out too much with kitty (#111)
* Fix weird cropping when zooming out too much with kitty

* Add changelog entry
2025-11-06 20:02:31 -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
itsjunetime 690489016c fmt 2025-09-05 11:15:58 -05:00
itsjunetime bd5554db27 Update mupdf to use git dependency so it works on windows 2025-09-05 10:34:46 -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
Per Hurtig 7c2c6484a6 Fix macOS shared memory filename length limit (fixes issue #92) (#93)
* Fix macOS shared memory filename length limit

Shorten shared memory object names from "__tdf_kittage_{pid}_page_{rn}_{page_num}"
to "tdf_{pid}_{rn}_{page_num}" and change timestamp from nanoseconds to
milliseconds % 1M to stay under macOS's 31-character limit for shm names.

Fixes "File name too long (os error 63)" error when rendering PDFs on macOS.

On macOS, SHM_NAME_MAX: 30

* Fix macOS shared memory filename length limit

Shorten shared memory object names from "__tdf_kittage_{pid}_page_{rn}_{page_num}"
to "tdf_{pid}_{rn}_{page_num}" and change timestamp from nanoseconds to
milliseconds % 1M to stay under macOS's 31-character limit for shm names.

Fixes "File name too long (os error 63)" error when rendering PDFs on macOS.

SHM_NAME_MAX: 30
2025-08-18 10:15:19 -05:00
itsjunetime e65472e571 Add --version flag 2025-08-15 09:43:52 -05:00
itsjunetime 69fd8ec7e8 Add instructions for zooming and such to help page 2025-08-09 15:58:56 -06: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 5c7073b31e Update to crates.io mupdf 2025-04-28 12:44:22 -06:00
itsjunetime 69d5f96375 Update deps and do some code simplifications 2025-03-23 12:57:38 -06:00
itsjunetime 595f23de6f Fix some more issues preventing tests from finishing and causing excessive re-renders 2025-03-17 08:51:57 -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 ef8ace4f35 Use new mupdf search API 2025-03-06 10:30:05 -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 36279f5258 Remove now-unnecessary loop 2025-03-01 19:12:08 -07:00
itsjunetime 1eee193d44 Implement fullscreen functionality 2025-03-01 18:27:34 -07:00
itsjunetime d2be289e80 Implement help page and delay receiving area to hopefully improve first-page performance a bit 2025-03-01 18:04:33 -07:00
Mikołaj Pieczaba 7e4bee516b refactor: make fill_default use Vec::resize_with (#53) 2025-02-23 14:35:29 -07:00
itsjunetime aae1f9d37b Improve performance by better pre-allocating pixmap buffer 2025-02-21 20:56:25 -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 e123351079 Implement Ctrl+Z functionality to suspend for job control 2025-01-16 14:12:21 -07:00
itsjunetime 490b66b273 Update ratatui dependencies 2025-01-01 16:53: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 f6d339923b Update deps & remove build_most_optimized comment since benchmarks indicate it's false 2024-10-08 15:05:27 -06:00
itsjunetime ab7a3357a1 Small cleanups and dep updates 2024-09-05 21:26:01 -06:00