Coder Social home page Coder Social logo

Comments (17)

sharkdp avatar sharkdp commented on May 21, 2024

Thank you for reporting this. This should be easy to fix, yes.

from hexyl.

sharkdp avatar sharkdp commented on May 21, 2024

Fixed in v0.4.0.

from hexyl.

vi avatar vi commented on May 21, 2024

screenshot

Reproducible in multiple terminal emulators. Consistenly nice only in linux text terminal.

from hexyl.

DannyCork avatar DannyCork commented on May 21, 2024

This is what ctrl-c looks like on Mac OS X

Screenshot 2019-03-16 at 19 15 49

from hexyl.

sharkdp avatar sharkdp commented on May 21, 2024

If somebody has an idea how to fix this, let me know.

from hexyl.

domenpk avatar domenpk commented on May 21, 2024

Well, part of the problem is synchronous handling of ctrl+c. If you move process exit into the handler, the situation improves. I'm not sure what's actually safe to be called from a signal handler in Rust though (normally described in: man 7 signal-safety).

It's still a bit of a problem, I assume because of stdout buffering. May need some uglier tricks to work around (setbuf?).

from hexyl.

secworks avatar secworks commented on May 21, 2024

A possibly related issue is that on MacOS, when running hexyl without any input the application can't be terminated. Like this:

Screenshot 2020-02-07 at 08 24 53

This is with hexyl 0.6.0 on MacOS 10.14.6

from hexyl.

sharkdp avatar sharkdp commented on May 21, 2024

@secworks That looks like a different bug to me (much less esoteric than this one; thank you for reporting it). It would be great if you could create a new ticket.

from hexyl.

sharkdp avatar sharkdp commented on May 21, 2024

With the changes in #84, this is now open again. In my terminal and on zsh, this is not an issue. But apparently it causes problems in some terminal/shell combinations.

from hexyl.

sandorex avatar sandorex commented on May 21, 2024

@sharkdp Have you tried using alternative buffer when opening the application ?
The smcup / rmcup capability of the terminal ?

from hexyl.

bjorn3 avatar bjorn3 commented on May 21, 2024

Using an alternative buffer would mean that you have to handle scrolling yourself and you can't see the output anymore after you exit hexyl.

from hexyl.

sandorex avatar sandorex commented on May 21, 2024

I guess the only other thing i can think of is disabling echo and reenabling it after quitting, but you probably already did that right?

from hexyl.

sharkdp avatar sharkdp commented on May 21, 2024

I'm not sure what that means?

from hexyl.

sandorex avatar sandorex commented on May 21, 2024

echo is when you press a key it displays on the terminal, but i think it is already disabled otherwise any key would be visible on a press

from hexyl.

bjorn3 avatar bjorn3 commented on May 21, 2024

Echo is enabled. I can still type stuff while I run cat /dev/zero | pv -q -L 16 | hexyl (read zeros at a rate of 16 bytes per second)

from hexyl.

sandorex avatar sandorex commented on May 21, 2024

@bjorn3 You are right

I've been able to test it with little bash (does not work on zsh)

orig=$(stty -g)
stty -echo
hexyl /dev/urandom
stty $orig

And it doesnt show the ^C anymore

from hexyl.

sharkdp avatar sharkdp commented on May 21, 2024

I'm closing this due to inactivity. And because I can not reproduce this on my machine. Please feel free to comment in case it should be re-opened.

from hexyl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.