Simon Michael
349ffd7c0b
updateReportSpecFromOpts -> updateReportSpec[With]
2020-12-12 12:05:44 -08:00
Simon Michael
15dc638a07
ui: preserve forecast txns (& period) when reloading journal ( #1204 )
2020-12-12 11:53:24 -08:00
Simon Michael
6158d16443
;ui: refactor, simplify query
2020-12-12 11:52:15 -08:00
Simon Michael
481c40ca2f
;ui: refactor toggleForecast
2020-12-12 11:51:25 -08:00
Simon Michael
b6cb95b534
ui: make F key keep working, fixing breakage in 1.20 ( #1411 )
...
This seems to be fallout from #1340 's
2020-09-16 d0d39e615 lib,cli,ui,web: Introduce ReportSpec, which holds ReportOpts, the day of the report, and the parsed Query.
2020-12-11 09:38:15 -08:00
Simon Michael
9730b69a05
;ui: register: fix one-line amount formatting ( #1358 )
2020-11-18 17:20:05 -08:00
Simon Michael
cc2654b17b
;ui: notes ( #1387 )
2020-11-15 11:32:43 -08:00
Simon Michael
4aecb9182e
;ui: notes ( #1387 )
2020-11-15 11:20:40 -08:00
Simon Michael
9337a66fb5
ui: quick fix for date: and --change breakage ( #1387 )
2020-11-15 10:30:58 -08:00
Stephen Morgan
74ce7be556
lib,ui: Make sure ReportSpec is updated when updating ReportOpts.
2020-11-09 16:30:15 -08:00
Stephen Morgan
83a518af99
lib,cli,ui: In ReportOpts, store query terms term-by-term in a list in
...
querystring_.
This helps deal with tricky quoting issues, as we no longer have to make
sure everything is quoted properly before merging it into a string.
2020-11-04 08:47:30 -08:00
Stephen Morgan
0bebda7313
lib,cli,ui: Elide amounts to a width of 32 characters, rather than 22 characters.
2020-11-04 14:25:20 +11:00
Stephen Morgan
9de238757b
lib,cli,ui: Introduce showMixed*Unnormalised, eliminate most direct calls of strWidth.
...
This introduces some new helper functions which are exactly the same
as what we had before, but do not call
normaliseMixedAmountSquashPricesForDisplay, so that we can use the new
functions for displaying Transaction and Posting. It also goes through
and gets rid of most uses of the old showMixed* functions which would
benefit from using the new interface.
2020-11-04 14:25:20 +11:00
Stephen Morgan
162a936360
lib: BudgetReport uses new renderTable inteface, now has more compact output.
...
This changes showMixedAmountElided so that the width to elide to is
given as an argument, rather than fixed at 22 characters. This
actually uses the new renderTable interface. Mostly this is just an
internal change, but since we have more information about the widths
of things, we can actually get rid of some superfluous spaces in the
budget report output, previously there to make sure it stayed aligned
with the largest reasonable contents.
2020-11-04 14:25:20 +11:00
Stephen Morgan
57d7b223a2
lib: Write new showMixedAmount* functions which keep track of length.
...
Previously showMixedAmountElided would show two amounts and then the
elision string if necessary. Now it will display as many Amounts as it
can subject to the condition that the amounts plus the elision string
fit within 22 characters.
2020-11-04 14:25:20 +11:00
Stephen Morgan
260283e2f1
lib,cli,ui,web: Introduce ReportSpec, which holds ReportOpts, the day of
...
the report, and the parsed Query.
2020-10-23 14:14:11 -07:00
Stephen Morgan
ff0c5bc743
lib,ui: Store the original query string in ReportOpts, provide a function for regenerating ReportOpts.
2020-10-23 14:14:11 -07:00
Stephen Morgan
1171c23eee
lib,cli,ui: Ensure ReportOpts always has today_ set.
2020-10-23 14:14:11 -07:00
Stephen Morgan
fcbe511d42
ui,web: Adopt new ReportOptions interface, store literal query string in UIOpts.
2020-10-23 14:14:11 -07:00
Simon Michael
f2b9ac2af1
;ui: cleanup ( #1359 )
2020-09-29 17:02:09 -07:00
Simon Michael
9dad59b0cc
ui: E ignores file extension, should help positioning on windows
2020-09-29 16:57:14 -07:00
Simon Michael
1cd2995c77
ui: E supports positioning when EDITOR is code (VS Code) ( #1359 )
2020-09-29 16:54:28 -07:00
Simon Michael
66acb2c317
;ui: refactor editFileAtPositionCommand ( #1359 )
2020-09-29 16:53:28 -07:00
Stephen Morgan
07dd30c1e5
lib,cli,ui: Change to consistent naming scheme for Hledger.Utils.Regex.
2020-09-01 11:36:34 +10:00
Stephen Morgan
af31d6e140
lib,cli,ui: Remove redundant Typeable and Data instances.
...
Also add some explicit import lists.
2020-08-31 15:41:30 +10:00
Stephen Morgan
e5371d5a6a
lib,cli,ui,web: Make Regexp a wrapper for Regex.
2020-08-31 12:04:45 +10:00
Stephen Morgan
ba59fed6b2
lib: Replace more instances of fromIntegral with safer versions.
2020-08-30 22:20:58 +10:00
Stephen Morgan
f5a7c84065
ui: Bump version of vty, present in all supported stackage, to get rid of CPP.
2020-08-29 15:08:28 -07:00
Stephen Morgan
2fd678e415
lib,cli,ui: Remove old CPP directives made redundant by version bounds.
2020-08-29 15:08:28 -07:00
Simon Michael
3f55c23603
;review, tag all error calls with an easier to find PARTIAL: comment ( #1312 )
2020-08-05 16:08:33 -07:00
Simon Michael
5b5eab1afe
ui: update for new parseQuery ( #1312 )
2020-08-05 14:18:50 -07:00
Simon Michael
53759dccc1
ui: help tweaks
2020-07-19 06:12:29 -07:00
Simon Michael
58695f9c29
ui: help tweaks
2020-07-18 12:30:37 -07:00
Simon Michael
7868da2a48
ui: ESC now restores exactly to initial app state ( #1286 )
...
Also resetFilter (DEL/BS key) no longer changes tree/list mode.
2020-07-18 12:24:37 -07:00
Simon Michael
bac3028704
ui: q exits help; improve help layout ( #1286 )
2020-07-18 08:59:21 -07:00
Simon Michael
ae830a1ace
ui: restore vi keys by popular demand; t toggles tree mode ( #1286 )
2020-07-18 08:39:23 -07:00
Simon Michael
ef8a5140b3
;ui: escape key, forgot this
2020-07-17 15:51:58 -07:00
Simon Michael
bc62fcada4
ui: escape key also clears report period limits
2020-07-17 15:48:15 -07:00
Simon Michael
847fc23236
ui: use t/l keys for tree/list, T for "today", drop vi keys?! retune help ( #1286 )
2020-07-17 15:42:05 -07:00
Simon Michael
a3ae4d88f8
ui: use -t/-l short flags for --tree/--flat, like cli ( #1286 )
2020-07-17 15:36:07 -07:00
Stephen Morgan
51ea6d9f25
lib: Make queryDepth return Maybe Int.
2020-07-16 10:05:53 -07:00
Stephen Morgan
1425301a8c
lib, cli: Use --flat as the default mode for all reports.
2020-07-07 15:49:08 -07:00
Simon Michael
3b6a8b0956
ui: register: elide multicommodity amounts
2020-07-05 06:59:16 -07:00
Simon Michael
44c3eb1904
add a color argument to most amount show helpers, drop cshow variants
...
This is an API change, but it seems better than having additional
colour-supporting variants and trying to avoid duplicated code.
I stopped short of changing showAmount, so cshowAmount still exists.
2020-07-05 06:59:16 -07:00
Stephen Morgan
c811ea4c7b
lib, cli, ui, web: intopt and friends now make sure their arguments fit
...
inside bounds.
2020-07-03 12:35:51 -07:00
Simon Michael
3ade9750d3
;valuation: fix hledger-ui ( #1239 , #1253 )
2020-06-19 15:10:12 -07:00
Dmitry Astapov
460508807f
ui: fix regression in 'F' ( fixes #1255 )
2020-06-13 14:17:20 -07:00
Dmitry Astapov
b7413edf22
lib: --forecast=PERIODICEXPR. Fixes #835 , #1236
2020-06-03 15:53:00 -07:00
Simon Michael
660ba7e1d9
lib: clarify zero-checking function names
...
isZeroAmount -> amountLooksZero
isReallyZeroAmount -> amountIsZero
isZeroMixedAmount -> mixedAmountLooksZero
isReallyZeroMixedAmount -> mixedAmountIsZero
isReallyZeroMixedAmountCost dropped
2020-05-29 18:57:22 -07:00
Simon Michael
c1488db4f1
ui: fix a regression, empty register of depth-limited account ( fix #1208 )
2020-03-08 12:27:05 -07:00
Simon Michael
dac3920221
;ui: drop redundant exitSuccess
2020-02-22 11:06:58 -08:00
Simon Michael
3bee9a96c9
ui: simpler forecast toggle: just visibility, no reload ( #1193 )
2020-02-22 11:06:58 -08:00
Simon Michael
4eba930a5c
ui: don't force --auto/--forecast on; merge --future with --forecast ( #1193 )
...
Periodic transactions were always on, which meant that periodic
transactions occurring today were always shown, in future or present
mode.
Now, both periodic transactions and display of future transactions are
controlled by --forecast, and toggleable by the F key ("forecast
mode"). The --future flag has been dropped (it still works as a hidden
alias for --forecast, but is deprecated).
It seemed to also make sense to leave auto postings off by default,
like hledger.
2020-02-22 11:06:58 -08:00
Stephen Morgan
74778efcf5
Use nubSort instead of nub . sort.
2020-01-04 08:31:10 -08:00
Simon Michael
43159f4fea
;ui: E key: comment
...
[ci skip]
2019-12-15 11:07:26 -08:00
Simon Michael
44da1e1cb7
;ui: E key: simplify; drop buggy emacs end-of-file positioning
2019-12-15 11:03:05 -08:00
Simon Michael
67635106d2
fix help
2019-12-14 18:06:24 -08:00
Simon Michael
4cd2c35ad4
;ui: E key: support positioning with nano editor
2019-12-14 17:57:24 -08:00
Simon Michael
1bf271a8c4
;ui: clarify editorOpenPositionCommand
2019-12-14 17:54:29 -08:00
Simon Michael
a09513c3fb
;ui: refactor: consolidate EditorType definition and related code
2019-12-14 17:43:52 -08:00
Simon Michael
47567cd770
;fix some warnings with GHC 8.10 alpha
...
hledger is GHC 8.10 ready!
2019-12-14 17:30:19 -08:00
Simon Michael
5dac8af2ef
;ui: fix build error due to tests rewrite
2019-11-27 21:54:31 -08:00
Simon Michael
332624f9fa
ui: B and V keys toggle display of cost, value
2019-11-21 17:33:04 -08:00
Mykola Orliuk
5287fe671b
;all: hide RawOpts internals
...
This way we can ensure we always use only functions from RawOptions.
2019-11-18 17:38:39 -08:00
Mykola Orliuk
8991419c68
;all: drop dummy decodeRawOpts
2019-11-18 17:38:39 -08:00
Mykola Orliuk
ab9c150759
;lib: clean out showTransactionUnelided
...
Keep aliases until next major release.
2019-11-16 12:53:07 +01:00
Simon Michael
e83cbacbf6
;ui: help: pmi -> p/m/i
2019-10-19 18:47:39 -07:00
Mykola Orliuk
78146978f4
;lib: store raw opts unquoted
...
It looks like we only need quote when we build query and in some
messages.
Fixes simonmichael/hledger#1079
2019-10-19 14:44:08 -07:00
Caleb Maclennan
11d9e5eb6a
code: Strip extraneous trailing whitespace from Haskell sources
2019-07-15 16:40:49 +01:00
Simon Michael
692620180e
;lib: refactor: change AmountPrice to a Maybe
...
I've wanted to do this for a long time; now that prices are in flux,
seems a good time.
2019-06-13 15:50:01 -07:00
Simon Michael
faf85d91e3
cli: restore --aux-date and --effective as --date2 aliases ( #1034 )
...
These Ledger-ish spellings were dropped over the years, to improve
--help's layout. Now they work again, but are considered hidden flags
so --help doesn't show them automatically (but I decided to mention
them manually in --date2's description).
2019-06-02 08:48:41 -07:00
Simon Michael
b2e7cc7827
ui: support brick 0.47+ as well
...
I should have supported latest brick, to get into stackage nightly.
Now it does.
No upper bound, once again; responding lazily to brick API changes
seems less disruptive overall.
2019-03-20 17:38:44 -07:00
Jakub Zárybnický
6becbc78f3
cli, web, ui: Replace withJournalDo* variants
2019-03-01 05:42:30 -08:00
Simon Michael
3b47b58aec
lib: clarify transaction balancing & balance assertion checking
2019-02-20 09:14:30 -08:00
Jakob Schöttl
98d7c073c7
Reduce simple lambda
2019-02-09 12:47:24 -08:00
Simon Michael
98e3358046
ui: more defensive brick list imports to fix recent breakage
2019-02-02 08:22:23 -08:00
Simon Michael
fda41373f7
ui: fix build issues with older brick/snapshots, require brick 0.23+
2019-02-01 21:05:56 -08:00
Simon Michael
ad424e0381
ui: C-z suspend now restores the terminal cleanly
2019-01-23 17:26:27 -08:00
Simon Michael
cc0764eac2
ui: on posix, support ctrl-z to suspend the program
2019-01-18 16:33:06 -08:00
Simon Michael
c02647d05e
ui: support ctrl-l everywhere
2019-01-18 16:32:57 -08:00
Simon Michael
bb5d6c47c6
ui: probably more effective redraw when pressing Ctrl-l
...
Now uses vtyRefresh.
2019-01-18 16:32:52 -08:00
Simon Michael
c5ae8e6891
comments
2019-01-16 13:58:04 -08:00
Simon Michael
389eaa4c5d
ui: whitespace
2019-01-15 06:18:35 -08:00
Simon Michael
e6392b3d46
ui: streamline top status info
2019-01-05 18:42:03 +00:00
Simon Michael
a94e632524
ui: avoid brick reverse clash ( #935 )
2018-12-10 10:48:40 +00:00
Simon Michael
12d3ba6fc0
ui: refactor, try to clarify toggles' help
...
Consistent ordering with most-used toggles first, more intuitive wording
2018-11-04 13:54:20 -08:00
Mykola Orliuk
99bfebd1a1
ui: support all results of showGenericSourcePos
...
Resolves simonmichael/hledger#904
2018-10-26 16:32:16 -07:00
Simon Michael
d1a20553e3
ui: fix Any build error with GHC < 8.4
2018-10-24 12:20:52 -07:00
Simon Michael
119e1e3a49
ui: register: positive amounts: green -> black
...
The green/red scheme helped distinguish the changes column from the
black/red balance column, but the default green is hard to read on
the pale background in some terminals. Less is more. Also the changes
column is non-bold now.
2018-10-23 07:40:06 -07:00
Simon Michael
7ebf3a276b
ui: style tweaks; cyan/blue -> white/yellow
2018-10-23 07:15:11 -07:00
Simon Michael
3dd2bfd01d
ui: style tweaks, white instead of cyan
2018-10-23 06:47:30 -07:00
Simon Michael
42a4a4a7e4
ui: use "border" instead of borderAttr everywhere
...
Assume it won't change, it's clearer and more consistent.
2018-10-23 06:43:21 -07:00
Simon Michael
5bc82e9536
ui: themes cleanup, style tweaks
2018-10-23 06:33:21 -07:00
Simon Michael
f66bb8d5c0
ui: style help headings & keys; style cleanups
2018-10-23 06:07:35 -07:00
Simon Michael
16faa7dd9c
ui: capitalise cursor keys in quick help, like help dialog
2018-10-23 05:43:57 -07:00
Simon Michael
3ef8d9fc82
ui: color help dialog like the borders, make it pop
2018-10-23 05:43:42 -07:00
Simon Michael
f10f9b6a17
ui: ensure more consistent quiet style in horizontal borders ( #838 )
2018-10-23 05:41:42 -07:00
Simon Michael
cf9eb78ad2
ui: UIUtils export list, cleanup
2018-10-23 05:21:08 -07:00
Simon Michael
74611a7be1
ui: accounts: fix balances when there's only periodic txns
...
And clarify multiBalanceReport.
2018-10-18 14:43:00 -07:00
Simon Michael
89a0c7a308
ui: comment
2018-10-18 14:43:00 -07:00
Simon Michael
2edb1f2705
ui: always enable periodic transactions and transaction modifiers
...
Rule-based transactions and postings are always generated
(--forecast and --auto are always on).
Experimental.
2018-10-18 14:43:00 -07:00
Simon Michael
b85bbbb095
ui: drop the --status-toggles flag
2018-10-18 14:43:00 -07:00
Simon Michael
a924ad047e
ui: drop the --present flag
2018-10-18 14:43:00 -07:00
Simon Michael
2a44d7eb26
ui: reorganise help dialog, fit content into 80x25 again
2018-10-18 14:43:00 -07:00
Simon Michael
cf6f4ed28c
ui: escape key resets to flat mode
...
Flat mode is the default at startup. Probably it should reset to tree
mode if --tree was used at startup.
2018-10-18 14:43:00 -07:00
Simon Michael
1b42d34a78
ui: small help tweak
...
[ci skip]
2018-10-18 14:43:00 -07:00
Simon Michael
52ee10bd87
ui: reg: ensure T always has a visible effect
2018-10-18 14:43:00 -07:00
Simon Michael
1c3233cc0f
ui: replace odd-looking pattern
2018-10-18 14:43:00 -07:00
Simon Michael
1db9b018f1
ui: add --present/--future, hide future txns by default, toggle with F
...
You may have transactions dated later than today, perhaps piped from
print --forecast or recorded in the journal, which you don't want to
see except when forecasting.
By default, we now hide future transactions, showing "today's balance".
This can be toggled with the F key, which is easier than setting a
date query. --present and --future flags have been added to set the
initial mode.
(Experimental. Interactions with date queries have not been explored.)
2018-10-18 14:43:00 -07:00
Simon Michael
e52430bd62
ui: default theme: reduce highlighting noise in bottom border help
2018-10-18 14:43:00 -07:00
Simon Michael
89712fe81d
ui: make flat the default, toggle with T, add --tree/-T/-F flags
2018-10-18 14:43:00 -07:00
Alex Chen
3d2584d869
lib: switch to megaparsec 7
2018-09-30 20:15:12 -06:00
Simon Michael
0f83fb91c1
ui, web: fix build after tests cleanup
2018-09-03 08:43:57 -07:00
Simon Michael
cd67f8ea68
tests: clear out old boilerplate
2018-08-31 18:12:17 -07:00
Simon Michael
d778a92561
tests: export HUnit/EasyTest from Hledger.Utils.Test; more helpers
2018-08-18 15:19:59 +01:00
Simon Michael
ea52c3d620
ui: restore support for fsnotify 0.2.1.2, as well as 0.3.x ( #833 )
...
For easier stackage entry.
2018-07-03 12:50:51 +01:00
Simon Michael
a1c0835445
ui: fix a vty version bound typo & possibly build failures ( #494 )
...
CPP intended to use old code for vty < 5.15 was always using the new code.
2018-07-03 12:38:40 +01:00
Simon Michael
236101e31a
ui: support/require fsnotify 0.3.0.1+
...
The api has changed, it supports directory events, and might be more robust.
2018-06-05 06:41:13 -07:00
Simon Michael
061aad0431
remove some CPP that's obsolete since we require base 4.8+
2018-06-04 17:33:21 -07:00
Aerex
5808e289e6
feat(hledger-ui): added neovim as a supported editor
...
when neovim is set as EDITOR hleger will jump to the correct line number of the transaction; before
hledger will open journal at top of the file
2018-06-03 17:11:43 -07:00
Alex Chen
b245ec7b3d
lib: remove the megaparsec compatability module
2018-05-22 12:16:46 -07:00
Simon Michael
581d02162c
resolve all current build warnings with the supported GHC versions
...
If I'm lucky.
2018-05-17 20:43:55 -07:00
Dmitry Astapov
d82370d10b
lib, app, web: remove differences between command line and journal file aliases
2018-04-17 16:09:11 -07:00
Dmitry Astapov
f6ec26e321
lib, app, web, ui: rename readJournalFile[s]WithOpts to readJournalFile, same for tryReader[s]WithOpts
2018-04-17 15:25:02 -07:00
Dmitry Astapov
ecf49b1e4b
lib: auto postings generated before amount inference and balance checks ( #729 )
2018-04-17 14:33:32 -07:00
Simon Michael
178e3a234b
ui/web: -E toggles zeroes at startup, with opposite default to cli
2018-03-29 22:35:06 +01:00
Simon Michael
84579bb1b4
silence redundant import warnings with ghc 8.4
2018-03-24 22:51:56 +00:00
Simon Michael
0da68d2cb8
ui: fix some of the hlint warnings
2018-02-18 08:05:33 -08:00
Simon Michael
88ef586480
lib: rename, clarify purpose of balanceReportFromMultiBalanceReport
2018-01-23 11:32:24 -08:00
Simon Michael
448934d146
ui: fix manual viewing (on posix) ( fix #623 )
2017-12-30 12:59:31 -08:00
Simon Michael
f8e781462d
ui, web: use/support new -V, --forecast, --auto
2017-12-29 16:53:37 -08:00
Simon Michael
69e255cead
lib: deduplicate, refactor valuation code
2017-12-29 16:52:08 -08:00
Simon Michael
5de51c9bad
fix warnings/errors found by make stacktest
2017-09-30 13:00:22 -10:00
Simon Michael
e5f794d2cb
cli,ui,web: a @FILE argument reads flags & args from FILE, one per line
2017-09-30 06:49:31 -10:00
Simon Michael
fead7c5138
cli, ui, web: make -NUM a shortcut for --depth NUM
2017-09-22 16:14:30 -10:00
Simon Michael
e3c4a76119
add & use simpler readJournalFilesWithOpts/InputOpts api
2017-09-14 17:43:32 -07:00
Simon Michael
55cebad0d5
cli: refactor: move commands to a subdirectory, reinstate test command
2017-09-12 10:04:36 -07:00
Simon Michael
dc191ec76e
cli: refactor: new Commands module
...
Builtin commands are now gathered more tightly in a single module,
Hledger.Cli.Commands, reducing duplication and facilitating change.
The tests command was difficult and has been dropped for now.
The obsolete convert/info/man commands have been dropped.
cli: refactor: a proper commands list, better Main/Commands separation
The legacy "convert" command has been dropped.
The activity command's module is now named consistently.
2017-09-11 16:50:08 -07:00
Jakub Zárybnický
13a6584440
ui, web: Enable --pivot and --anon in ui and web ( #474 )
2017-09-04 20:45:31 -07:00
Hans-Peter Deifel
79e3a29083
Fix build of hledger-ui with megaparsec-6
2017-08-02 11:35:23 -07:00
Simon Michael
7e896572a7
make --help and -h the same, drop --man and --info for now ( #579 )
2017-07-07 02:08:34 +01:00
Simon Michael
190bab5c33
ui: help: tweak key order
2017-07-06 14:11:23 +01:00
Felix Yan
ffe8b47529
Update brick to 0.19
2017-06-30 22:45:34 +01:00
Simon Michael
50efcfe359
ui: accounts: reduce "warping", select alphabetically preceding account
...
..when selected account disappears, eg when toggling zero accounts.
2017-06-30 19:45:21 +01:00
Simon Michael
f666d5fc25
ui: register: reduce "warping", keep selection at nearest txn
...
When the transaction list changes, eg due to toggling a query filter,
and the previously selected item has disappeared, instead of moving
the selection to the end, we now select the nearest transaction by
date (and if several have the same date, by journal order).
2017-06-30 19:08:51 +01:00
Simon Michael
eab17c8edb
ui: transaction: don't show blanks
2017-06-30 19:07:48 +01:00
Simon Michael
8619942388
ui: toggles cleanup
2017-06-30 19:07:26 +01:00
Simon Michael
c642be7570
ui: fix right arrow key
2017-06-30 17:18:54 +01:00
Simon Michael
97964eb2fc
ui: consistently support vi & emacs movement keys
...
hjkl and CTRL-bfnp should now work wherever unmodified arrow keys work.
(You must still use arrow keys with SHIFT for adjusting report period).
2017-06-30 16:37:10 +01:00
Simon Michael
ef5e152fde
ui: better scrolling/positioning
...
In the accounts and register screens:, you can now scroll down further
so that the last item need not always be shown at the bottom of the screen.
Also we now try to center the selected item in the following situations:
- after moving to the end with Page down/End
- after toggling filters (status, real, historical..)
- on pressing the control-l key (should force a screen redraw, also)
- on entering the register screen from the accounts screen (there's a
known problem with this: it doesn't work the first time).
Items near the top of the list can't be centered, as we don't scroll
higher than the top of the list.
2017-06-30 15:54:30 +01:00