Andrew Wood
|
25dadb2bfd
|
Add a comment describing what this structure is for.
|
2025-10-06 18:01:57 +01:00 |
|
Andrew Wood
|
be066f6c8c
|
Restrict the amount to read when --stop-at-size is active so that reads, as well as writes, never go past --size bytes (#166).
|
2025-09-30 22:27:25 +01:00 |
|
Andrew Wood
|
d903a7d188
|
Add a return value to pv_remote_check() so its caller can know whether a message was received.
|
2025-09-29 21:31:05 +01:00 |
|
Andrew Wood
|
10ef5a8596
|
If watching more than one distinct PID with --watchfd, display the PID as well as the FD number (#12).
|
2025-09-28 16:36:06 +01:00 |
|
Andrew Wood
|
3ea19829d7
|
Merge pv_watchpid_loop into pv_watchfd_loop, and allow multiple PID / PID:FD sets to be watched at once (#12).
|
2025-09-27 17:55:18 +01:00 |
|
Andrew Wood
|
c49fc4aa57
|
Eliminate the fd_to_idx array in --watchfd, so that file descriptors aren't constrained to FD_SETSIZE and so we don't have to track another array.
|
2025-09-26 23:40:39 +01:00 |
|
Andrew Wood
|
7fdb6716e1
|
In the pvwatchfd_s structure, use booleans "displayable" and "unused" instead of having values of watch_pid=0 for unused and watch_fd=-1 for not displayable, so that each item only means one thing.
|
2025-09-26 23:01:07 +01:00 |
|
Andrew Wood
|
b5fbd1978e
|
Replace watch_pid, watch_fd with arrays, though for now only use the first item in the arrays (#12).
|
2025-09-21 19:50:56 +01:00 |
|
Andrew Wood
|
db80f838ff
|
Explicitly set an action variable to say which action to perform, instead of inferring it from other settings like whether a watch PID was set (#12).
|
2025-09-18 06:18:18 +01:00 |
|
Andrew Wood
|
dbce5b355e
|
Add --watchfd option values to an array in the main state, as well as to the currently used variables (#12).
|
2025-09-17 23:12:13 +01:00 |
|
Andrew Wood
|
12cc996d32
|
Add --watchfd option values to an array as well as to the currently used variables (#12).
|
2025-09-17 22:12:45 +01:00 |
|
Andrew Wood
|
4a0f9e713c
|
Define struct pvwatchspec_s for future use in an array for --watchfd, and add a comment defining nullable_string_t.
|
2025-09-16 23:05:41 +01:00 |
|
Andrew Wood
|
8771b901d9
|
Add TODO markers as part of looking at supporting multiple "-d" options (#12).
|
2025-09-15 20:12:55 +01:00 |
|
Andrew Wood
|
1e6c9704b1
|
Adjustments to remove the need for the unqualifiedtrans and nullstate splint workarounds.
|
2025-09-14 16:39:47 +01:00 |
|
Andrew Wood
|
ad1d0e1c9a
|
In the watchfd info array, instead of using copies of the global state, each fd has its own flags, transfer, calc, and display sub-structures (#165).
|
2025-07-28 00:25:14 +01:00 |
|
Andrew Wood
|
4f9d746823
|
Split the state reset functions into smaller pieces, so sub-structures can be reset individually (#165).
|
2025-07-27 23:24:56 +01:00 |
|
Andrew Wood
|
a7f392e3c3
|
Address splint warnings about setting and clearing state->control.name (#165).
|
2025-07-27 21:34:46 +01:00 |
|
Andrew Wood
|
574ea04502
|
Instead of adding an aliased display name and having to maintain it and treat it differently, go back to keeping the name only in the "control" sub-structure of the state, but share the global state "control" across all watched fds, and just change it before each pv_display() call so it points to the relevant fd display_name when needed (#165).
|
2025-07-27 21:23:41 +01:00 |
|
Andrew Wood
|
6a2b9a2788
|
Add an alias for the name for %N to the display sub-structure, so that the name can be varied between displays without having to alter the control value (#165).
|
2025-07-27 19:53:28 +01:00 |
|
Andrew Wood
|
e04f50f0dc
|
Change all cursor positioning functions to use sub-structures rather than the whole state structure, and if turning off cursor positioning, do so via a new flag "cursor->disable" rather than changing the operator-supplied options in "control" (#165).
|
2025-07-27 17:05:04 +01:00 |
|
Andrew Wood
|
021dc6e054
|
Pass individual sub-structures to pv_display, but still keep state for now, until the functions cursor.c have been updated to take sub-structures rather than the whole state (#165).
|
2025-07-27 15:56:03 +01:00 |
|
Andrew Wood
|
7d7efac7c6
|
Move the terminal_supports_utf8, terminal_supports_colour, and checked_colour_support flags out of "control" and into "status", as they are not operator-supplied options, but are program-generated status flags; this will allow "control" to remain read-only for larger parts of the program (#165).
|
2025-07-27 15:37:16 +01:00 |
|
Andrew Wood
|
f79bed3cb8
|
Rename "can_display_colour" and "can_display_utf8" to "terminal_supports_colour" and "terminal_supports_utf8" to make it clearer that these are not operator-supplied option settings, they are derived from terminal capabilities (colour) and the environment (UTF-8).
|
2025-07-27 15:20:05 +01:00 |
|
Andrew Wood
|
960ff1572f
|
Pass state->status, rather than state itself, to pv_format (#165).
|
2025-07-27 00:31:45 +01:00 |
|
Andrew Wood
|
da2a2e6fd2
|
Remove the state from the pv_error arguments, by adding a new function pv_set_error_prefix to call on startup, eliminating the need for a state program_name string; and add a private boolean to track whether there has been any output which means errors need preceding by a newline, which is updated by pv_display directly (#165).
|
2025-07-27 00:22:57 +01:00 |
|
Andrew Wood
|
005bc2f841
|
Pass the sub-structures separately to pv_format and pv__format_init rather than the whole state; but still pass state for now, as pv_error needs it (#165).
|
2025-07-26 22:49:29 +01:00 |
|
Andrew Wood
|
ecc0c0e414
|
Adjust the readonly structure pointer types so the pointer itself is not read-only but the thing it points to is; and change the display formatters to use pointers to control, transfer, and calc structures instead of the whole state, with read-only access enforced at compile time (#165).
|
2025-07-26 22:28:39 +01:00 |
|
Andrew Wood
|
18548d217b
|
Rename struct pvipcstate_s to pvcursorstate_s since it is for cursor positioning, not for IPC (#165).
|
2025-07-26 21:30:16 +01:00 |
|
Andrew Wood
|
653326ca9b
|
Rename struct pvcursorstate_s to pvipccursorstate_s for clarity since it is only for IPC (#165).
|
2025-07-26 21:29:20 +01:00 |
|
Andrew Wood
|
0cf8902d9b
|
Rename display structure member "display_visible" to "output_produced" for clarity.
|
2025-07-26 21:25:54 +01:00 |
|
Andrew Wood
|
762676f4e1
|
Make pv_tty_write take only the transient flags part of the state rather than the whole state, and rename the "flag" part of the state to "flags" for better readability (#165).
|
2025-07-26 21:18:13 +01:00 |
|
Andrew Wood
|
870dfad9fd
|
Introduce read-only structure pointer typedefs for each of the state sub-structures, so the compiler will catch anywhere that a function would alter a structure it isn't expected to (#165).
|
2025-07-26 20:51:28 +01:00 |
|
Andrew Wood
|
3b0891b128
|
Pass more specific structures to pv_calculate_transfer_rate rather than the whole state (#165).
|
2025-07-26 19:22:07 +01:00 |
|
Andrew Wood
|
b3c854b27a
|
Add typedefs for the pointers to the sub-structures within struct pvstate_s, so they can be used as types in function declarations (#165).
|
2025-07-26 18:33:24 +01:00 |
|
Andrew Wood
|
a923bdaca4
|
Give struct names to each of the sub-structures within struct pvstate_s, so they can be used as types in function declarations (#165).
|
2025-07-26 18:24:47 +01:00 |
|
Andrew Wood
|
42e47e8291
|
Turn off IPC support when sys/shm.h is missing, to fix compilation on Termux.
|
2025-01-10 23:23:07 +00:00 |
|
Andrew Wood
|
7d6c7d0735
|
Copyright note update for 2025.
|
2025-01-03 16:11:08 +00:00 |
|
Andrew Wood
|
ff0355ca9c
|
Make the moving indicator more granular on wide displays by calculating its position with floating point rather than integer values.
|
2024-12-18 21:59:17 +00:00 |
|
Andrew Wood
|
21ca350946
|
Use specific types for display widths, byte counts, and type of format string component, mainly to have the option of packing more into less space.
|
2024-12-17 23:55:15 +00:00 |
|
Andrew Wood
|
3c09b31f92
|
Add colour code support with a %{sgr:...} format sequence.
|
2024-12-15 23:25:20 +00:00 |
|
Andrew Wood
|
f0aca0a2ce
|
Store the calculated percentage as a double rather than an int, so the granular progress bar is still granular on wide displays.
|
2024-12-14 17:06:37 +00:00 |
|
Andrew Wood
|
8fa9df6e7a
|
New --bar-style option; replace "default" with "plain" or with a lookup against the selected default, as appropriate.
|
2024-12-14 00:06:30 +00:00 |
|
Andrew Wood
|
cb71277df4
|
Allocate more space for the display buffer, as wide characters take up more room.
|
2024-12-13 20:38:45 +00:00 |
|
Andrew Wood
|
9f5923864b
|
Inhibit UTF-8 based bar formats when UTF-8 output support is not detected, falling back to the default format instead.
|
2024-12-13 20:17:01 +00:00 |
|
Andrew Wood
|
60563f3e3c
|
New bar formats - default, block, granular, shaded - with the granular format providing a smoother bar using Unicode block characters (#15)
|
2024-12-13 20:02:36 +00:00 |
|
Andrew Wood
|
78f4a60bf7
|
Change the formatter functions to take their 6 arguments as one struct pointer, making it less messy.
|
2024-12-12 22:36:07 +00:00 |
|
Andrew Wood
|
1d76c0bc64
|
Permit decimals with suffix for --size, --rate-limit, --buffer-size, and --error-skip-block (#35); and document the types of numbers allowed in the manual.
|
2024-12-10 22:09:32 +00:00 |
|
Andrew Wood
|
51a5de71c1
|
Add a "can_display_utf8" flag based on the current locale, for future use.
|
2024-12-09 23:23:07 +00:00 |
|
Andrew Wood
|
c95e25776e
|
Move the formatter functions into separate files so that display.c is less of a monolith; and replace the ctype.h macros with internal versions.
|
2024-12-09 21:42:16 +00:00 |
|
Andrew Wood
|
f495303177
|
List all supported format sequences in the output of "--help".
|
2024-12-08 20:40:05 +00:00 |
|