Giter Club home page Giter Club logo

st's People

Contributors

charlesdaniels avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

st's Issues

CPU 100% when displaying sixel

When I display a sixel, with for example the command cat image.sixel, the CPU shoots to 100% until I close the st instance. I have also tested displaying a sixel image with mlterm, but here this is not the case.
Thanks for this patch btw!

What is the "compat.h" file

I noticed there is a #include "compat.h" in the patch you used, and seems that you comment it in your source code.

Could you please tell me what this head file is, and what you did with that patch? Thanks a lot :)

Sixel detection

Hi! I'm the author of lsix and I received a couple bug reports that my program doesn't work with st even though it should. It would appear to be an issue in st's response to the Send Device Attributes escape sequence. In particular, in response to ESC [ c, st currently sends the response 6 which means that this terminal only supports VT102 sequences, not sixel.

I believe that in real DEC terminals, the response codes that signaled sixel support also signaled VT220 (or higher) support. I don't know if VT220 support is implemented (or in the works) for st, so I suggest a workaround:

  • Respond as a VT125 but with sixel support by returning 12;4. The VT125 didn't actually have proper sixel graphics, but it can report back device attributes.

  • A real VT125 never sent a 4, so there will be no confusion. (It could only send 5 or 7, semicolon, 1 or 0).

  • Most programs rely on the TERM setting, so the terminal type claimed by the Send Device Attributes sequence will not affect many programs.

  • The advantage of claiming to be a VT125 instead of a VT220 is that the VT125 is nearly identical to the VT100.

    $ infocmp vt100 vt125 | grep : | wc -l
    2
    $ infocmp vt100 vt220 | grep : | wc -l
    78
    

Possible problems:

  • Pretending to be a VT125 might be an issue if a sixel program ever checks that the terminal is VT220 or higher, but I'm unsure if any such programs exist.
  • The VT125 terminal, like the VT100, lacked some features of the VT102 (delete_character/line, insert_line, and insert_mode) which st has already implemented. I believe this should not be an issue as those sequences will still be used if TERM=vt102.

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.