ie, when viewing a "current" period (the current day/week/month/quarter/year),
it will be moved to enclose the current date, if needed, whenever the system date changes.
Previously it would check the modification time and reload only if
it looked newer than the last reload. But this could get confused
somehow by fsnotify events, such that there were unloaded changes
on disk yet pressing g did nothing.
accounts and register screens can now switch between "historical"
(default) and "period" modes
title header wording is clearer
quick help footer now indicates historical/period and tree/flat modes,
saving space in the title
help screen is more explanatory
the enter key has been reserved for later and is no longer an alias
for right/l
hledger-ui now tries to show historical balances always, including
when (to limit transactions on the register screen) a report start date
is specified. This means that:
- the accounts screen balances are not disturbed by a start date
- the register screen is now a little better at showing the running
historical balance. It's still not very good at it; some filter
queries will cause it to fall back to showing the running total of
visible transactions. But it's no longer disturbed by Z (nonzero mode)
or a cur: query term.
-E/--empty is now the default for hledger-ui, so accounts with 0 balance
and transactions posting 0 change are shown by default. The E key
toggles this, entering "nonzero" mode which hides zero items.
There is a limitation/bug: disabling real mode in the transaction screen
won't show the non-real postings if it was entered from a real-mode
register screen.
You can now toggle showing only cleared items in the accounts and
register screens, with C (like the command-line flag).
The f key has been changed to F for consistency (we don't have this as a
command-line flag, though we could, though Ledger uses it for something
different).
Screen titles have been tweaked, eg switching the cyan and yellow.
Screen help has been squeezed to fit better in 80 columns.
On the accounts screen, the g key now reloads the journal if possible.
With large journals, there may be a noticeable delay before the screen updates.
If there's a problem reading the journal file(s), this has no effect.
Make these modules' names more like the heavily-used types they
define (CliOpts, UIOpts, WebOpts). This is consistent with
RawOptions and ReportOptions, and helps with code navigation.
As the comment says:
In hledger,
- reportopts{depth_} indicates --depth options
- reportopts{query_} is the query arguments as a string
- the report query is based on both of these.
For hledger-ui, currently, we move depth: arguments out of reportopts{query_}
and into reportopts{depth_}, so that depth and other kinds of filter query
can be displayed (and controlled) independently.
- clean up options a bit, enable -V/--value (affects the accounts screen)
- more informative top/bottom borders, including key help
- number keys adjust the depth limit (accounts screen)
- remove obsolete args parameter
--no-elide ensures that a regular, clear account hierarchy is displayed.
The downside is that when you are filtering on account, say
assets🏦checking, it's unclear what to show when the user drills
down on the "assets" and "bank" parent accounts, without causing confusion.
- register screen:
- smarter width-sensitive layout, with multi-commodity amounts on one line
- items are sorted in date order
- jumps to the latest item by default, with consistent scroll position
- more prerendering, might speed up movement/paging slightly
- themes! --theme to select, --help to list (current themes: default, terminal, greenterm)
- border tweaks - dropped side borders, added side padding
The register screen is now like the register view in hledger-web (and
other accounting systems), rather than hledger's register command.
This means:
- it shows transactions affecting a particular current account, rather
than postings matching a pattern.
- Each line represents a whole transaction.
- The account field shows the *other* account being transacted with.
When there is more than one, they are all listed, abbreviated and
marked with "(split)".
- The amount field shows the effect of the transaction on the current
account; positive for an inflow to this account, negative for an
outflow.
- The balance field should usually show the current account's historic
balance as of the transaction date, even when you change the report
start date. (Not working yet - currently it always shows the running
total).
- Transactions are listed most recent first, currently.