github idursun/jjui v0.10.5

7 hours ago

This release adds several usability and customisation improvements, including dynamic theme switching, better list and input handling, new UI configuration options, and fixes for a few revision workflow issues.

New features

  • Added dynamic light/dark theme switching, with support for terminal theme change notifications and a polling fallback where those notifications are unavailable. #641
  • Added ui.mouse_support = false to completely disable jjui mouse handling. #663 #661
  • Added ui.set_window_title = false to disable jjui's custom terminal window title. #341
  • Lua/input customisation improvements:
    • input({ value = ... }) can now open with a pre-filled value. #660 #653
    • revisions.open_set_bookmark({ value = ... }) can now pre-fill bookmark names. #652

Improvements

  • Added ctrl+n / ctrl+p as up/down aliases in input-driven lists, so list navigation works without leaving the home row. #667 #666
  • Improved the details view styling so explanatory hints remain readable when a file row is selected.
  • Custom TOML actions can now define their binding inline with the action, instead of requiring a separate [[bindings]] entry.
    [[actions]]
    name = "new after"
    lua = '''
      jj("new", "-A", context.change_id(), "--no-edit")
      revisions.refresh()
    '''
    seq = ["\\", "n", "a"]
    scope = "revisions"

Fixes

  • Fixed Lua scripts that chain built-in actions so each step waits for the previous one to finish before continuing.
  • Added @ and f bindings in revert mode for jumping to the working copy and ace-jump navigation. #662
  • Fixed squash preview refresh when moving to the target revision. #658
  • Fixed split hints in details view so they follow checked files instead of the currently hovered unchecked file. #659
  • Fixed revision selection after rewrite operations so focus stays on the intended row.

What's Changed

  • refactor: inline theme styles into renderers by @idursun in #651
  • Dynamic light/dark switching by @zerowidth in #641
  • feat(bookmark): pre-fill bookmark name via open_set_bookmark value arg by @rdeaton in #652
  • feat(input): allow pre-filled value for input field by @baggiiiie in #660
  • feat(ui): config setting to completely disable mouse support by @shoce in #663
  • feat(ui): add ctrl-n/p list navigation aliases by @vvvu in #667

New Contributors

Full Changelog: v0.10.4...v0.10.5

Don't miss a new jjui release

NewReleases is sending notifications on new releases.