mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-09-10 07:36:27 -04:00
Original commit message of the gocui change:
This fixes View.Size, Width and Height to be the correct (outer) size of a view
including its frame, and InnerSize/InnerWidth/InnerHeight to be the usable
client area exluding the frame. Previously, Size was actually the InnerSize (and
a lot of client code used it as such, so these need to be changed to InnerSize).
InnerSize, on the other hand, was *one* less than Size (not two, as you would
have expected), and in many cases this was made up for at call sites by adding 1
(e.g. in calcRealScrollbarStartEnd, parseInput, and many other places in the
lazygit code).
There are still some weird things left that I didn't address here:
- a view's lower-right coordinates (x1/y1) are one less than you would expect.
For example, a view with a 2x2 client area like this:
╭──╮
│ab│
│cd│
╰──╯
in the top-left corner of the screen (x0 and y0 both zero) has x1/xy at 3, not
4 as would be more natural.
- a view without a frame has its coordinates extended by 1 on all sides; to
illustrate, the same 2x2 view as before but without a frame, sitting in the
top-left corder of the screen, has coordinates x0=-1, y0=-1, x1=2, y1=2. This
is highly confusing and unexpected.
I left these as they are because they would be even more of a breaking change,
and also because they don't have quite as much of an impact on general app code.
|
||
|---|---|---|
| .. | ||
| adrg/xdg | ||
| atotto/clipboard | ||
| aybabtme/humanlog | ||
| bahlo/generic-list-go | ||
| buger/jsonparser | ||
| cloudfoundry/jibber_jabber | ||
| creack/pty | ||
| davecgh/go-spew | ||
| emirpasic/gods | ||
| fatih/color | ||
| gdamore | ||
| go-errors/errors | ||
| go-git | ||
| go-logfmt/logfmt | ||
| gobwas/glob | ||
| gookit/color | ||
| iancoleman/orderedmap | ||
| imdario/mergo | ||
| integrii/flaggy | ||
| jbenet/go-context | ||
| jesseduffield | ||
| kardianos/osext | ||
| karimkhaleel/jsonschema | ||
| kevinburke/ssh_config | ||
| konsorten/go-windows-terminal-sequences | ||
| kr/logfmt | ||
| kyokomi/emoji/v2 | ||
| lucasb-eyer/go-colorful | ||
| mailru/easyjson | ||
| mattn | ||
| mgutz/str | ||
| mitchellh | ||
| petermattis/goid | ||
| pmezard/go-difflib | ||
| rivo/uniseg | ||
| sahilm/fuzzy | ||
| samber/lo | ||
| sanity-io/litter | ||
| sasha-s/go-deadlock | ||
| sergi/go-diff | ||
| sirupsen/logrus | ||
| spf13/afero | ||
| spkg/bom | ||
| stefanhaller/git-todo-parser | ||
| stretchr/testify | ||
| wk8/go-ordered-map/v2 | ||
| xanzy/ssh-agent | ||
| xo/terminfo | ||