-
-
Notifications
You must be signed in to change notification settings - Fork 138
Description
When running procs in my terminal, the table output is “double-spaced”: after every process row, there is an additional empty line. This happens consistently and makes the output hard to read.
Other commands like seq, ls, etc. do not show double spacing, so it seems specific to procs (or to how procs interacts with my terminal/TTY).
I’m on Arch Linux and using the fish shell.
Environment
OS: Arch Linux
─────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: /etc/os-release
─────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ NAME="Arch Linux"
2 │ PRETTY_NAME="Arch Linux"
3 │ ID=arch
4 │ BUILD_ID=rolling
5 │ ANSI_COLOR="38;2;23;147;209"
Kernel: Linux Glamdring 6.18.1-arch1-2 #1 SMP PREEMPT_DYNAMIC Sat, 13 Dec 2025 18:23:21 +0000 x86_64 GNU/Linux
Shell: fish, version 4.2.1
Terminal emulator: gnome-terminal
echo $TERM: xterm-256color
Terminal width "tput cols": 238
procs version: 0.14.10
Steps to reproduce
Open a terminal (interactive TTY).
Run: procs
Observe that each row is separated by an extra blank line.
Expected behavior
A compact table with one line per process (no empty line between rows).
Actual behavior
Each process row is followed by an empty line (double-spaced output):
PID:▲ User │ TTY CPU MEM CPU Time │ Command
│ [%] [%] │
1 root │ 0.0 0.0 00:00:01 │ /sbin/init
2 root │ 0.0 0.0 00:00:00 │ [kthreadd]
3 root │ 0.0 0.0 00:00:00 │ [pool_workqueue_release]
Troubleshooting / What I tried
-
Verified it’s not global terminal line spacing
seq prints normally (no blank lines):
seq 1 5 -
Verified it’s not caused by procs config files
I ran procs with an empty config directory via XDG_CONFIG_HOME (fish syntax):
set -l tmp (mktemp -d)
env XDG_CONFIG_HOME=$tmp procs
rm -rf $tmp
The double-spacing persists.
3) Checked TTY/stty newline translation flags
stty -a shows (relevant excerpt):
opost -olcuc -ocrnl onlcr -onocr ...
So ocrnl is disabled (-ocrnl). This suggests it’s not the classic CRLF/ocrnl “extra newline” issue.
- Attempted to avoid right-margin wrapping by forcing a smaller COLUMNS
This reduced some formatting issues, but the blank line still appears:
env COLUMNS=(math (tput cols) - 3) procs
- Notes about my shell aliases
In my fish setup, cat is aliased to bat, so for debugging I used tools like sed -n '1,3l' instead of cat -v.
This aliasing should not affect procs output directly, but I’m mentioning it for completeness.
Additional debugging info
stty -a:
speed 38400 baud; rows 55; columns 238; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff -iuclc -ixany imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
Output of a “show invisible characters” pipeline such as:
procs | head -n 5 | sed -n '1,5l' PID:\342\226\262 User \342\224\202 TTY CPU MEM CPU Ti\
me \342\224\202 Command$
\342\224\202 [%] [%] \342\224\
\202$
1 root \342\224\202 0.0 0.0 00:00:01 \342\224\
\202 /sbin/init$
2 root \342\224\202 0.0 0.0 00:00:00 \342\224\
\202 [kthreadd]$
3 root \342\224\202 0.0 0.0 00:00:00 \342\224\
\202 [pool_workqueue_release]$
Question
Is this a known issue related to terminal wrapping/terminfo handling (e.g., last-column wrap), or does procs intentionally insert extra newlines under certain conditions? Any suggested flags/config to force single-line rows?