diff --git a/hledger-ui/hledger-ui.1 b/hledger-ui/hledger-ui.1 index 10bfd09e1..1de69e425 100644 --- a/hledger-ui/hledger-ui.1 +++ b/hledger-ui/hledger-ui.1 @@ -337,19 +337,37 @@ Additional screen-specific keys are described below. .SH SCREENS .SS Menu screen .PP -The top-most screen, currently with just one menu item and not shown by -default. -.SS Accounts screen +The top-most screen. +hledger-ui does not show this screen at startup, but you can press LEFT +to navigate to it. +From here you can navigate to three accounts screens: +.SS All accounts screen +.PP +This screen shows all accounts (unless filtered by a query), and their +current balances. +It is like the \f[C]hledger balance\f[R] command. +.SS Balance sheet accounts screen +.PP +This is the screen normally shown at startup. +It shows asset, liability and equity accounts, if these can be detected +(see account types). +It always shows historical end balances on some date (not balance +changes). +It is like the \f[C]hledger balancesheetequity\f[R] command. +.SS Income statement accounts screen +.PP +This screen shows revenue and expense accounts. +It always shows balance changes in some period (not end balances). +It is like the \f[C]hledger incomestatement\f[R] command. +.PP +All of these accounts screens work in much the same way: +.PP +They show accounts which have been posted to by transactions, as well as +accounts which have been declared with an account directive (except for +empty parent accounts). .PP -This is normally the first screen displayed. -It lists accounts and their balances, like hledger\[aq]s balance -command. -By default, it shows all accounts and their latest ending balances -(including the balances of subaccounts). -Accounts which have been declared with an account directive are also -listed, even if not yet used (except for empty parent accounts). If you specify a query on the command line, it shows just the matched -accounts and the balances from matched transactions. +accounts, and the balances from matched transactions. .PP Account names are shown as a flat list by default; press \f[C]t\f[R] to toggle tree mode. @@ -367,7 +385,7 @@ To remove the depth limit, set it higher than the maximum account depth, or press \f[C]ESCAPE\f[R]. .PP \f[C]H\f[R] toggles between showing historical balances or period -balances. +balances (on the \[dq]All accounts\[dq] screen). Historical balances (the default) are ending balances at the end of the report period, taking into account all transactions before that date (filtered by the filter query if any), including transactions before the @@ -392,8 +410,8 @@ all three, the filter is removed.) balances are shown (hledger-ui shows zero items by default, unlike command-line hledger). .PP -Press \f[C]RIGHT\f[R] to view an account\[aq]s transactions register. -Or, \f[C]LEFT\f[R] to see the menu screen. +Press \f[C]RIGHT\f[R] to view an account\[aq]s register screen, Or, +\f[C]LEFT\f[R] to see the menu screen. .SS Register screen .PP This screen shows the transactions affecting a particular account, like @@ -460,25 +478,6 @@ They will vary depending on which account register you came from The #N number preceding them is the transaction\[aq]s position within the complete unfiltered journal, which is a more stable id (at least until the next reload). -.SS Balance sheet accounts screen -.PP -This is like the accounts screen except: -.IP \[bu] 2 -it shows only asset, liability and equity accounts (see account types) -.IP \[bu] 2 -it always shows historical end balances on some date (not balance -changes). -.PP -It corresponds to the \f[C]hledger balancesheet\f[R] command. -.SS Income statement accounts screen -.PP -Like the accounts screen except: -.IP \[bu] 2 -it shows only revenue and expense accounts -.IP \[bu] 2 -it always shows balance changes in some period (not end balances). -.PP -It corresponds to the \f[C]hledger incomestatement\f[R] command. .SS Error screen .PP This screen will appear if there is a problem, such as a parse error, @@ -510,34 +509,31 @@ immediately without having to context switch. This leaves more mental bandwidth for your accounting. Of course you can still interact with hledger-ui when needed, eg to toggle cleared mode, or to explore the history. -.SS Watch mode limitations .PP -There are situations in which it won\[aq]t work, ie the display will not -update when you save a change (because the underlying \f[C]inotify\f[R] -library does not support it). -Here are some that we know of: -.IP \[bu] 2 -Certain editors: saving with \f[C]gedit\f[R], and perhaps any Gnome -application, won\[aq]t be detected (#1617). -Jetbrains IDEs, such as IDEA, also may not work (#911). -.IP \[bu] 2 -Certain unusual filesystems might not be supported. -(All the usual ones on unix, mac and windows are supported.) +Here are some current limitations to be aware of: .PP -In such cases, the workaround is to switch to the hledger-ui window and -press \f[C]g\f[R] each time you want it to reload. -(Actually, see #1617 for another workaround, and let us know if it works -for you.) +Changes might not be detected with certain editors, possibly including +Jetbrains IDEs, \f[C]gedit\f[R], other Gnome applications; or on certain +unusual filesystems. +(#1617, #911). +To work around, reload manually by pressing \f[C]g\f[R] in the +hledger-ui window. +(Or see #1617 for another workaround, and let us know if it works for +you.) .PP -If you leave \f[C]hledger-ui --watch\f[R] running for days, on certain -platforms (?), perhaps with many transactions in your journal (?), -perhaps with large numbers of other files present (?), you may see it -gradually using more and more memory and CPU over time, as seen in -\f[C]top\f[R] or Activity Monitor or Task Manager. +CPU and memory usage can sometimes gradually increase, if +\f[C]hledger-ui --watch\f[R] is left running for days. +(Possibly correlated with certain platforms, many transactions, and/or +large numbers of other files present). +To work around, \f[C]q\f[R]uit and restart it, or (where supported) +suspend (\f[C]CTRL-z\f[R]) and restart it (\f[C]fg\f[R]). +.SS Debug output .PP -A workaround is to \f[C]q\f[R]uit and restart it, or to suspend it -(\f[C]CTRL-z\f[R]) and restart it (\f[C]fg\f[R]) if your shell supports -that. +You can add \f[C]--debug[=N]\f[R] to the command line to log debug +output. +This will be logged to the file \f[C]hledger-ui.log\f[R] in the current +directory. +N ranges from 1 (least output, the default) to 9 (maximum output). .SH ENVIRONMENT .PP \f[B]COLUMNS\f[R] The screen width to use. diff --git a/hledger-ui/hledger-ui.info b/hledger-ui/hledger-ui.info index 05b004e8d..058710185 100644 --- a/hledger-ui/hledger-ui.info +++ b/hledger-ui/hledger-ui.info @@ -355,35 +355,61 @@ File: hledger-ui.info, Node: SCREENS, Next: TIPS, Prev: KEYS, Up: Top * Menu: * Menu screen:: -* Accounts screen:: -* Register screen:: -* Transaction screen:: +* All accounts screen:: * Balance sheet accounts screen:: * Income statement accounts screen:: +* Register screen:: +* Transaction screen:: * Error screen::  -File: hledger-ui.info, Node: Menu screen, Next: Accounts screen, Up: SCREENS +File: hledger-ui.info, Node: Menu screen, Next: All accounts screen, Up: SCREENS 4.1 Menu screen =============== -The top-most screen, currently with just one menu item and not shown by -default. +The top-most screen. hledger-ui does not show this screen at startup, +but you can press LEFT to navigate to it. From here you can navigate to +three accounts screens:  -File: hledger-ui.info, Node: Accounts screen, Next: Register screen, Prev: Menu screen, Up: SCREENS +File: hledger-ui.info, Node: All accounts screen, Next: Balance sheet accounts screen, Prev: Menu screen, Up: SCREENS -4.2 Accounts screen -=================== +4.2 All accounts screen +======================= -This is normally the first screen displayed. It lists accounts and -their balances, like hledger's balance command. By default, it shows -all accounts and their latest ending balances (including the balances of -subaccounts). Accounts which have been declared with an account -directive are also listed, even if not yet used (except for empty parent -accounts). If you specify a query on the command line, it shows just -the matched accounts and the balances from matched transactions. +This screen shows all accounts (unless filtered by a query), and their +current balances. It is like the 'hledger balance' command. + + +File: hledger-ui.info, Node: Balance sheet accounts screen, Next: Income statement accounts screen, Prev: All accounts screen, Up: SCREENS + +4.3 Balance sheet accounts screen +================================= + +This is the screen normally shown at startup. It shows asset, liability +and equity accounts, if these can be detected (see account types). It +always shows historical end balances on some date (not balance changes). +It is like the 'hledger balancesheetequity' command. + + +File: hledger-ui.info, Node: Income statement accounts screen, Next: Register screen, Prev: Balance sheet accounts screen, Up: SCREENS + +4.4 Income statement accounts screen +==================================== + +This screen shows revenue and expense accounts. It always shows balance +changes in some period (not end balances). It is like the 'hledger +incomestatement' command. + + All of these accounts screens work in much the same way: + + They show accounts which have been posted to by transactions, as well +as accounts which have been declared with an account directive (except +for empty parent accounts). + + If you specify a query on the command line, it shows just the matched +accounts, and the balances from matched transactions. Account names are shown as a flat list by default; press 't' to toggle tree mode. In list mode, account balances are exclusive of @@ -397,15 +423,16 @@ limit. Or use '-' to decrease and '+'/'=' to increase the depth limit. To remove the depth limit, set it higher than the maximum account depth, or press 'ESCAPE'. - 'H' toggles between showing historical balances or period balances. -Historical balances (the default) are ending balances at the end of the -report period, taking into account all transactions before that date -(filtered by the filter query if any), including transactions before the -start of the report period. In other words, historical balances are -what you would see on a bank statement for that account (unless -disturbed by a filter query). Period balances ignore transactions -before the report start date, so they show the change in balance during -the report period. They are more useful eg when viewing a time log. + 'H' toggles between showing historical balances or period balances +(on the "All accounts" screen). Historical balances (the default) are +ending balances at the end of the report period, taking into account all +transactions before that date (filtered by the filter query if any), +including transactions before the start of the report period. In other +words, historical balances are what you would see on a bank statement +for that account (unless disturbed by a filter query). Period balances +ignore transactions before the report start date, so they show the +change in balance during the report period. They are more useful eg +when viewing a time log. 'U' toggles filtering by unmarked status, including or excluding unmarked postings in the balances. Similarly, 'P' toggles pending @@ -420,13 +447,13 @@ is removed.) balances are shown (hledger-ui shows zero items by default, unlike command-line hledger). - Press 'RIGHT' to view an account's transactions register. Or, 'LEFT' -to see the menu screen. + Press 'RIGHT' to view an account's register screen, Or, 'LEFT' to see +the menu screen.  -File: hledger-ui.info, Node: Register screen, Next: Transaction screen, Prev: Accounts screen, Up: SCREENS +File: hledger-ui.info, Node: Register screen, Next: Transaction screen, Prev: Income statement accounts screen, Up: SCREENS -4.3 Register screen +4.5 Register screen =================== This screen shows the transactions affecting a particular account, like @@ -470,9 +497,9 @@ command-line hledger). Press 'RIGHT' to view the selected transaction in detail.  -File: hledger-ui.info, Node: Transaction screen, Next: Balance sheet accounts screen, Prev: Register screen, Up: SCREENS +File: hledger-ui.info, Node: Transaction screen, Next: Error screen, Prev: Register screen, Up: SCREENS -4.4 Transaction screen +4.6 Transaction screen ====================== This screen shows a single transaction, as a general journal entry, @@ -494,35 +521,7 @@ unfiltered journal, which is a more stable id (at least until the next reload).  -File: hledger-ui.info, Node: Balance sheet accounts screen, Next: Income statement accounts screen, Prev: Transaction screen, Up: SCREENS - -4.5 Balance sheet accounts screen -================================= - -This is like the accounts screen except: - - * it shows only asset, liability and equity accounts (see account - types) - * it always shows historical end balances on some date (not balance - changes). - - It corresponds to the 'hledger balancesheet' command. - - -File: hledger-ui.info, Node: Income statement accounts screen, Next: Error screen, Prev: Balance sheet accounts screen, Up: SCREENS - -4.6 Income statement accounts screen -==================================== - -Like the accounts screen except: - - * it shows only revenue and expense accounts - * it always shows balance changes in some period (not end balances). - - It corresponds to the 'hledger incomestatement' command. - - -File: hledger-ui.info, Node: Error screen, Prev: Income statement accounts screen, Up: SCREENS +File: hledger-ui.info, Node: Error screen, Prev: Transaction screen, Up: SCREENS 4.7 Error screen ================ @@ -541,10 +540,10 @@ File: hledger-ui.info, Node: TIPS, Next: ENVIRONMENT, Prev: SCREENS, Up: Top * Menu: * Watch mode:: -* Watch mode limitations:: +* Debug output::  -File: hledger-ui.info, Node: Watch mode, Next: Watch mode limitations, Up: TIPS +File: hledger-ui.info, Node: Watch mode, Next: Debug output, Up: TIPS 5.1 Watch mode ============== @@ -566,35 +565,29 @@ bandwidth for your accounting. Of course you can still interact with hledger-ui when needed, eg to toggle cleared mode, or to explore the history. - -File: hledger-ui.info, Node: Watch mode limitations, Prev: Watch mode, Up: TIPS + Here are some current limitations to be aware of: -5.2 Watch mode limitations -========================== - -There are situations in which it won't work, ie the display will not -update when you save a change (because the underlying 'inotify' library -does not support it). Here are some that we know of: - - * Certain editors: saving with 'gedit', and perhaps any Gnome - application, won't be detected (#1617). Jetbrains IDEs, such as - IDEA, also may not work (#911). - - * Certain unusual filesystems might not be supported. (All the usual - ones on unix, mac and windows are supported.) - - In such cases, the workaround is to switch to the hledger-ui window -and press 'g' each time you want it to reload. (Actually, see #1617 for + Changes might not be detected with certain editors, possibly +including Jetbrains IDEs, 'gedit', other Gnome applications; or on +certain unusual filesystems. (#1617, #911). To work around, reload +manually by pressing 'g' in the hledger-ui window. (Or see #1617 for another workaround, and let us know if it works for you.) - If you leave 'hledger-ui --watch' running for days, on certain -platforms (?), perhaps with many transactions in your journal (?), -perhaps with large numbers of other files present (?), you may see it -gradually using more and more memory and CPU over time, as seen in 'top' -or Activity Monitor or Task Manager. + CPU and memory usage can sometimes gradually increase, if 'hledger-ui +--watch' is left running for days. (Possibly correlated with certain +platforms, many transactions, and/or large numbers of other files +present). To work around, 'q'uit and restart it, or (where supported) +suspend ('CTRL-z') and restart it ('fg'). - A workaround is to 'q'uit and restart it, or to suspend it ('CTRL-z') -and restart it ('fg') if your shell supports that. + +File: hledger-ui.info, Node: Debug output, Prev: Watch mode, Up: TIPS + +5.2 Debug output +================ + +You can add '--debug[=N]' to the command line to log debug output. This +will be logged to the file 'hledger-ui.log' in the current directory. N +ranges from 1 (least output, the default) to 9 (maximum output).  File: hledger-ui.info, Node: ENVIRONMENT, Next: FILES, Prev: TIPS, Up: Top @@ -689,32 +682,32 @@ Node: KEYS7014 Ref: #keys7107 Node: SCREENS11193 Ref: #screens11291 -Node: Menu screen11468 -Ref: #menu-screen11584 -Node: Accounts screen11666 -Ref: #accounts-screen11814 -Node: Register screen14189 -Ref: #register-screen14344 -Node: Transaction screen16328 -Ref: #transaction-screen16503 -Node: Balance sheet accounts screen17373 -Ref: #balance-sheet-accounts-screen17587 -Node: Income statement accounts screen17855 -Ref: #income-statement-accounts-screen18069 -Node: Error screen18285 -Ref: #error-screen18421 -Node: TIPS18665 -Ref: #tips18764 -Node: Watch mode18816 -Ref: #watch-mode18933 -Node: Watch mode limitations19683 -Ref: #watch-mode-limitations19824 -Node: ENVIRONMENT20960 -Ref: #environment21071 -Node: FILES22456 -Ref: #files22555 -Node: BUGS22768 -Ref: #bugs22845 +Node: Menu screen11472 +Ref: #menu-screen11592 +Node: All accounts screen11761 +Ref: #all-accounts-screen11935 +Node: Balance sheet accounts screen12068 +Ref: #balance-sheet-accounts-screen12283 +Node: Income statement accounts screen12554 +Ref: #income-statement-accounts-screen12771 +Node: Register screen15216 +Ref: #register-screen15388 +Node: Transaction screen17372 +Ref: #transaction-screen17530 +Node: Error screen18400 +Ref: #error-screen18522 +Node: TIPS18766 +Ref: #tips18865 +Node: Watch mode18907 +Ref: #watch-mode19014 +Node: Debug output20470 +Ref: #debug-output20581 +Node: ENVIRONMENT20793 +Ref: #environment20904 +Node: FILES22289 +Ref: #files22388 +Node: BUGS22601 +Ref: #bugs22678  End Tag Table diff --git a/hledger-ui/hledger-ui.txt b/hledger-ui/hledger-ui.txt index 527f55c23..fbac4bfcf 100644 --- a/hledger-ui/hledger-ui.txt +++ b/hledger-ui/hledger-ui.txt @@ -309,17 +309,33 @@ KEYS SCREENS Menu screen - The top-most screen, currently with just one menu item and not shown by - default. + The top-most screen. hledger-ui does not show this screen at startup, + but you can press LEFT to navigate to it. From here you can navigate + to three accounts screens: - Accounts screen - This is normally the first screen displayed. It lists accounts and - their balances, like hledger's balance command. By default, it shows - all accounts and their latest ending balances (including the balances - of subaccounts). Accounts which have been declared with an account - directive are also listed, even if not yet used (except for empty par- - ent accounts). If you specify a query on the command line, it shows - just the matched accounts and the balances from matched transactions. + All accounts screen + This screen shows all accounts (unless filtered by a query), and their + current balances. It is like the hledger balance command. + + Balance sheet accounts screen + This is the screen normally shown at startup. It shows asset, liabil- + ity and equity accounts, if these can be detected (see account types). + It always shows historical end balances on some date (not balance + changes). It is like the hledger balancesheetequity command. + + Income statement accounts screen + This screen shows revenue and expense accounts. It always shows bal- + ance changes in some period (not end balances). It is like the hledger + incomestatement command. + + All of these accounts screens work in much the same way: + + They show accounts which have been posted to by transactions, as well + as accounts which have been declared with an account directive (except + for empty parent accounts). + + If you specify a query on the command line, it shows just the matched + accounts, and the balances from matched transactions. Account names are shown as a flat list by default; press t to toggle tree mode. In list mode, account balances are exclusive of subac- @@ -333,158 +349,133 @@ SCREENS depth limit, set it higher than the maximum account depth, or press ESCAPE. - H toggles between showing historical balances or period balances. His- - torical balances (the default) are ending balances at the end of the - report period, taking into account all transactions before that date - (filtered by the filter query if any), including transactions before - the start of the report period. In other words, historical balances - are what you would see on a bank statement for that account (unless - disturbed by a filter query). Period balances ignore transactions - before the report start date, so they show the change in balance during - the report period. They are more useful eg when viewing a time log. + H toggles between showing historical balances or period balances (on + the "All accounts" screen). Historical balances (the default) are end- + ing balances at the end of the report period, taking into account all + transactions before that date (filtered by the filter query if any), + including transactions before the start of the report period. In other + words, historical balances are what you would see on a bank statement + for that account (unless disturbed by a filter query). Period balances + ignore transactions before the report start date, so they show the + change in balance during the report period. They are more useful eg + when viewing a time log. U toggles filtering by unmarked status, including or excluding unmarked postings in the balances. Similarly, P toggles pending postings, and C - toggles cleared postings. (By default, balances include all postings; - if you activate one or two status filters, only those postings are + toggles cleared postings. (By default, balances include all postings; + if you activate one or two status filters, only those postings are included; and if you activate all three, the filter is removed.) R toggles real mode, in which virtual postings are ignored. - z toggles nonzero mode, in which only accounts with nonzero balances - are shown (hledger-ui shows zero items by default, unlike command-line + z toggles nonzero mode, in which only accounts with nonzero balances + are shown (hledger-ui shows zero items by default, unlike command-line hledger). - Press RIGHT to view an account's transactions register. Or, LEFT to - see the menu screen. + Press RIGHT to view an account's register screen, Or, LEFT to see the + menu screen. Register screen This screen shows the transactions affecting a particular account, like a check register. Each line represents one transaction and shows: - o the other account(s) involved, in abbreviated form. (If there are - both real and virtual postings, it shows only the accounts affected + o the other account(s) involved, in abbreviated form. (If there are + both real and virtual postings, it shows only the accounts affected by real postings.) - o the overall change to the current account's balance; positive for an + o the overall change to the current account's balance; positive for an inflow to this account, negative for an outflow. o the running historical total or period total for the current account, - after the transaction. This can be toggled with H. Similar to the - accounts screen, the historical total is affected by transactions - (filtered by the filter query) before the report start date, while + after the transaction. This can be toggled with H. Similar to the + accounts screen, the historical total is affected by transactions + (filtered by the filter query) before the report start date, while the period total is not. If the historical total is not disturbed by - a filter query, it will be the running historical balance you would + a filter query, it will be the running historical balance you would see on a bank register for the current account. - Transactions affecting this account's subaccounts will be included in + Transactions affecting this account's subaccounts will be included in the register if the accounts screen is in tree mode, or if it's in list - mode but this account has subaccounts which are not shown due to a - depth limit. In other words, the register always shows the transac- - tions contributing to the balance shown on the accounts screen. Tree + mode but this account has subaccounts which are not shown due to a + depth limit. In other words, the register always shows the transac- + tions contributing to the balance shown on the accounts screen. Tree mode/list mode can be toggled with t here also. - U toggles filtering by unmarked status, showing or hiding unmarked + U toggles filtering by unmarked status, showing or hiding unmarked transactions. Similarly, P toggles pending transactions, and C toggles - cleared transactions. (By default, transactions with all statuses are - shown; if you activate one or two status filters, only those transac- + cleared transactions. (By default, transactions with all statuses are + shown; if you activate one or two status filters, only those transac- tions are shown; and if you activate all three, the filter is removed.) R toggles real mode, in which virtual postings are ignored. - z toggles nonzero mode, in which only transactions posting a nonzero - change are shown (hledger-ui shows zero items by default, unlike com- + z toggles nonzero mode, in which only transactions posting a nonzero + change are shown (hledger-ui shows zero items by default, unlike com- mand-line hledger). Press RIGHT to view the selected transaction in detail. Transaction screen - This screen shows a single transaction, as a general journal entry, - similar to hledger's print command and journal format (hledger_jour- + This screen shows a single transaction, as a general journal entry, + similar to hledger's print command and journal format (hledger_jour- nal(5)). - The transaction's date(s) and any cleared flag, transaction code, - description, comments, along with all of its account postings are - shown. Simple transactions have two postings, but there can be more + The transaction's date(s) and any cleared flag, transaction code, + description, comments, along with all of its account postings are + shown. Simple transactions have two postings, but there can be more (or in certain cases, fewer). - UP and DOWN will step through all transactions listed in the previous - account register screen. In the title bar, the numbers in parentheses - show your position within that account register. They will vary + UP and DOWN will step through all transactions listed in the previous + account register screen. In the title bar, the numbers in parentheses + show your position within that account register. They will vary depending on which account register you came from (remember most trans- actions appear in multiple account registers). The #N number preceding them is the transaction's position within the complete unfiltered jour- nal, which is a more stable id (at least until the next reload). - Balance sheet accounts screen - This is like the accounts screen except: - - o it shows only asset, liability and equity accounts (see account - types) - - o it always shows historical end balances on some date (not balance - changes). - - It corresponds to the hledger balancesheet command. - - Income statement accounts screen - Like the accounts screen except: - - o it shows only revenue and expense accounts - - o it always shows balance changes in some period (not end balances). - - It corresponds to the hledger incomestatement command. - Error screen - This screen will appear if there is a problem, such as a parse error, - when you press g to reload. Once you have fixed the problem, press g + This screen will appear if there is a problem, such as a parse error, + when you press g to reload. Once you have fixed the problem, press g again to reload and resume normal operation. (Or, you can press escape to cancel the reload attempt.) TIPS Watch mode - One of hledger-ui's best features is the auto-reloading -w/--watch - mode. With this flag, it will update the display automatically when- + One of hledger-ui's best features is the auto-reloading -w/--watch + mode. With this flag, it will update the display automatically when- ever changes are saved to the data files. - This is very useful when reconciling. A good workflow is to have your - bank's online register open in a browser window, for reference; the - journal file open in an editor window; and hledger-ui in watch mode in + This is very useful when reconciling. A good workflow is to have your + bank's online register open in a browser window, for reference; the + journal file open in an editor window; and hledger-ui in watch mode in a terminal window, eg: $ hledger-ui --watch --register checking -C - As you mark things cleared in the editor, you can see the effect imme- - diately without having to context switch. This leaves more mental - bandwidth for your accounting. Of course you can still interact with - hledger-ui when needed, eg to toggle cleared mode, or to explore the + As you mark things cleared in the editor, you can see the effect imme- + diately without having to context switch. This leaves more mental + bandwidth for your accounting. Of course you can still interact with + hledger-ui when needed, eg to toggle cleared mode, or to explore the history. - Watch mode limitations - There are situations in which it won't work, ie the display will not - update when you save a change (because the underlying inotify library - does not support it). Here are some that we know of: + Here are some current limitations to be aware of: - o Certain editors: saving with gedit, and perhaps any Gnome applica- - tion, won't be detected (#1617). Jetbrains IDEs, such as IDEA, also - may not work (#911). + Changes might not be detected with certain editors, possibly including + Jetbrains IDEs, gedit, other Gnome applications; or on certain unusual + filesystems. (#1617, #911). To work around, reload manually by press- + ing g in the hledger-ui window. (Or see #1617 for another workaround, + and let us know if it works for you.) - o Certain unusual filesystems might not be supported. (All the usual - ones on unix, mac and windows are supported.) + CPU and memory usage can sometimes gradually increase, if hledger-ui + --watch is left running for days. (Possibly correlated with certain + platforms, many transactions, and/or large numbers of other files + present). To work around, quit and restart it, or (where supported) + suspend (CTRL-z) and restart it (fg). - In such cases, the workaround is to switch to the hledger-ui window and - press g each time you want it to reload. (Actually, see #1617 for - another workaround, and let us know if it works for you.) - - If you leave hledger-ui --watch running for days, on certain platforms - (?), perhaps with many transactions in your journal (?), perhaps with - large numbers of other files present (?), you may see it gradually - using more and more memory and CPU over time, as seen in top or Activ- - ity Monitor or Task Manager. - - A workaround is to quit and restart it, or to suspend it (CTRL-z) and - restart it (fg) if your shell supports that. + Debug output + You can add --debug[=N] to the command line to log debug output. This + will be logged to the file hledger-ui.log in the current directory. N + ranges from 1 (least output, the default) to 9 (maximum output). ENVIRONMENT COLUMNS The screen width to use. Default: the full terminal width. @@ -493,17 +484,17 @@ ENVIRONMENT On unix computers, the default value is: ~/.hledger.journal. - A more typical value is something like ~/finance/YYYY.journal, where - ~/finance is a version-controlled finance directory and YYYY is the - current year. Or, ~/finance/current.journal, where current.journal is + A more typical value is something like ~/finance/YYYY.journal, where + ~/finance is a version-controlled finance directory and YYYY is the + current year. Or, ~/finance/current.journal, where current.journal is a symbolic link to YYYY.journal. - The usual way to set this permanently is to add a command to one of + The usual way to set this permanently is to add a command to one of your shell's startup files (eg ~/.profile): export LEDGER_FILE=~/finance/current.journal` - On some Mac computers, there is a more thorough way to set environment + On some Mac computers, there is a more thorough way to set environment variables, that will also affect applications started from the GUI (eg, Emacs started from a dock icon): In ~/.MacOSX/environment.plist, add an entry like: @@ -514,24 +505,24 @@ ENVIRONMENT For this to take effect you might need to killall Dock, or reboot. - On Windows computers, the default value is probably C:\Users\YOUR- - NAME\.hledger.journal. You can change this by running a command like - this in a powershell window (let us know if you need to be an Adminis- + On Windows computers, the default value is probably C:\Users\YOUR- + NAME\.hledger.journal. You can change this by running a command like + this in a powershell window (let us know if you need to be an Adminis- trator, and if this persists across a reboot): > setx LEDGER_FILE "C:\Users\MyUserName\finance\2021.journal" - Or, change it in settings: see https://www.java.com/en/down- + Or, change it in settings: see https://www.java.com/en/down- load/help/path.html. FILES - Reads data from one or more files in hledger journal, timeclock, time- - dot, or CSV format specified with -f, or $LEDGER_FILE, or - $HOME/.hledger.journal (on windows, perhaps + Reads data from one or more files in hledger journal, timeclock, time- + dot, or CSV format specified with -f, or $LEDGER_FILE, or + $HOME/.hledger.journal (on windows, perhaps C:/Users/USER/.hledger.journal). BUGS - The need to precede options with -- when invoked from hledger is awk- + The need to precede options with -- when invoked from hledger is awk- ward. -f- doesn't work (hledger-ui can't read from stdin). @@ -539,13 +530,13 @@ BUGS -V affects only the accounts screen. When you press g, the current and all previous screens are regenerated, - which may cause a noticeable pause with large files. Also there is no + which may cause a noticeable pause with large files. Also there is no visual indication that this is in progress. - --watch is not yet fully robust. It works well for normal usage, but - many file changes in a short time (eg saving the file thousands of - times with an editor macro) can cause problems at least on OSX. Symp- - toms include: unresponsive UI, periodic resetting of the cursor posi- + --watch is not yet fully robust. It works well for normal usage, but + many file changes in a short time (eg saving the file thousands of + times with an editor macro) can cause problems at least on OSX. Symp- + toms include: unresponsive UI, periodic resetting of the cursor posi- tion, momentary display of parse errors, high CPU usage eventually sub- siding, and possibly a small but persistent build-up of CPU usage until the program is restarted. @@ -556,7 +547,7 @@ BUGS REPORTING BUGS - Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel + Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel or hledger mail list) diff --git a/hledger-web/hledger-web.1 b/hledger-web/hledger-web.1 index 6640c373c..d65b30bdc 100644 --- a/hledger-web/hledger-web.1 +++ b/hledger-web/hledger-web.1 @@ -586,6 +586,22 @@ This should add a new entry to your journal: $ curl http://127.0.0.1:5000/add -X PUT -H \[aq]Content-Type: application/json\[aq] --data-binary \[at]txn.json \f[R] .fi +.SH DEBUG OUTPUT +.SS Debug output +.PP +You can add \f[C]--debug[=N]\f[R] to the command line to log debug +output. +N ranges from 1 (least output, the default) to 9 (maximum output). +Typically you would start with 1 and increase until you are seeing +enough. +Debug output goes to stderr, interleaved with the requests logged on +stdout. +To capture debug output in a log file instead, you can usually redirect +stderr, eg: +.PD 0 +.P +.PD +\f[C]hledger-web --debug=3 2>hledger-web.log\f[R]. .SH ENVIRONMENT .PP \f[B]LEDGER_FILE\f[R] The journal file path when not specified with diff --git a/hledger-web/hledger-web.info b/hledger-web/hledger-web.info index 50e785174..61ea4a2e0 100644 --- a/hledger-web/hledger-web.info +++ b/hledger-web/hledger-web.info @@ -62,6 +62,7 @@ requests to stdout. * EDITING UPLOADING DOWNLOADING:: * RELOADING:: * JSON API:: +* DEBUG OUTPUT:: * ENVIRONMENT:: * FILES:: * BUGS:: @@ -382,7 +383,7 @@ file has been fixed. sure that both machine clocks are roughly in step.)  -File: hledger-web.info, Node: JSON API, Next: ENVIRONMENT, Prev: RELOADING, Up: Top +File: hledger-web.info, Node: JSON API, Next: DEBUG OUTPUT, Prev: RELOADING, Up: Top 5 JSON API ********** @@ -566,9 +567,33 @@ entry to your journal: $ curl http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @txn.json  -File: hledger-web.info, Node: ENVIRONMENT, Next: FILES, Prev: JSON API, Up: Top +File: hledger-web.info, Node: DEBUG OUTPUT, Next: ENVIRONMENT, Prev: JSON API, Up: Top -6 ENVIRONMENT +6 DEBUG OUTPUT +************** + +* Menu: + +* Debug output:: + + +File: hledger-web.info, Node: Debug output, Up: DEBUG OUTPUT + +6.1 Debug output +================ + +You can add '--debug[=N]' to the command line to log debug output. N +ranges from 1 (least output, the default) to 9 (maximum output). +Typically you would start with 1 and increase until you are seeing +enough. Debug output goes to stderr, interleaved with the requests +logged on stdout. To capture debug output in a log file instead, you +can usually redirect stderr, eg: +'hledger-web --debug=3 2>hledger-web.log'. + + +File: hledger-web.info, Node: ENVIRONMENT, Next: FILES, Prev: DEBUG OUTPUT, Up: Top + +7 ENVIRONMENT ************* *LEDGER_FILE* The journal file path when not specified with '-f'. @@ -609,7 +634,7 @@ https://www.java.com/en/download/help/path.html.  File: hledger-web.info, Node: FILES, Next: BUGS, Prev: ENVIRONMENT, Up: Top -7 FILES +8 FILES ******* Reads data from one or more files in hledger journal, timeclock, @@ -620,7 +645,7 @@ timedot, or CSV format specified with '-f', or '$LEDGER_FILE', or  File: hledger-web.info, Node: BUGS, Prev: FILES, Up: Top -8 BUGS +9 BUGS ****** The need to precede options with '--' when invoked from hledger is @@ -637,22 +662,26 @@ awkward.  Tag Table: Node: Top223 -Node: OPTIONS2419 -Ref: #options2524 -Node: PERMISSIONS9923 -Ref: #permissions10062 -Node: EDITING UPLOADING DOWNLOADING11274 -Ref: #editing-uploading-downloading11455 -Node: RELOADING12289 -Ref: #reloading12423 -Node: JSON API12856 -Ref: #json-api12970 -Node: ENVIRONMENT18460 -Ref: #environment18576 -Node: FILES19887 -Ref: #files19987 -Node: BUGS20200 -Ref: #bugs20278 +Node: OPTIONS2436 +Ref: #options2541 +Node: PERMISSIONS9940 +Ref: #permissions10079 +Node: EDITING UPLOADING DOWNLOADING11291 +Ref: #editing-uploading-downloading11472 +Node: RELOADING12306 +Ref: #reloading12440 +Node: JSON API12873 +Ref: #json-api12988 +Node: DEBUG OUTPUT18478 +Ref: #debug-output18603 +Node: Debug output18630 +Ref: #debug-output-118731 +Node: ENVIRONMENT19148 +Ref: #environment19268 +Node: FILES20579 +Ref: #files20679 +Node: BUGS20892 +Ref: #bugs20970  End Tag Table diff --git a/hledger-web/hledger-web.txt b/hledger-web/hledger-web.txt index ce73b477d..061382978 100644 --- a/hledger-web/hledger-web.txt +++ b/hledger-web/hledger-web.txt @@ -517,22 +517,32 @@ JSON API $ curl http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @txn.json +DEBUG OUTPUT + Debug output + You can add --debug[=N] to the command line to log debug output. N + ranges from 1 (least output, the default) to 9 (maximum output). Typi- + cally you would start with 1 and increase until you are seeing enough. + Debug output goes to stderr, interleaved with the requests logged on + stdout. To capture debug output in a log file instead, you can usually + redirect stderr, eg: + hledger-web --debug=3 2>hledger-web.log. + ENVIRONMENT LEDGER_FILE The journal file path when not specified with -f. On unix computers, the default value is: ~/.hledger.journal. - A more typical value is something like ~/finance/YYYY.journal, where - ~/finance is a version-controlled finance directory and YYYY is the - current year. Or, ~/finance/current.journal, where current.journal is + A more typical value is something like ~/finance/YYYY.journal, where + ~/finance is a version-controlled finance directory and YYYY is the + current year. Or, ~/finance/current.journal, where current.journal is a symbolic link to YYYY.journal. - The usual way to set this permanently is to add a command to one of + The usual way to set this permanently is to add a command to one of your shell's startup files (eg ~/.profile): export LEDGER_FILE=~/finance/current.journal` - On some Mac computers, there is a more thorough way to set environment + On some Mac computers, there is a more thorough way to set environment variables, that will also affect applications started from the GUI (eg, Emacs started from a dock icon): In ~/.MacOSX/environment.plist, add an entry like: @@ -543,24 +553,24 @@ ENVIRONMENT For this to take effect you might need to killall Dock, or reboot. - On Windows computers, the default value is probably C:\Users\YOUR- - NAME\.hledger.journal. You can change this by running a command like - this in a powershell window (let us know if you need to be an Adminis- + On Windows computers, the default value is probably C:\Users\YOUR- + NAME\.hledger.journal. You can change this by running a command like + this in a powershell window (let us know if you need to be an Adminis- trator, and if this persists across a reboot): > setx LEDGER_FILE "C:\Users\MyUserName\finance\2021.journal" - Or, change it in settings: see https://www.java.com/en/down- + Or, change it in settings: see https://www.java.com/en/down- load/help/path.html. FILES - Reads data from one or more files in hledger journal, timeclock, time- - dot, or CSV format specified with -f, or $LEDGER_FILE, or - $HOME/.hledger.journal (on windows, perhaps + Reads data from one or more files in hledger journal, timeclock, time- + dot, or CSV format specified with -f, or $LEDGER_FILE, or + $HOME/.hledger.journal (on windows, perhaps C:/Users/USER/.hledger.journal). BUGS - The need to precede options with -- when invoked from hledger is awk- + The need to precede options with -- when invoked from hledger is awk- ward. -f- doesn't work (hledger-web can't read from stdin). @@ -574,7 +584,7 @@ BUGS REPORTING BUGS - Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel + Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel or hledger mail list)