hacker-news-custom-logo

Hackr News App

32 comments

  • kristopolous

     

    3 days ago

    next

    [ - ]

    Reminds me of

    https://en.m.wikipedia.org/wiki/DESQview and https://en.m.wikipedia.org/wiki/IBM_TopView

    It'd be interesting to try this concept again on the wildly different computers we have now compared to 40 years ago.

    4k monitors, high speed networks, dozens of cores, things are significantly different - might open some wildly exciting and new possibilities

    reply

    skissane

     

    3 days ago

    parent

    next

    [ - ]

    [ x ]

    <@kristopolous> Also reminds me of https://en.wikipedia.org/wiki/AlphaWindows

    Although I’ve never succeeded in locating a copy of the spec, any implementations, even a screenshot… would be great if any of them turned up some day

    reply

    boznz

     

    3 days ago

    parent

    prev

    next

    [ - ]

    [ x ]

    <@kristopolous> and Borland Turbovision

    reply

    jd3

     

    3 days ago

    parent

    prev

    next

    [ - ]

    [ x ]

    <@kristopolous> I'm a fan of the tiles/patterns from DESQView/X

    https://news.ycombinator.com/item?id=16044021

    reply

    kristopolous

     

    3 days ago

    root

    parent

    next

    [ - ]

    [ x ]

    <@jd3> I got Desqview/X running about 25 years ago on some Everex. An X Terminal that ran win16 software - Useless but fascinating.

    IIRC there was some additional minimal runtime stuff like perl/awk/sed that came with it kinda like MinGW later on

    reply

    johng

     

    3 days ago

    root

    parent

    next

    [ - ]

    [ x ]

    <@kristopolous> Same experience here. It blew my mind but it wasn't really useable.

    reply

    icedchai

     

    3 days ago

    parent

    prev

    next

    [ - ]

    [ x ]

    <@kristopolous> I was just about to same the same thing! I remember briefly running DESQview on a 386SX, before installing Linux...

    reply

    nickdothutton

     

    3 days ago

    parent

    prev

    next

    [ - ]

    [ x ]

    <@kristopolous> Got hold of a free copy of this as a student, on underpowered PCs at college and it was a superpower.

    reply

    ivolimmen

     

    3 days ago

    parent

    prev

    next

    [ - ]

    [ x ]

    <@kristopolous> ... and visual basic 1.0 for DOS

    reply
  • Lio

     

    3 days ago

    prev

    next

    [ - ]

    Glad to see it's still going.

    It amuses me that that a project that started in 1993 is still versioned at 0.9.0 for it's latest stable release.

    It's a good reminder that version number don't necissarily denote stability.

    reply
  • snvzz

     

    3 days ago

    prev

    next

    [ - ]

    Last I checked (easily been a decade) it had a major limitation in not supporting Unicode.

    I wonder if this was ever resolved.

    reply

    JdeBP

     

    3 days ago

    parent

    next

    [ - ]

    [ x ]

    <@snvzz> It seems to have supported UTF-8 for at least a decade. Although it went the full-on ECMA-35 route of making that an optional switchable character set.

    There was an issue back in 2016 where, ironically, it was coming up in Latin-1 mode with everything else around it talking UTF-8, and there have been other similar impedance mis-matches over the years. But they seem to hinge on it actually having UTF-8 support.

    * https://github.com/cosmos72/twin/issues/4

    * https://github.com/cosmos72/twin/issues/7

    * https://github.com/cosmos72/twin/issues/8

    However: There was no 256 colours support as of 2021.

    * https://github.com/cosmos72/twin/issues/30

    And in some places it even required IBM code page 437.

    * https://github.com/cosmos72/twin/issues/22

    And some of the doco seems to have never been incorporated.

    * https://github.com/cosmos72/twin/issues/100

    reply

    cosmos0072

     

    3 days ago

    root

    parent

    next

    [ - ]

    [ x ]

    <@JdeBP> Author here :)

    I've been using Twin as my everyday terminal emulator and terminal multiplexer since ~2000, slowly adding features as my free time - and other interests - allowed.

    As someone pointed out, the look-and-feel reminds Borland Turbo Vision. The reason is simple: I started writing in in the early '90s on DOS with a Borland C compiler, and I used the Borland Turbo Vision look-and-feel as a visual guideline (never actually looked at the code, though).

    The porting to linux happened in 1999 (it was basically dormant before that), and Unicode support was progressively added around 2015-2016 (initially UCS-2 i.e. only the lowest 64k codepoints, then full UTF-32 internally, with terminal emulator accepting UTF-8). There are still some missing features, most notably: no grapheme clusters, no fullwidth (asian etc.) support, no right-to-left support.

    Right now I'm adding truecolor support (see https://github.com/cosmos72/twin/tree/truecolor) - it's basically finished, I'm ironing out some remaining bugs, and thinking whether wire compatibility with older versions is worth adding.

    And yes, documentation has been stalled for a very long time.

    Retrospectively, I should have switched C -> C++ much earlier: lots of ugly preprocessor macros accumulated over time, and while I rewrote the C widget hierarchy as C++ classes, several warts remain.

    reply

    panzi

     

    3 days ago

    root

    parent

    next

    [ - ]

    [ x ]

    <@cosmos0072> Do symbols for legacy computing work with it? Especially the 1/8ths vertical/horizontal blocks?

    reply

    cosmos0072

     

    3 days ago

    root

    parent

    next

    [ - ]

    [ x ]

    <@panzi> If you mean the Unicode glyphs listed at https://en.m.wikipedia.org/wiki/Block_Elements they are supported - you just need a display driver that can render them. For example, `twin --hw=xft` (it's the default) or `twin --hw=X11`, both with a font that contains them

    reply

    JdeBP

     

    3 days ago

    root

    parent

    next

    [ - ]

    [ x ]

    <@cosmos0072> Xe means the Unicode block that is actually named "Symbols For Legacy Computing". It's not in the BMP. Some bloke named Bruce was doing TUI windows with scrollbars and sizer/menu boxes some years before TurboVision and code page 437. (-:

    reply

    panzi

     

    2 days ago

    root

    parent

    next

    [ - ]

    [ x ]

    <@JdeBP> Indeed I meant these: https://en.wikipedia.org/wiki/Symbols_for_Legacy_Computing

    I use them in some tiny hobby projects like these:

    https://github.com/panzi/progress-pride-bar

    https://github.com/panzi/bad-apple-terminal

    https://github.com/panzi/js-unicode-bar-chart

    https://github.com/panzi/js-unicode-plot

    https://github.com/panzi/js-unicode-progress-bar

    https://github.com/panzi/python-term-flags

    reply

    JdeBP

     

    3 days ago

    root

    parent

    prev

    next

    [ - ]

    [ x ]

    <@cosmos0072> Alas, it's not finished. You've made the mistakes that all of us have made, and haven't caught up with us, must of us having fixed those mistakes, a few years back when implementing 24-bit RGB was in vogue.

    This is not, as the function name suggests, a colon, but per ITU/IEC T.416 it should be:

    https://github.com/cosmos72/twin/blob/truecolor/server/hw/hw...

    And not only should this have colons too, but per ITU/IEC T.416 there's a colour space parameter that goes in there:

    https://github.com/cosmos72/twin/blob/truecolor/server/hw/hw...

    The unfortunate part is that when rendering to a terminal, you don't have any available mechanism apart from hand-decoding the family part of the TERM environment variable, and knowing who made which mistakes, to determine which of the 7 possible colour mechanisms are supported. They are:

    1. ECMA-48 standard 8 colour, SGRs 30 to 37, 39, 40 to 47, and 49

    2. AIXTerm 16 colour, ECMA-48 plus SGRs 90 to 97 and 100 to 107

    3. XTerm 256 colour, ITU T.416 done wrongly with SGR 38;5;n and SGR 48;5;n

    4. XTerm 256 colour corrected, ITU T.416 done right with SGR 38:5:n and SGR 48:5:n

    5. 24-bit colour take 1, ITU T.416 done wrongly with SGR 38;2;r;g;b and SGR 48;2;r;g;b

    6. 24-bit colour take 2, ITU T.416 done wrongly with SGR 38:2:r:g:b and SGR 48:2:r:g:b

    7. 24-bit colour take 3, ITU T.416 done right with SGR 38:2::r:g:b::: and SGR 48:2::r:g:b:::

    Few people support 4, and although quite a lot of us have finally got to supporting 7 it isn't quite universal. Egmont Koblinger, I, and others have been spreading the word where we can over the last few years.

    This is where I was at in 2019:

    https://github.com/jdebp/nosh/blob/trunk/source/TerminalCapa...

    There a few updates to that that are going to come out in 1.41, but when it comes to colour they're mainly things like recognizing the "ms-terminal" and "netbsd6" terminal types in the right places.

    reply

    cosmos0072

     

    3 days ago

    root

    parent

    next

    [ - ]

    [ x ]

    <@JdeBP> Yep, I am well aware of the `;` vs `:` confusion in both 256 color and 24-bit color control sequences.

    Short of hand-coding "which terminal supports which variant" I do not know any standard mechanism to detect that (beyond the well-known $TERM=...-256color and $COLORTERM=truecolor or $COLORTERM=24bit)

    I guess I'll have to add command line options to choose among the variants 1...7 you helpfully listed above.

    My main use it to render twin directly on X11, which avoids all these issues, and while rendering inside another terminal is important and is not going away, I am OK with a few minor color-related limitations (note: limitations, not bugs) in such setup, especially if the other terminal does not follow the relevant standards

    reply

    skissane

     

    2 days ago

    root

    parent

    prev

    next

    [ - ]

    [ x ]

    <@JdeBP> > This is not, as the function name suggests, a colon, but per ITU/IEC T.416 it should be

    Digressing, but I’m fascinated to see ODA still being referenced, even if only some small part of it

    reply
  • panzi

     

    3 days ago

    prev

    next

    [ - ]

    Wonder if my ansi-img image viewer works in that. Won't compile this from source to test it, but if it's in my Linux distribution I'll do later.

    reply

    panzi

     

    2 days ago

    parent

    next

    [ - ]

    [ x ]

    <@panzi> Nope, only garbage output: https://imgur.com/a/RVNitFh

    Is there a way to configure another terminal font? But it's not just the font, the terminal seems to also crash. At least it's not responsive anymore and has to be closed.

    reply

    cosmos0072

     

    2 days ago

    root

    parent

    next

    [ - ]

    [ x ]

    <@panzi> You can choose the font with `twin --hs=X11,font=X11FONTNAME` or `twin --hw=xft,font=TRUETYPEFONTNAME`

    I will have a look too, the terminal should not crash or stop being responsive

    reply

    panzi

     

    1 day ago

    root

    parent

    next

    [ - ]

    [ x ]

    <@cosmos0072> Thank you. Weird that this isn't in the man page or --help message. Another font didn't fix anything anyway.

    reply
  • matt3210

     

    3 days ago

    prev

    next

    [ - ]

    Peak UI for sure!

    reply
  • Jotalea

     

    2 days ago

    prev

    next

    [ - ]

    I wonder if it would be possible to use ANSI escape colors for making gradient window decorations, or simulating transparency on them.

    reply
  • okflo

     

    2 days ago

    prev

    next

    [ - ]

    I remember somewhen in the 90s, having a 386er Linux system with 8MB RAM, experimenting with twin... So cool, that this project is still alive!

    reply
  • behnamoh

     

    3 days ago

    prev

    [ - ]

    Does it support Liquid Glass? :')

    reply