feat!(terminal): unify terminal window behavior and centralize sizing config (#102)

- add terminal.window.type support (hsplit, vsplit, floating, tab)
- add terminal.window.split_size for split-based layouts
- rename floating size options to terminal.window.floating_width/floating_height
- validate terminal window ratios during setup
- make terminal.run/run_floating merge default keymaps internally
- remove cmd.split width/height sizing in favor of terminal.window config
- improve floating/log buffer state handling and refresh behavior
- update README examples and configuration docs

BREAKING CHANGE: terminal sizing/config moved to terminal.window.*.
Removed cmd.split.width/cmd.split.height.
Renamed terminal.window.width/height to terminal.window.floating_width/floating_height
This commit is contained in:
Jonas Elhs
2026-04-07 10:31:12 +02:00
committed by GitHub
parent 578c5f15df
commit 46141a282e
8 changed files with 132 additions and 67 deletions
+2 -2
View File
@@ -116,13 +116,13 @@ diff.register_backend("native", {
local terminal = require("jj.ui.terminal")
local cmd = string.format("jj show -r %s --quiet --no-pager", opts.rev)
terminal.run_floating(cmd, require("jj.cmd").floating_keymaps())
terminal.run_floating(cmd)
end,
diff_revisions = function(opts)
local terminal = require("jj.ui.terminal")
local cmd = string.format("jj diff -f %s -t %s --quiet --no-pager", opts.left, opts.right)
terminal.run_floating(cmd, require("jj.cmd").floating_keymaps())
terminal.run_floating(cmd)
end,
diff_history_revisions = function(_)
utils.notify(