Nukesor / pueue

:stars: Manage your shell commands.
MIT License
4.9k stars 132 forks source link

Terminal escape sequences with `follow` #439

Closed musjj closed 1 year ago

musjj commented 1 year ago

A detailed description of the feature you would like to see added.

pueue follow should render the terminal escape sequences sent by the running program/task.

Explain your usecase of the requested feature

Some programs use terminal escape sequences to add colors, formatting and other goodies. But when the program is enqueued with pueue add, you won't be able to see this even with pueue follow or other commands.

Alternatives

No response

Additional context

No response

Nukesor commented 1 year ago

Pueue doesn't modify a process's output in any way.

The behavior you see is because tasks aren't actually run in a terminal environment, meaning that processes that support colorful output usually don't generate terminal escape sequences.

Many commands support a --color=always flag, for instance exa --color=always. This will result in terminal escape sequences being generated by exa even though it doesn't run in a terminal, which then show up in pueue log as expected

musjj commented 1 year ago

I see, I wonder if there's a way to trick the program into thinking that it's running in a terminal environment. Unfortunately, not all programs have a flag to force colored output.

EDIT: Figured out a workaround using the unbuffer program from expect:

pueue add unbuffer ...