Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Dmitry Sapozhnikov
    @o-sdn-o

    Is there anything new on VTM?

    It is now possible to create a pseudo console (ConPTY) in Windows Server 2019.

    Dmitry Sapozhnikov
    @o-sdn-o

    It didn't work as Windows Server adds a null byte to the end of the cmd or powershell console window title (Windows 10 doesn't do that)

    Win10 behavior (cmd.exe title):
    C:\\Windows\\SYSTEM32\\cmd.exe
    WinSrv behavior (cmd.exe title + \0):
    C:\Windows\SYSTEM32\\cmd.exe\0

    Pseudo console was not created because of this zero byte at the end.

    All builds are statically linked now. It can be tested on different platforms and not have *libc++ dependency issues.
    Added 32-bit build for Windows.
    Dmitry Sapozhnikov
    @o-sdn-o

    VTM works on Windows Terminal with powershell

    Oh! I just figured out what that means. The fact is that I use a modified Windows Terminal in which the mouse works in all modes. And I didn't get that when you wrote about using PowerShell. Thanks for the tip.

    It takes a few lines of source code changes to get Windows Terminal to start tracking the mouse for classic console applications
    https://github.com/microsoft/terminal/issues/376#issuecomment-733198098

    This is a temporary hack.

    Dmitry Sapozhnikov
    @o-sdn-o
    Note that the keyboard is not fully handled in Windows, modifier keystrokes are not handled (yet).
    JaydenMWSoftwareDevelopment
    @JaydenMWSoftwareDevelopment
    Running a desktop environment in terminal is a new idea. It'll take a while for all terminals to support this.
    matrixbot
    @matrixbot
    @jayden-jmw:matrix.org Hello
    JaydenMWSoftwareDevelopment
    @JaydenMWSoftwareDevelopment
    Don't be alarmed by this bot. This is so that I can talk in this channel on matrix.
    Dmitry Sapozhnikov
    @o-sdn-o
    Ok
    Dmitry Sapozhnikov
    @o-sdn-o
    Keyboard support implemented, Windows build is usable now.
    Started changelog: https://dice.netxs.online/cloud/vtm/builds/changelog.txt
    Dmitry Sapozhnikov
    @o-sdn-o
    Keyboard focus implemented.
    Use Ctrl with mouse to activate multi focus.
    Paul G
    @paulie-g
    Works on bleeding edge Arch Linux on x86-84 (tested with kitty 0.19.3 and alacritty 0.6.0-git-latest)
    Keep in mind that terminal emulators have trouble with fine-grained mouse selection, so things like your slider widget in the refresh rate app aren't fine enough to select a given number
    Menus don't work in the text editor and such, presumably because not implemented yet?
    А так всё здОрово выглядит
    Dmitry Sapozhnikov
    @o-sdn-o
    Text editor/spreadsheet is not implemented yet.
    Paul G
    @paulie-g
    Чего сурцы зажал? Стесняешься или коммерческий проект делать будешь?
    Dmitry Sapozhnikov
    @o-sdn-o
    Спасибо за оценку
    Paul G
    @paulie-g
    чтобы всё так работало, это нехилый хардкор
    Dmitry Sapozhnikov
    @o-sdn-o
    в планах делать на заказ удобные TUI интерфейсы для всего сподряд
    VTM это как полигон для отладки движка который вместе с ним делаю
    Paul G
    @paulie-g
    So the terminal has a bit of a bug, pagers don't work
    less/bat/etc
    Dmitry Sapozhnikov
    @o-sdn-o
    at the moment I am completely redesigning the terminal
    Paul G
    @paulie-g
    I get that this is a preview build, I'm just flagging it up since I have no way of knowing whether it's not-yet-implemented/a bug/expected behaviour
    понятно, сурцы будут или полностью закрыто? я не идеолог, просто интересно понимать
    Paul G
    @paulie-g
    а так большой удачи, например для индустриальных интерфейсов думаю очень подходит. другой вопрос поддерживают ли существующие терминалы direct color итд, но в СНГ старые терминалы думаю не очень распространены
    Dmitry Sapozhnikov
    @o-sdn-o

    понятно, сурцы будут или полностью закрыто? я не идеолог, просто интересно понимать

    Исходники VTM будут довольно скоро, но там будет видна лишь логика встроенного терминала. Основной пласт работы находится в "Desktopio TUI Engine" (Desktopio) на базе которого строится VTM. Туда входит практически всё - формы, события, рендеринг, мышь/клавиатура, пользовательские сеансы и т.д. Его исходники будут в отдельном проекте после того, как Desktopio заматереет. Под "заматереет" я имею ввиду момент, когда на его базе будет сделано несколько приложений: первым стал VTM (со встроенным терминалом), затем примитивный текстовый редактор, электронные таблицы, пасьянс типа косынки. Возможно, будет достаточно одного VTM с его встроенным терминалом.

    В долгосрочных планах - построить TUI экосистему внутри VTM, сделать удобным Windows Server Core (VTM хорошо себя чувствует в cmd.exe, вдобавок подходе Windows Terminal), сделать возможным совместную работу любого количества людей в терминале (сейчас VTM позволяет одновременно подключиться любому количеству человек и как-то там взаимодействовать). Когда исходники Desktopio будут доступны всем, я думаю народ много чего напридумывает на его базе. Не открываю исходники сейчас, потому что боюсь, что придумают что-то серьезное раньше, чем он будет доведен до ума, и тогда придется поддерживать обратную совместимость, которая не даст нормально сформироваться архитектуре.

    Paul G
    @paulie-g
    Спасибо за объяснение, вполне логично. Думаю, что просто предупредить о статусе было бы достаточно. Проектам, которые в открытом виде развиваются с начала типа Rust это не помешало - люди прочитали и понимают, что придётся переписывать и подстраиваться. Но это вам, как автору, решать. Не факт, что не потратите больше времени на отвечание на вопросы если сейчас открыть, чем сэкономите на какой-то помощи. Может так оно быстрее и/или проще.
    Мне лично была бы интересна на этой базе альтернатива к dvtm, который из-за ncurses не работает с directcolor. При наличии работающего терминала, добавить другой window manager с тайлингом было бы относительно просто. Tmux это конечно хорошо, но не очень удобно, а тут ещё и доп. фичи, и клиент. Можно и thin client сделать для ограниченных устройств, и даже с переносом сессий, как в SunView когда-то было.
    Очень интерестно посмотреть, как это всё сделано. Жду с нетерпением :)
    By the way, middle mouse button seems to work ok in kitty.
    Paul G
    @paulie-g
    If there's something you'd like to have tested, give me a shout - Ubuntu is not a good choice for this, since it doesn't track fast-developing projects like kitty, alacritty and so on anywhere near well enough. No waterfall release distro does.
    Dmitry Sapozhnikov
    @o-sdn-o

    middle mouse button seems to work ok in kitty.

    Thank you, I updated the issue [Demo] List of tested terminals #37

    Paul G
    @paulie-g
    :thumbsup:
    jayden@jmw
    @jayden-jmw:matrix.org
    [m]
    hiii
    Dmitry Sapozhnikov
    @o-sdn-o
    Hi!
    jayden@jmw
    @jayden-jmw:matrix.org
    [m]
    What's new!
    Dmitry Sapozhnikov
    @o-sdn-o
    New Year's theme - built-in terminal internals. 👌
    jayden@jmw
    @jayden-jmw:matrix.org
    [m]
    More support for more terminals?
    jayden@jmw
    @jayden-jmw:matrix.org
    [m]
    VTM has come a long way its tons more stable, and faster. The installation script written in powershell works great.
    There is one issue i've been having and its that sometimes middle click will close the window and sometimes middle click duplicates the window
    Dmitry Sapozhnikov
    @o-sdn-o

    More support for more terminals?

    I meant that on these holidays I am redesigning the internal structure of the terminal built into the VTM.

    At the moment, the structure of the internal buffer prevents many terminal applications such as less/bat/etc from working as expected.

    Designing the internal buffer of my terminal is complicated by the support of clusters of non-standard-size grapheme clusters (stretched over several cells) and their individual fragments (halves/quarters).

    Grapheme clusters should be able to be more than one cell in height/width, as well as it should be possible to process their individual fragments.

    Support for such graphemes by modern terminal emulators is a matter of time.

    Here is an example of how I want to do
    advanced-terminal-i23.gif
    Dmitry Sapozhnikov
    @o-sdn-o

    sometimes the middle click closes the window and sometimes the middle click duplicates the window

    The middle button has two functions:

    • One click to destroy the window
    • Click + drag to create a new window (the action is interpreted as dragging if the mouse cursor is moved at least one cell after pressing the button down)

    Perhaps the mouse cursor moves outside the current cell during the time between pressing and releasing the button, and this action is interpreted as dragging to create a new window.

    jayden@jmw
    @jayden-jmw:matrix.org
    [m]
    k
    JaydenMWSoftwareDevelopment
    @JaydenMWSoftwareDevelopment
    image.png
    The latest versions of VTM are working great.
    Even in Window's standard cmd.exe terminal it has a great experience.