VTM is a based open-source text-based desktop environment that pushes Windows Terminal to the limit
Read full transcript 10 segments
-
Hey friends. Uh, this is a 4K video, so Hey friends. Uh, this is a 4K video, so forgive me if I didn't do this right. I forgive me if I didn't do this right. I forgive me if I didn't do this right. I don't I usually record in 1080p. Uh, I don't I usually record in 1080p. Uh, I don't I usually record in 1080p. Uh, I want to give a shout out to this fella want to give a shout out to this fella want to give a shout out to this fella here. Uh, I don't know this this person, here. Uh, I don't know this this person, here. Uh, I don't know this this person, Dimmitri Sapnikov. Uh, absolutely insane Dimmitri Sapnikov. Uh, absolutely insane Dimmitri Sapnikov. Uh, absolutely insane beast mode. Just bananas. He has got a beast mode. Just bananas. He has got a beast mode. Just bananas. He has got a thing here called VTM. And, um, I'm not thing here called VTM. And, um, I'm not thing here called VTM. And, um, I'm not going to do a great job of demoing this, going to do a great job of demoing this, going to do a great job of demoing this, but it's worth checking out. I just I but it's worth checking out. I just I but it's worth checking out. I just I looked over here and I saw that he's got looked over here and I saw that he's got looked over here and I saw that he's got 2,000 stars. And let me just tell you, 2,000 stars. And let me just tell you, 2,000 stars. And let me just tell you, this guy needs 20,000 stars because he's this guy needs 20,000 stars because he's this guy needs 20,000 stars because he's got an idea. He's got a passion and he's got an idea. He's got a passion and he's got an idea. He's got a passion and he's going absolutely nuts with it. Now, you going absolutely nuts with it. Now, you going absolutely nuts with it. Now, you might be familiar with things like might be familiar with things like might be familiar with things like Screen or T-Mox, but he is creating a Screen or T-Mox, but he is creating a Screen or T-Mox, but he is creating a textbased application which is basically textbased application which is basically textbased application which is basically like if you're I don't know if you're like if you're I don't know if you're like if you're I don't know if you're older as old as I am, there was a thing older as old as I am, there was a thing older as old as I am, there was a thing called Desk View. And desk view was big called Desk View. And desk view was big called Desk View. And desk view was big back in the day. It was a test text mode back in the day. It was a test text mode back in the day. It was a test text mode multitasking environment. Let's see if multitasking environment. Let's see if multitasking environment. Let's see if we can find some desk view uh shots we can find some desk view uh shots we can find some desk view uh shots here. And there was desk view and there here. And there was desk view and there here. And there was desk view and there was desk view X. And desk view would let was desk view X. And desk view would let was desk view X. And desk view would let you rearrange your your things like you rearrange your your things like you rearrange your your things like this. This is called a TUI, right? A this. This is called a TUI, right? A this. This is called a TUI, right? A TUI, a text UI, not a graphical user TUI, a text UI, not a graphical user TUI, a text UI, not a graphical user interface. So if I go here for example interface. So if I go here for example interface. So if I go here for example into into into um into Windows terminal I could go and um into Windows terminal I could go and um into Windows terminal I could go and run you know Midnight Commander which is run you know Midnight Commander which is run you know Midnight Commander which is uh you know like Norton Commander uh you know like Norton Commander uh you know like Norton Commander Midnight Commander for like these
-
Midnight Commander for like these Midnight Commander for like these different kind of graphical interfaces different kind of graphical interfaces different kind of graphical interfaces where the interface is using ASKY where the interface is using ASKY where the interface is using ASKY characters to characters to characters to pretend to be a UI. So this is really pretend to be a UI. So this is really pretend to be a UI. So this is really cool. Uh you can see that there's even cool. Uh you can see that there's even cool. Uh you can see that there's even like a little shadow around each of like a little shadow around each of like a little shadow around each of these things. And then another great these things. And then another great these things. And then another great example which is just a wonderful tool example which is just a wonderful tool example which is just a wonderful tool that I like is called YEdit or Yetit. that I like is called YEdit or Yetit. that I like is called YEdit or Yetit. Yetit is by Malcolm Smith. And you see Yetit is by Malcolm Smith. And you see Yetit is by Malcolm Smith. And you see how you've got a button here like the how you've got a button here like the how you've got a button here like the okay okay okay button tw it switches to being depressed button tw it switches to being depressed button tw it switches to being depressed based. It changes the ASI to it looks based. It changes the ASI to it looks based. It changes the ASI to it looks like it's been pushed in. So you're kind like it's been pushed in. So you're kind like it's been pushed in. So you're kind of skeworphically or simulating uh a of skeworphically or simulating uh a of skeworphically or simulating uh a graphical menu. Absolutely gorgeous graphical menu. Absolutely gorgeous graphical menu. Absolutely gorgeous application. And you can get that from application. And you can get that from application. And you can get that from uh Malcolm Smith's Yori application but uh Malcolm Smith's Yori application but uh Malcolm Smith's Yori application but it's called Yedit Yedit. Um those are it's called Yedit Yedit. Um those are it's called Yedit Yedit. Um those are tuies. Tuies TUIs. Um now I'm in you tuies. Tuies TUIs. Um now I'm in you tuies. Tuies TUIs. Um now I'm in you know Windows terminal which you've seen know Windows terminal which you've seen know Windows terminal which you've seen before. Uh desk view was a was a TUI before. Uh desk view was a was a TUI before. Uh desk view was a was a TUI that I use and I would run multiple DOSs that I use and I would run multiple DOSs that I use and I would run multiple DOSs applications within it. Uh and then desk applications within it. Uh and then desk applications within it. Uh and then desk view X came out and what Dmitri is doing view X came out and what Dmitri is doing view X came out and what Dmitri is doing here is he's created a thing called uh here is he's created a thing called uh here is he's created a thing called uh VTM. So it it does two things that are VTM. So it it does two things that are VTM. So it it does two things that are really really interesting. First, I'll really really interesting. First, I'll really really interesting. First, I'll just run it directly. It's only five just run it directly. It's only five just run it directly. It's only five megs. The whole thing is written megs. The whole thing is written megs. The whole thing is written in just h it's just amazing. Okay, so in just h it's just amazing. Okay, so in just h it's just amazing. Okay, so check this out. So here's this check this out. So here's this check this out. So here's this application. You can see it's kind of application. You can see it's kind of application. You can see it's kind of see-through. It's very very small fonts see-through. It's very very small fonts see-through. It's very very small fonts here. I can zoom in and give you a sense
-
here. I can zoom in and give you a sense here. I can zoom in and give you a sense of what's going on. It's got five of what's going on. It's got five of what's going on. It's got five configured apps and you can edit his XML configured apps and you can edit his XML configured apps and you can edit his XML file and change those configured apps to file and change those configured apps to file and change those configured apps to be whatever you want. So, I'm just going be whatever you want. So, I'm just going be whatever you want. So, I'm just going to click on terminal emulator and then to click on terminal emulator and then to click on terminal emulator and then I'm going to resize this and and make it I'm going to resize this and and make it I'm going to resize this and and make it full screen. It's not super smart about full screen. It's not super smart about full screen. It's not super smart about being actually I just double clicked and being actually I just double clicked and being actually I just double clicked and it jumped over to another machine, it jumped over to another machine, it jumped over to another machine, another screen. So, it's not super smart another screen. So, it's not super smart another screen. So, it's not super smart about about about uh doesn't like being on two monitors. uh doesn't like being on two monitors. uh doesn't like being on two monitors. Let me see if I can fix Let me see if I can fix Let me see if I can fix it. Hang on. Uh I've got three monitors it. Hang on. Uh I've got three monitors it. Hang on. Uh I've got three monitors in an unusual monitor geometry. So his in an unusual monitor geometry. So his in an unusual monitor geometry. So his application gets a little angry when I application gets a little angry when I application gets a little angry when I uh when I maximize it like that. All uh when I maximize it like that. All uh when I maximize it like that. All right. So see if I can show this. This right. So see if I can show this. This right. So see if I can show this. This is the graphical version of his thing. is the graphical version of his thing. is the graphical version of his thing. Now you see that there's like a line Now you see that there's like a line Now you see that there's like a line right here. You see there's like a a right here. You see there's like a a right here. You see there's like a a line there. Look at this. So you can you line there. Look at this. So you can you line there. Look at this. So you can you can drag I'm right dragging the size of can drag I'm right dragging the size of can drag I'm right dragging the size of a window I want. And then a terminal a window I want. And then a terminal a window I want. And then a terminal emulator. Now right now it's defaulting emulator. Now right now it's defaulting emulator. Now right now it's defaulting to to DOSs. I could go and run bash and to to DOSs. I could go and run bash and to to DOSs. I could go and run bash and there's Linux and then I could run posh there's Linux and then I could run posh there's Linux and then I could run posh and here I'll get um midnight commander and here I'll get um midnight commander and here I'll get um midnight commander within and then there's there's dos within and then there's there's dos within and then there's there's dos right there and then maybe we go and run right there and then maybe we go and run right there and then maybe we go and run like vim actually that's going to be like vim actually that's going to be like vim actually that's going to be inside of uh we'll do vim over inside inside of uh we'll do vim over inside inside of uh we'll do vim over inside of okay so of okay so of okay so now I've got these three windows
-
now I've got these three windows now I've got these three windows running within his larger environment. running within his larger environment. running within his larger environment. And these are resizable and they have Z And these are resizable and they have Z And these are resizable and they have Z order and you can fling them around. So order and you can fling them around. So order and you can fling them around. So I could pick this up and throw it and it I could pick this up and throw it and it I could pick this up and throw it and it it has physics like this is just it has physics like this is just it has physics like this is just delightful. When I say this guy's nuts, delightful. When I say this guy's nuts, delightful. When I say this guy's nuts, he's obviously having a blast and I he's obviously having a blast and I he's obviously having a blast and I respect that a great deal. So let's open respect that a great deal. So let's open respect that a great deal. So let's open up a window manager. Okay, so now this up a window manager. Okay, so now this up a window manager. Okay, so now this here is a split window manager within here is a split window manager within here is a split window manager within his application. his application. his application. Okay. And then I'm going to split these Okay. And then I'm going to split these Okay. And then I'm going to split these windows. And this is where you're going windows. And this is where you're going windows. And this is where you're going to see T-Mox and Screen and applications to see T-Mox and Screen and applications to see T-Mox and Screen and applications like that uh kind of start to show up. like that uh kind of start to show up. like that uh kind of start to show up. You see where it says empty You see where it says empty You see where it says empty slot? See right here? Empty slot. So slot? See right here? Empty slot. So slot? See right here? Empty slot. So then I can pick up one of then I can pick up one of then I can pick up one of these. these. these. Oops. I'm over on this screen. Pick up Oops. I'm over on this screen. Pick up Oops. I'm over on this screen. Pick up one of these and drop one of these and drop one of these and drop it into the empty slot. So, I can pick this up. Now, there's hot So, I can pick this up. Now, there's hot keys as well, but I'm still learning the keys as well, but I'm still learning the keys as well, but I'm still learning the hotkeys.
-
Okay. And where' the other one Okay. And where' the other one go, so there's all these hotkeys like go, so there's all these hotkeys like go, so there's all these hotkeys like shift. Let me see. If I maximize shift. Let me see. If I maximize shift. Let me see. If I maximize this, you can grab these and resize this, you can grab these and resize this, you can grab these and resize them. them. them. He's got mouse support for the twoies. He's got mouse support for the twoies. He's got mouse support for the twoies. You can then close these. Shift Windows. You can then close these. Shift Windows. You can then close these. Shift Windows. Shift alt W. Right. And then I can split Shift alt W. Right. And then I can split Shift alt W. Right. And then I can split this open just like this open just like this open just like screen with the pipe command or I can screen with the pipe command or I can screen with the pipe command or I can split the whole bottom split the whole bottom split the whole bottom open with the hyphen. And then I can open with the hyphen. And then I can open with the hyphen. And then I can close them with shift alt close them with shift alt close them with shift alt W and make them into different empty W and make them into different empty W and make them into different empty slots. It's just really fascinating. slots. It's just really fascinating. slots. It's just really fascinating. Now, this here is his graphical version, Now, this here is his graphical version, Now, this here is his graphical version, which is impressive in its own. But I'm which is impressive in its own. But I'm which is impressive in its own. But I'm going to close it. I'm going to go into going to close it. I'm going to go into going to close it. I'm going to go into Windows terminal where I like to do Windows terminal where I like to do Windows terminal where I like to do things. Okay. So, this is a text mode things. Okay. So, this is a text mode things. Okay. So, this is a text mode application here. This is my posh. Oh, application here. This is my posh. Oh, application here. This is my posh. Oh, my posh. And you can see my my graphics. my posh. And you can see my my graphics. my posh. And you can see my my graphics. And if I go over here to GitHub, I've And if I go over here to GitHub, I've And if I go over here to GitHub, I've got uh let's look at some got uh let's look at some got uh let's look at some code. So, right here's I've got icons.
-
code. So, right here's I've got icons. code. So, right here's I've got icons. I've got custom glyphs. I've got, you I've got custom glyphs. I've got, you I've got custom glyphs. I've got, you know, my blood sugar down in here. I've know, my blood sugar down in here. I've know, my blood sugar down in here. I've got a ton of stuff going on. This is got a ton of stuff going on. This is got a ton of stuff going on. This is using some pretty sophisticated stuff. using some pretty sophisticated stuff. using some pretty sophisticated stuff. It's a Windows terminal. But what if we It's a Windows terminal. But what if we It's a Windows terminal. But what if we go over to the One Drive desktop here, go over to the One Drive desktop here, go over to the One Drive desktop here, and I'm going to go and say VT and I'm going to go and say VT and I'm going to go and say VT uh I think it's VTM. Sorry, I'm doing this without VTM. Sorry, I'm doing this without planning because I wanted to show you. planning because I wanted to show you. planning because I wanted to show you. And I'm going to hit And I'm going to hit And I'm going to hit slasht. slasht. slasht. Okay, so this is really crazy. So this Okay, so this is really crazy. So this Okay, so this is really crazy. So this is a screen manager. So these are is a screen manager. So these are is a screen manager. So these are detached processes. He's connecting to detached processes. He's connecting to detached processes. He's connecting to them. I I shut down his entire them. I I shut down his entire them. I I shut down his entire application, but those apps are still application, but those apps are still application, but those apps are still running just like screen and like T-Mox, running just like screen and like T-Mox, running just like screen and like T-Mox, but now they're running but now they're running but now they're running in an mode like a VT100 terminal. We in an mode like a VT100 terminal. We in an mode like a VT100 terminal. We have reattached to have reattached to have reattached to them. We've reattached to them and we're them. We've reattached to them and we're them. We've reattached to them and we're in text mode. Now you see this this in text mode. Now you see this this in text mode. Now you see this this right here. This like asky I don't know right here. This like asky I don't know right here. This like asky I don't know it goes the I go this way that way. This it goes the I go this way that way. This it goes the I go this way that way. This asky line right asky line right asky line right here. It's showing you that there's here. It's showing you that there's here. It's showing you that there's something off screen farther down in the something off screen farther down in the something off screen farther down in the viewport because this viewport marker viewport because this viewport marker viewport because this viewport marker can show you how far away things are. So can show you how far away things are. So can show you how far away things are. So this is way down here farther down.
-
this is way down here farther down. this is way down here farther down. Um, you can close these terminals, close Um, you can close these terminals, close Um, you can close these terminals, close the viewport manager, open different the viewport manager, open different the viewport manager, open different ones. So, here's a viewport manager. ones. So, here's a viewport manager. ones. So, here's a viewport manager. We'll go and open these here. And then We'll go and open these here. And then We'll go and open these here. And then drop whatever you want in. You can have drop whatever you want in. You can have drop whatever you want in. You can have multiple sites. This is now way off here multiple sites. This is now way off here multiple sites. This is now way off here into the into the the into the into the the into the into the the distance. See this distance. See this distance. See this here? I'm throwing that there. There's here? I'm throwing that there. There's here? I'm throwing that there. There's something that just went by. something that just went by. something that just went by. So imagine like a Canva infinite So imagine like a Canva infinite So imagine like a Canva infinite terminal manager uh where you can have terminal manager uh where you can have terminal manager uh where you can have some Kubernetes thing, throw it off in some Kubernetes thing, throw it off in some Kubernetes thing, throw it off in the corner, worry about it later. It's the corner, worry about it later. It's the corner, worry about it later. It's just it feels like Screen and T-Mox and just it feels like Screen and T-Mox and just it feels like Screen and T-Mox and some of the window managers that I used some of the window managers that I used some of the window managers that I used when I was younger. Uh but on steroids, when I was younger. Uh but on steroids, when I was younger. Uh but on steroids, he's he's rethinking how he wants to do he's he's rethinking how he wants to do he's he's rethinking how he wants to do stuff. I'm finding it to be fascinating. stuff. I'm finding it to be fascinating. stuff. I'm finding it to be fascinating. It's fun to play with. It's pretty It's fun to play with. It's pretty It's fun to play with. It's pretty obscure and confusing. It takes a while obscure and confusing. It takes a while obscure and confusing. It takes a while to realize that there's left clicks, to realize that there's left clicks, to realize that there's left clicks, right clicks, middle clicks. If you right clicks, middle clicks. If you right clicks, middle clicks. If you click here, you're getting a resize. If click here, you're getting a resize. If click here, you're getting a resize. If you you you controllclick, you're resizing the left controllclick, you're resizing the left controllclick, you're resizing the left and the right at the same time. If I and the right at the same time. If I and the right at the same time. If I grab this, I can then drag it down into grab this, I can then drag it down into grab this, I can then drag it down into the that slot right there. If I go and the that slot right there. If I go and the that slot right there. If I go and run something here like run something here like run something here like htop and then I'm going to hit control htop and then I'm going to hit control htop and then I'm going to hit control to to to resize that window manager is separate resize that window manager is separate resize that window manager is separate from a a terminal manager that would be from a a terminal manager that would be from a a terminal manager that would be separate and outside which could then
-
separate and outside which could then separate and outside which could then theoretically be dropped in right and theoretically be dropped in right and theoretically be dropped in right and then I could go from there run posh and then I could go from there run posh and then I could go from there run posh and then run uh you know midnight commander then run uh you know midnight commander then run uh you know midnight commander you can see it's actually warning me you can see it's actually warning me you can see it's actually warning me that the console is too small so I might that the console is too small so I might that the console is too small so I might go and maximize go and maximize go and maximize it and then run Midnight it and then run Midnight it and then run Midnight Commander. Can resize these, can pull Commander. Can resize these, can pull Commander. Can resize these, can pull them out to detach consoles, minimize them out to detach consoles, minimize them out to detach consoles, minimize them, put them around somewhere else. them, put them around somewhere else. them, put them around somewhere else. It's it's really really a clever clever It's it's really really a clever clever It's it's really really a clever clever thing. It's been fun to play with this. thing. It's been fun to play with this. thing. It's been fun to play with this. So, go check them out. Give the man a So, go check them out. Give the man a So, go check them out. Give the man a star. Shout out to uh VTM. It's over star. Shout out to uh VTM. It's over star. Shout out to uh VTM. It's over here at github.comdirectvtvtm. There's a there's github.comdirectvtvtm. There's a there's a whole world of these tuies. I wrote a a whole world of these tuies. I wrote a a whole world of these tuies. I wrote a blog post about this many many many blog post about this many many many blog post about this many many many years ago called uh Windows is mixing years ago called uh Windows is mixing years ago called uh Windows is mixing missing the text boat the text mode missing the text boat the text mode missing the text boat the text mode boat. There was guey.cs when in 2020 and boat. There was guey.cs when in 2020 and boat. There was guey.cs when in 2020 and that's things like this right and you that's things like this right and you that's things like this right and you can go and get guey.cs CS and and write can go and get guey.cs CS and and write can go and get guey.cs CS and and write your own console apps like this that your own console apps like this that your own console apps like this that have UI. But in 2004, this is have UI. But in 2004, this is have UI. But in 2004, this is 21 years ago that I wrote this, I talked 21 years ago that I wrote this, I talked 21 years ago that I wrote this, I talked about how text mode, baby, people are about how text mode, baby, people are about how text mode, baby, people are missing the text mode boat. You can go missing the text mode boat. You can go missing the text mode boat. You can go take a look at uh at guey.cs.
-
take a look at uh at guey.cs. take a look at uh at guey.cs. Uh if you're interested in this one, Uh if you're interested in this one, Uh if you're interested in this one, this is a a nice modern terminal UIs this is a a nice modern terminal UIs this is a a nice modern terminal UIs uh that you can do in uh in in Swift, uh that you can do in uh in in Swift, uh that you can do in uh in in Swift, you can do inn net. It's super fun. you can do inn net. It's super fun. you can do inn net. It's super fun. They've got combo boxes and all that They've got combo boxes and all that They've got combo boxes and all that kind of stuff. So shout out to this kind of stuff. So shout out to this kind of stuff. So shout out to this gentleman for just being a absolute gentleman for just being a absolute gentleman for just being a absolute crazy person. And uh he's got a Windows crazy person. And uh he's got a Windows crazy person. And uh he's got a Windows and a text mode. So the same app, and a text mode. So the same app, and a text mode. So the same app, remember that I typed T for the TUI remember that I typed T for the TUI remember that I typed T for the TUI version, the text mode version. And that version, the text mode version. And that version, the text mode version. And that got me. And that works great inside of got me. And that works great inside of got me. And that works great inside of Windows Terminal. Like Windows Terminal Windows Terminal. Like Windows Terminal Windows Terminal. Like Windows Terminal support for this kind of craziness. Uh support for this kind of craziness. Uh support for this kind of craziness. Uh is uh is a is is uh it's a testament to is uh is a is is uh it's a testament to is uh is a is is uh it's a testament to the Windows Terminal team, but also to the Windows Terminal team, but also to the Windows Terminal team, but also to this gentleman's job in getting this this gentleman's job in getting this this gentleman's job in getting this thing to actually thing to actually thing to actually work. It's pretty pretty cool. Pretty work. It's pretty pretty cool. Pretty work. It's pretty pretty cool. Pretty good. So, let me know what your favorite good. So, let me know what your favorite good. So, let me know what your favorite text mode applications are down there in text mode applications are down there in text mode applications are down there in the Oh, look at that. Left. Hang on. the Oh, look at that. Left. Hang on. the Oh, look at that. Left. Hang on. Left. Oh, look at Left. Oh, look at Left. Oh, look at that. See? Dragging around the that. See? Dragging around the that. See? Dragging around the viewport. So good. So good. All right.
-
viewport. So good. So good. All right. viewport. So good. So good. All right. Let me know what your favorite text mode Let me know what your favorite text mode Let me know what your favorite text mode apps are in the in the comments and like apps are in the in the comments and like apps are in the in the comments and like and subscribe.
Summary
This transcript introduces VTM, a text-based user interface (TUI) inspired by retro multitasking environments like Desk View and Desk View X. The speaker highlights the impressive work of Dmitri Sapnikov and Malcolm Smith, showcasing examples like Midnight Commander and YEdit. The key takeaway is to explore these advanced TUIs for a new way of interacting with applications.