We can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect
System Crafters · 731 views · 16 likes
Analysis Summary
Worth Noting
Positive elements
- This video provides authentic, hands-on demonstrations of terminal multiplexer layouts and real-world Lisp/Scheme development challenges.
Influence Dimensions
How are these scored?About this analysis
Knowing about these techniques makes them visible, not powerless. The ones that work best on you are the ones that match beliefs you already hold.
This analysis is a tool for your own thinking — what you do with it is up to you.
Related content covering similar topics.
A Year Without Vertico - System Crafters Live!
System Crafters
Embedding Scheme in C Apps with Chibi - System Crafters Live!
System Crafters
Declarative UIs in Emacs with vui.el - System Crafters Live!
System Crafters
Zellij Revisited: Crafting Project Layouts - System Crafters Live!
System Crafters
Accounting in Emacs with Ledger Mode - System Crafters Live!
System Crafters
Transcript
[music] One more. >> [music] >> Happy new year everybody. Welcome to System Cutters Live. I'm David Wilson and we're back again with another Friday stream where we get together as a community and talk about whatever topic I've come up with. Uh not at the last minute today, but at least I'm here at the last minute or like let's say 15 minutes after the last minute uh trying to do things I shouldn't be doing as usual because that's that's what I do when uh trying to be a professional uh live streamer. Not really professional live streamer. I'm just a person who likes to talk in front of a camera once a week. But uh yeah, I was basically trying to rewrite my stream overlay that you see up here when someone says something in the chat. I was trying to rewrite my stream overlay in sigil, the language I've been working on, the scheme basically scheme implementation I've been working on for the last maybe month and a half now. Uh I just got it working and it was it was doing great. uh the chat was showing up on the on the overlay and uh you know all the polling for messages and stuff in the background was working and then after about you know 10 15 messages in the chat uh it hit a uh Stack Overflow error. So looks like we're getting commercial breaks for people in the live stream audience which is great. Always love to see commercial break. Actually that shouldn't be happening. I turned off monetization. Let me know if you're seeing ads because I turned off monetization in the stream. Okay, it's a little bit messed up if they're putting ads in front of it because I told them not to. I'm sorry if you're seeing ads right now, but uh YouTube did not have my permission to do that. I don't know why they did that. Anywh who, point being um there are some bugs to work out, but you know, there's an an IRC client implementation now and asynchronous uh server management. Oh, you saw the banner. What banner you Oh, you mean the the the logo? Okay, good. If there's not an ad, that's good. Oh, in Twitch. Okay, Twitch is a different story entirely. I I can't really say anything for Twitch. So, yes, uh sigilbased uh live stream overlay with some extra goodies is probably going to be happening pretty soon because like the bare minimum implementation that I already had working in Guile uh is working in Sigil. And if you don't know what I'm talking about, um, let me just go over to the other computer for a second here and just pull it up. Uh, got a lot of stuff in here. Us, sigil.org. Anyway, this is my little uh, passion project that is uh, mostly written by Claude Code, but I'm doing a lot of work to make this thing happen. So I I take full credit for uh what it's producing. Uh anyw who it's just a scheme implementation that is uh at least fun for me to work on. I don't know if it's fun for anybody to use yet, but it has quite a lot of stuff in it. If you go look at the reference uh library reference, there's quite a lot of libraries in here. Some of these probably aren't so useful to you, but you know, there's some stuff that you probably would recognize and want to use. Part of Geeks Gang. U maybe later. Who knows? Um, anywh who, the point being is that uh you're going to see some changes in the stream uh overlay stuff soon because there there's some ideas I've had for a while that I haven't really gotten around to that I will be able to do now because I have the necessary necessary tooling to do it. So, that should be fun. And then maybe Ashraz won't have to come here and copy messages between uh YouTube and IRC the whole stream, which I'm glad he's not here right now and he's like probably having a good time somewhere taking a break and not trying to copy messages uh for people in the chat. I I appreciate him him doing that, but I also feel bad every time he has to do it. He just he takes it upon himself to help me out because he knows how um how hope hopeless it all is. All right. So, yes, happy new year to everyone. I hope you all had a great holidays. Um, I think I've had enough holidays for now. I'm I'm good. I've had enough. I'm ready to like have a normal person schedule again and I just have things happening all the time that I have to go to or like, you know, stuff that I have to eat. You know, eating is not bad, but like, you know, eating big meals and eating like, you know, cookies and sweets and stuff all the time, you know, it just gets a little bit old. I'm ready just to starve myself again for uh for the sake of beauty, you know, because I'm obviously walking the uh the catwalk at uh fashion week and things of uh things of that nature. I don't know why I said that. Uh gun says, "Where did it get his name from? There aren't any sigils like in Pearl." And Faith says, "Sigil is a synonym of symbol. Lisp is a symbolic language." Yes, that is right. And it's also um a mystical symbol of power. I mean this kind of like a it's like a thing that is powerful. It has inherent power. I don't know. Like I'm not saying that for sigil stuff. I'm saying that for like scheme and lisp, you know. So it's cool. It just sounds cool, you know. Um I like the name. Let me say hello to the people who are here so far. Um I can't scroll up, but I know I saw uh gun infreak. Uh, Peter, Glenn, Fade, Cal, uh, Auntie, uh, who else? Someone else was above at the very beginning, and I probably missed their name. Sorry if I missed your name. Uh, also I see Mike. Hey, Mike. And hello to Discordianism. Mike says, "I guess I should look at your sigil video, but what was the reasoning for writing sigil?" Well, I don't have a video per se on it yet, and there will be one probably at some point. Uh but it will be more in the vein of like a really basic scheme tutorial like really really basic scheme tutorial something that someone can go on to uh the actual website and do because there is a website that is kind of a little bit broken right now if I can find my cursor again. All this fancy page switching. If you go to the main page and hit try it there's um a little demo area. It says that it couldn't load a library. I'm looking into that. But it actually you actually can run the code here. So you could open the examples in this little dropdown like the JSON example. You can hit run and it will uh run it and print the output. So um yeah, you can go check that out and uh that's probably what I would do if I was to like, you know, do a really simple Scheme tutorial video or something. I would just have them go to that site and and try it out. Um let's see, where was that question? I know I saw that before. because Peter's referring to it like why? There's a why question. Why did we do this? Where is it? Basically, that's a cool feature, the webrepple. Yeah, that's basically the the core of um like being able to deploy apps and stuff to the the browser. Hey, Alejandra. [music] Because I want to do some game development with this thing and put it on websites. That's that's another thing that I want to do there. Anyway, the the question Oh, yeah, Mike asked the question. and what was the reasoning for writing sigil cuz I wanted to do it like I had been working on my own scheme implementation or something like scheme called mesh a couple years ago and it's difficult to do that all by yourself and now that AI has gotten pretty sophisticated to the point where it can write some pretty deep code uh I was like okay why not just try to see if I can write like a full scheme implementation and um let's just say it's gone a little bit too far this point I've basically written an entire ecosystem in less than two months and it's only speeding up now after I've gotten like the all the basic stuff um working and fairly stable. There's still bugs. There's a lot of GC bugs that I keep hitting every now and then where it will cause, you know, weird issues or crashes, you know, use after free or like, you know, invalid pointers hanging around the these kinds of issues. But, uh it's um it's it's getting better and better and I'm writing more actual code in it these days. um that does stuff. So there there's there's some stuff brewing. Peter says, "Seems to be the normally nowadays terminal to web browser." Um oh, you mean terminal like a terminal app in the browser? Well, yeah, there will be actual like graphical apps and stuff. Yes, Alejandro. Invalid pointers equals debugging party. Yes, that's true. There's been a lot of debugging parties uh in my house by myself. So, um, what else is going on? Let me actually get the show notes started up here. Mike says, "That's the reason why we do most things." Yeah, because I want to because I was bored. I needed a pro [clears throat] project to to bring meaning to my life and that's what I decided to do. Um, where am I projects? Well, let's just do XP here. Uh, systemcrafters.net. Hey, systemcrafters.net. There we go. Find file December 2025. I know it's not December. I guess I got to pull up one of the old files here. Okay, this is my my workflow. It's really efficient as you can see. Let me just grab this part and then say January 2nd, 2026. Can you believe it? It's 2026 already. Like I felt like it just turned 2025, but 2025 ended up being a pretty um weird year. Really weird year. Um hopefully this one's better. Really weird. So, uh, Zel, I actually watched a video, uh, what would I say? Revisited, uh, a video by the person who wrote Zelig and I think he pronounces it Zeal. So, maybe I should be pronouncing it Zelage. Ara says 2025. I feel like it's still 2020 2022. Yeah, you know, that was a good year, I guess, in some ways. I think so. I had just moved to Greece. I was doing a lot of live streaming that year. That was fun. All right. Um, January 2, 2026 66. Okay. Sorry. I didn't mean to start like summoning demons. Okay. So, the man, I got way too many screens and computers I'm trying to manage with one single keyboard and it's starting to uh drive me nuts. Okay. Hey, Judy. I haven't seen you in a while. Happy New Year. Um, Faith says, "How about walking us through the sigil overlay code for the stream?" Yeah, I might do that after uh it gets a little bit further along. Maybe next week. Um because it's kind of interesting because I'm using uh concurrent programming like channels kind of like go routines from go and it's possible for the IRC server sorry the IRC client and the HTTP server to sort of cooperatively uh listen for activity on sockets and then uh defer to other concurrent processes inside of theuler. let's say um to be able to make it seem like it's single threaded when it sorry multi-threaded when it's actually single threaded concurrency. So uh it's kind of cool. I don't know. It it works. Judy says, "Need to be in IRC more in 2026." Yes, IRC 2026. We're going to we're going to take over the IRC airwaves. We're all going to be there more often. Me, too. I actually have started being in the IRC a lot more often. Uh, I'm surprised that uh that Trev's not here because usually he complains that I'm not in IRC. So, where is Trev? I mean, Trieve. Um, geeks course coming soon. I have been working on the Geeks course that I've been kind of working on on and off for a while. Um, and it's coming along. Uh, it's another one of the kinds of courses that I like to make where I try to go into the actual the details of how it works instead of just telling you like what commands to run. Uh, it's called Geeks Essentials and it's really for people who haven't installed Geeks before or really don't like they maybe you've used it very little and you don't really know sort of like what it's doing behind the scenes. So, it's meant to um help you install Geeks for the first time and uh to explain the concepts of Geeks and sort of just a general day-to-day usage patterns for how you would use Geeks as your primary uh Linux distribution or your prim primary operating system. That will be the first of a series of three courses. Uh the second one being basically crafting your um your desktop environment or your your your whole system. Let's say crafting your whole system with geeks. You go we go we go more into detail about like writing setting up your geeks home configuration, writing your own uh custom home services, uh setting up all your applications, setting up a desktop environment with Wayland and Sway or maybe a different window manager. Um and sort of more like getting into the code details about how to customize Geeks. And then a third one would be like how do you actually use geeks for deploying a server. So kind of like a progression from just how do I get geeks on my machine then how do I uh use it effectively and and customize it so that I really feel like it's mine and then how do I use it for things more than just like you know making my computer look cool. So um that's all coming in the upcoming months. The first one though, I think should be out by the end of January or early February because like the I've gotten a lot of the content written for that one, but I need to record the videos and I probably need to run it by some people first just to make sure that um the way I'm covering things is effective. Uh and I need to get the like the installation walkth through button down. Um, obviously there's the video that I already have about how to install Geeks. Um, installing Geeks is a complete GNU Linux system or something like that, whatever that was that I made a few years back. Um, that one still works, but the image that I that I would automatically generate that has the Ngeeek stuff built in, it's kind of not necessary anymore because the Ninegeeks community produces their own installation image. So, I'm trying to use that as the gold standard now and just try to come up with an installation flow that just works with the stuff that's already done by the community so that it's uh a bit uh more timeless and easy to follow, I guess you could say. So, look for that soon. Um, I'll probably have some more details next week about like um I don't know if I'm going to do like a pre-sale type thing like just for people who want to go ahead and and get in before I get the thing completely launched, but I'm doing a few different things at the same time like I'm trying to finish up the the course material there. And I'm also trying to get the new um course system set up on the main system crafter site so you can go there to look at it because I used to have a different site that I use for that. Um, so there's a multiple things happening at the same time. Anyway, point being that's coming. I'm actually really excited about it because um, I enjoy making courses and I haven't done one since I finished the Guile course. I mean, I did the get good workshop, which I never finished making into a pre-recorded course, but that one will come to cuz I'm kind of getting back into the groove of things now that I've got, you know, uh, gainful employment. I need a way to procrastinate. So, uh, working on a course seems like a good way to do that. and also making a scheme implementation for no reason. Fade says, "I will take this course." Well, that's awesome. I'm glad to to hear that you are interested at least. Fade. Okay. Um Braxton says, "What course is this new one? It's going to be uh the Geeks Essentials course. It's basically like getting set up with Geeks for the first time and understanding the core concepts, how it works." And Braxton says, "How is Greece?" H it's a place in the world where I live. I mean it's there's nothing really that special about it. It's super cold right now. That's all all I can tell you. Like it's way too cold. Glenn says, "Get good was very good." Thank you, Glenn. Glenn is is uh the one person who's always hyping up my courses and I really appreciate that. Um I like it too. I want to get it out into an actual course material because I think it's fun. Like the way that we covered it, kind of going deep into the guts of Git. Um useful. I think it's pretty useful. uh easier to uh learn how to use it, I think. [laughter] Mike says, "Gainful employment. Sweet. Money is good." Yes. Well, it takes the pressure off, let's say. Takes the [music] pressure off. FA says, "Your scheme course produces fully viable hackers. I was impressed." Yes. Glenn has uh surpassed all expectations in terms of someone who would come out of a course that I made and actually like start coding on a lot of projects uh with with no uh prior hacking experience. Let's say hacking, crafting, that kind of thing. All right, Geeks course coming soon. Uh Geeks Essentials, I'll have more to share next week. Uh what else? Um, so you know what? Because I'm lazy, not really lazy, because I tend to procrastinate on things, um, I left I left the the discount up for the scheme course on the website after Black Friday and people have been buying it. So, I'm just going to leave the discount up longer because why not? If if people seem to be interested in getting the course, I'm just going to leave the discount up. Um, so if you go to systemcrafters.net slash come on now courses/handson guile skiing beginners uh then there's the information for the guile course and uh it's 99 bucks right now so that's the current price on the course uh with a discount bait says take the course Jeff says I'd like to be a viable hacker you are a viable hacker dude you're doing stuff you in the community already. You're you're working on uh crafted emacs. So, um yes, uh discount is still up for hands on guile scheme for beginners. I can't even type. So, um what's been going on in the community in the world? I've been doing all the holiday things and I haven't been paying too much attention. I've also been spending a lot of time working on Sigil, which has been a ton of fun. And uh I've kind of been a little bit too obsessed with that, but it's producing useful things for me. And that's really all that matters is that it's producing useful things for me. Um Mike says, "What's this get good course? Get good." Uh this is I did this what was it December of 20 24 when was this or January I can't remember when it was but it was a long time back um anyway it was a workshop that I had done about uh git like understanding git internals I was I'm going to turn it into a course yeah it was just over a year ago so I'm going to turn it into a video course too But I just haven't gotten back to it yet. I had worked on it a couple different times trying to like, you know, finish the material. I don't want to look at my face for some reason. I' I've tried a couple times to get back into it, but I haven't gotten there yet. So, it will it will happen eventually. Uh, let's see. It says, "You've already learned common list, Judy. You don't need to worry about scheme." And Judy says, "I do want to play around with embedible scheme stuff." Well, embeddible in what way? Like into a C application. Jeff says, "I do enjoy some common list." Yes, common lisp is fine. is great. I think uh I'm trying to make sigil more tempting to commonless people. Eventually, you might want to use it because the ripple experience will be a lot better. It already is pretty good, but um there's still a ways to go before it gets CL level. Judy says C is kind of my main non-list language. Well, with Sigil, you can embed it in a C application, but all the tooling is kind of meant to for it to be like the primary language, but you can easily pull in uh C code into a project and build it. So, there's stuff for that. Uh FA says make it a list two and you get a lot of the way there. See, that's the thing. I don't want a list two. I want a list one. I want there to be a single global namespace. I know that it causes problems for various different reasons, but I prefer it. What can I say? Okay, what else is going on? I'm trying to think if there's been any news. I mean, it's the holidays. I guess nothing's really happening. Nothing's really happening in the world because everybody's, you know, busy with all the marrynt and uh gaining 10 pounds. I don't know how much that is in kilograms, but, you know, everybody's gaining weight from all the food and uh drink and stuff. My daughter was complaining last night because she noticed that her belly is getting bigger. And I guess this is the first time she realized that uh eating too much sweets has consequences. So uh we're learning new things in in the family. It seems says I've already played around with uh calling C from common list and the experience is pretty good although I'm stubborn and use SPCL internals instead of CFI. Yeah, I don't have any dynamic FFI story yet. You can write C code to wire things up yourself, but I think I will probably provide a dynamic FFI library at some point. Braxton says, "We have to invent lisp 3." I don't really want to know what that is. Um, what's the third dimension? You know, you've got Scheme, which has a single namespace for all symbols or a single single binding environment for all symbols and uh common list who has multiple binding environments for symbols. What's the next dimension for lisp? Is it holographic compilation somehow? You know, is it quantum computing, [music] cubits, things of that nature? Judy says, "Well, if Emacs only had faces on top of functions, variables, it'd be EMAC." I don't know. Peter says, "Lifetimes are fun." Are we are we getting uh philosophical, metaphysical here? Are we talking about uh lifetimes of of bindings? Anyway, I've been spending way too much time working on a language lately. You can tell all my jokes are are language related. Okay, so uh let's see. Let's take another look at Zelig. That's how I'm going to pronounce it because I don't know for sure. Zelig. So, I did a stream about Zelge. I want to say it was like two years ago. It was February of uh 2024, which is crazy if you think about it. Um, if you don't know what Zil is, which you probably don't, maybe you've heard of it. I'm sure you've heard of T-Max. So, T-Max is a terminal multiplexer. is basically a program that allows you to um launch a program, a terminal program inside of it and also launch many terminal programs inside of it and you know do things like uh switch between tabs uh split panes to have multiple terminal programs running side by side. Usually if you see people having like a really um I'm trying to think of a better word than the one that I just almost used uh with a very fancy Vim setup or Neoim setup. Usually they're using T-Max for um putting like a terminal or a file browser or something next to their editor pane. So T-Max is used quite a lot in other circles in the kind of you know Linux or developer community. Uh, Emacs does a lot of that stuff already for you because you can have a terminal emulator sort of baked into Emacs. So, people who use Emacs often don't need to use something like T-Max so much. That's why you don't really see, you know, me talking about it that much or other people who use Emacs talking about it that much. Judy says, "Or GNU screen, I guess." Yes, screen is another example, but um, Screen is kind of primitive by comparison. I think Team is a lot cooler and more useful. [music] Zel is like another generation after T-Max. Uh it was written with a lot of inspiration from Teams, but it's meant to be a lot more modern and a lot more user friendly by default. Um and we tried it a couple years ago. I don't really remember what my conclusions about it were. I mean, I guess I didn't really feel like it was necessary for Emacs users because it was um you know, it does a lot of things that you already get from Emacs, but it seemed cool. Um, but recently I've been spending a lot more time in the terminal because of cloud code and uh there are other interfaces to cloud code like especially in Emacs. There's ways that you can integrate cloud code in Emacs but still to me there's something interesting about running it just [music] directly in a terminal. Okay. Um, and because of that, I'm thinking, okay, so if I'm spending so much time in the terminal in cloud code, how do I rethink my uh my workflow? Also, how do I get access to the same things I was already doing from my phone over SSH if I need to kind of check in on something or uh write down some ideas when I'm on the go? So, I thought back to, you know, apps like T-Munks again and then I started looking into Zel and it does some pretty interesting things and I've kind of like only as of about, you know, today, yesterday, I've started working on some workflows with it, but um there's some stuff you can do with it that I think is pretty interesting that I wanted to talk about and maybe um see if there's something to it. There's also some interesting features like you can uh have your browser you can go to a browser page to get into your Z sessions. So uh even another another aspect to it you could actually go in your web browser and then jump into your uh your terminal sessions remotely even in if you have like you know tail scale or wireguard or something like that. So kind of interesting. B says I have no terminal multiplexing needs that aren't met by screen. Yeah, screen gets the job done for most things, I think. Also, there's t uh in emacs, but I've never really been much of a lover. I mean, it works, but um I don't really use it heavily. I don't really do things on remote machines that much. People who do a lot of system administration probably do love I've done more of it recently because I've been hosting, you know, servers for system crafters, etc., but uh yeah, it's not been as much of a thing for me to use Uh auntie says, "T-Mucks is way cooler. GNU screen. Sc screen is the past. I haven't used screen that much. The last time I tried to use screen, it didn't turn on like 256 color um term info by default and it just like looked really really cra uh crappy. So Judy says, "I've used a lot. Sadly hard to run Emacs in certain environments for me right now to use So I'm stuck with running Emacs by SSH on a remote host, which is not as [music] good. it can be fine. But one thing I'm realizing while using Emacs in the terminal again is that there's just weird things that don't work the same like certain key bindings like uh the ones for going to the top and the bottom of the buffer like the alt shift uh well alt um angle left angle right brackets. Those don't work perfectly and I kind of use those a lot. So I need to figure out a way to get around that problem. Anyway, okay. I'm rambling a lot here. Uh, so evil mode works as expected. Yes, evil mode does work. See, that's the thing is like on a mobile phone when you're trying to use Emacs, evil mode or Vim style key bindings are way better because you don't have to use modifier keys. Uh, and you can get around a lot easy, a lot more easily. But I've broken away from using evil mode a couple years ago now. So, I'm not really going to try to get back into using that. If I were to do that, I would probably just try to use Vim instead or Neovim, which I know is sounds crazy, but I've thought about it. Uh, let's see. Alejandra says, "Emac is my multiplexer. I don't work in remote host, but I can run Vim in a remote connection via SSH." Yes, that's true. Okay, so uh, Zelge, the nice thing about Zel is if you download it, if I can find my cursor again, if you download it, you can just run it directly. You don't have to do anything special. You don't have to install it. just download it. Uh, so I'm just going to download that Zelge build and it's there. I can go over to my downloads folder and then Z. I'm going to unzip that thing. And then now we got our ZE binary here. So now that we've got that, um, let me see. Do I actually have a bin folder somewhere? BIN. Is that wired up? Yes, it probably is wired up. So I'm going to move that ZLE file over to my bin folder. So, downloads uh I'm going to uh rename that over to Whoops. Home dill bin and then go into shell and then uh zel help. All right, it's in there. Cool. All right, so I can just open up terminal in that case and then type in zel. And now it's uh brought us into a Zeliz session which kind of looks a little bit garish to me by default. Um not the greatest not the greatest um color set I say by default. And also all these little arrow bars just really reminds me of those um customizations you would see in Vim like 15 years ago like the telephone bar or whatever those were that had the kind of arrow funky bars at the bottom just to make it look cool. There's a few of those in uh in Emacs land, too. I'm not really a big fan because I just think it's like too visually distracting. So, I figured out some ways to to cut all that stuff out, and I'll show you in a minute. Uh Alejandra says, "Unexpected keyboard from works great in Android to use Emacs." Honestly, I'm using the normal keyboard that I um that I use. It's a FO Android keyboard. Yeah. is this keyboard. It's not nothing special. Like it's just a normal keyboard. It's kind of like Swift key but without all the u Microsoft analytics tracking built into it. If you've ever heard of Lewis Rossman before, the guy who's on YouTube kind of repairs computers or whatever. He's I think he's behind this. Anyway, I use that with um like there's a little extra bar of buttons you can make show up in the Termox program in Android and that that does enough for me. I think it works pretty well. Anyway, Zel. So, welcome to Zelge0431. What's new? Web client multiple pane select. If I click on these, what happens? Oh, okay. That's cool. Includes a web client allowing you to share sessions in the browser. We might try this and just see how well it works. I'm kind of curious about it. Haven't tried it yet. Allows you to bookmark sessions. Built-in authentication. Can be used as a daily driver making your terminal emulator optional. That's kind of interesting if you think about it. Uh, it's completely opt in. Cool. [music] Multiple pane select, ability to perform bulk operations on panes, close, make floating, break to a new tab, etc. Alt, leftclick, then toggle with altp. The other thing that's interesting about this le is that uh mouse functionality actually works. You can drag windows around and say it says you can pin them. I've never seen that before, but kind of weird. I mean, you're I'm dragging a window around the terminal. So, it is kind of like a terminal based window manager in a way. So, go back key tool tips for the the compact bar. This is something we'll take a look at because I did look at this and it's kind of nice. Um, the reason why this bar is here at the bottom is to remind you of all the key bindings, which to me it's kind of pointless. I don't want to know all the key bindings all the time because after I get familiar with the software in the first hour that I'm using it, I don't need the key bindings all the time, but I would like to be able to call them up when I need to. And that's what this tool tip thing is about, which we'll see in a minute. Uh, but I've also turned that off by now, too, because it just gets in the way. Stack key binding, stack panes, that's kind of cool. Uh, performance improvements. Sure. Great. All right. So, we launch Z. It automatically creates a new uh session with a generated name, Vitrius Viola, which is cool, I guess. Um, and you can jump into running sessions by those names. So, if I were to go, well, I can do it from here. Z uh LS. It tells me that there's Vitrius Viola. If I were to open up another Zel in another terminal, this one is Vitrius ukulele. If I do the same ls again, you'll see that they're both open. And I can even switch between them. I can say uh what is it? Controll O for session. Uh W for session manager. And then where is the other session? Oh, maybe it's cuz they're currently being used. Huh. That's interesting. Control Ow. There it is. Okay. If I switch to Vitrius Viola, then both of these will basically be looking at the same uh editor at the same time or the same [music] same view. Anyway, that's kind of pointless. The real point being that that uh sessions are kind of built in, kind of easy to deal with. Hey Trev, peanut butter zellies time. Okay. Uh, Fade says, "The least conflicts some of the bindings I use in my window manager." Yeah, we're we're going to look into how to deal with that because uh using with Emacs is kind of a problem because a lot of these bindings like control PRN, etc. are very common in Emacs. So, you got to find a way to get them out of the way. Okay. So, we're going to look at how to how to do that, too. Anyway, um we've got both of these sessions up here. They're not really that that fancy. But maybe what we should do to start with is try to run Emacs in here and then edit the configuration for Zege and just get some of this gunk out of the way. Right. So, Emacs client uh NW. Let's see. Uh yes, I need to do server start in my other Emacs. So, server start. All right, let's try that again. There we go. Now we're into Emacs inside of uh Zelich tab bar mode. Turn that off because we don't need that stuff at the top. Okay. So there you go. Now we're we're inside. Now I think that by default it creates a configuration file for me in this uh yeah see we were already dealing with issues uh with ebindings in this uh kd file format that people seem to keep complaining about in the IRC. Trev's complaining about it. Uh, alternate vets complaining about it. I haven't noticed that it's that annoying yet. It kind of reminds me of Sway's config file format. I'm not really sure though. Uh, yes, Trev. That's one of the things I want to talk about is making basically a layout file. Anyway, we got to get this thing set up so that we can do control and control P because otherwise we can't use Emacs in here. So, I'm going to use arrow keys instead at first. Al says, what is that? What is what? [laughter] Uh, first, um, let me go to, uh, compact. Where is it? Uh, default. Whoa. What the hell? What happened? This is terrible. That was the weirdest thing I've ever seen. Hey, I got to fix the key bindings. It's all messed up. Is control S. Oh, S is search. No wonder. So, I can't even use control S in Z. Empathy Monster says, "I like HUML. I don't even know what that is. I kind I'm kind of concerned about it to be honest." Um, what am I looking for? I'm looking for the defaults. All the key bindings are up top and they take up a lot of space apparently. So, Trev says, "I missed the reason why we're back on terminal EMAC, but I don't want to know." Take one guess, Trev. Take one guess. Um, all right. So, default layout compact. Is that the one? So, I'm going to save that. Oh, I can't even save files. Save buffer. There we go. I saved it. So, usually whenever you save a buffer, sorry, save the configuration file, it automatically detects that you've changed it and it will reload it, right? Uh, it didn't do that right now. And that's okay. Self-inflicted pain. No, Trev. It's actually because of uh clawed code. So, let me see. The first thing I want to do set the default state cuz as you can see, there are different key binding states here. If I press Ctrl P, it puts me into the pain state, which is almost like a sub key map. and it has other keys you can press in there. Um, by default you're in what's the called the normal key state or the normal state. Uh, but you can also press controlG to go to the lock state, which means that it doesn't like all the other key maps are kind of out of the way and they don't bother you. The AI lipstick, give me a break. So, what I want to do is set up that lock state by default so I can use all the key bindings in the apps that I'm in already. So, where is that default? Let me go zoom down. Uh, default shell default mode locked. We're going to put it into default mode locked here. And I don't think it um Wait, let me actually Hey, get out of here. Ah, I can't even do anything. There we go. So, the default state is locked now. All right. So, I need to have it in locked state so I can do move around and do things. Hold up. Hold up. Hold up. Yes, it's locked. Now if I use control N control P I can um but we still have the problem of it being control G and control G obviously is used quite commonly in EMAC. So we need a way to deal with that. So what I think uh I did before in the lock state I changed the the binding from going back to normal to go back to normal state to escape. Is that the right key? Yeah. Escape to unlock. Uh, and now in normal state, we can see that there's the state names here. I'm going to go back to to locked state. I'm going to go down. In fact, I can use control and control P to locked. Locked. Locked. Shared except locked. Locked. Locked. Locked. Where is the locked state? Oh, it's right there. No. Um, shared except locked. Maybe I'm looking for normal state resize. Resize tab pane. Is it the shared except G switch to state locked? I'm going to put this to to Alt Z. Do you ever use Alt Z as a key binding in Emacs? I don't. All right. So, Alt Z. Um, wait, hold on. Alt Z is switch to mode. No, no, no, no, no, no. Escape. That's what I want. Escape on this one. I think I did it backwards. So, I want escape to go to locked mode. I can't hit this binding anymore. Um, and then locked. I want to use Alt Z to unlock it. All right. So, Alt Z. So, every time I save this file, it's actually updating the the bindings, right? So, uh, unlock is the thing that we're we're going to use. So, now I'm getting all the key bindings to go into Emacs, even control G, uh, without having to do anything special. Then when I hit Alt Z, it puts me into that state where it's like control and control P, etc. like all the other bindings. So, like if I want to create a new tab, I I can hit control T and then N to create a new tab. And you see I have a second tab up here I can click to switch between them. So, um, that's kind of the deal here is that you want to have some key binding that doesn't conflict with Emacs so that you can hit that one to get into the other key maps that Zelles provides. And that's kind of the key for key maps. It's kind of the key for if you're going to use Emacs instead of Zelles is to do something like this. I don't know if there's a better key binding that is not really used in Emacs that would be easier to hit, but alt Z has worked pretty well for me so far. Uh, I'm sure other people have other ideas, but you have to be careful though because some key bindings don't work the same internals as they do in graphical emacs like control semicolon or control carrot and other things like that. Uh, Peter says mosh is pretty nice and low stack depth for remote session persistence. I need that. Um, I know that it's in geeks. I haven't set it up yet, but I really do want to uh to do that. BA says if you have a full-frame graphically emacs, you don't need ZE. Yes, that's true, but I have different reasons for using it this time. uh the uh non graphical emacs. Okay, so we see this that now um the the workspace is a little bit easier to deal with because we can get all of our key bindings in EMAC. We can do crl + xrrol srl sux c to exit. All the things that we need to do, we can do no problem. All right, so let's go back into Emacs. Uh, the next thing is to to change the theme because it looks a little bit ugly. So, I'm going to change this to Tokyo. What was it? Night. Okay, [clears throat] that Tokyo night dark is the one I found that I liked. It kind of reminds me of System Crafter stuff. So, it gives a better look to it overall. Like the bars aren't so hideous and uh that's nice. Sure. That's great. Uh the other thing is we need to change that bar. So we got the compact layout which is fine. I really need to figure out how to get that uh let's see auto layouts. Where is the setting for this? There's a way to make the stuff go away. Actually, let me look at the news because I think it was in the news for this release. So, compact bar tool tips, key tool tips. So, compact bar location. Where was that? Compact bar. Is it that one? Compact bar location. About locations le about. Let me see. Default layout compact. Make sure the setup should get the compact bar instead. Basically, what I'm trying to do is to get this uh tab bar out of here. There's a way to kind of combine them together or actually to move that one down. I want to move it to the bottom and get rid of this other bar. So tab bar location tab bar. Let me just comment that out. Did that work? Says you need to restart this take effect. Okay. Status bar location status bar. And which one is the status bar? Tab bar mode.
Video description
In this stream, we'll revisit Zellij and explore how to craft custom layouts that automatically set up project-specific workspaces: launching the right programs in the right tabs and panes with a single command. We'll also look at how Zellij fits into an Emacs-based workflow and discover new use cases together! #emacs #zellij #tmux #terminal #linux SUPPORT THE CHANNEL: 👍 Support My Work: https://systemcrafters.net/how-to-help/#support-my-work 📰 Subscribe to the Newsletter: https://systemcrafters.net/newsletter/ 👕 Check out the Store: https://systemcrafters.store 📘 Get Your Copy of Mastering Emacs: https://www.masteringemacs.org/r/systemcrafters?utm_source=yt&utm_medium=desc&utm_campaign=scme SHOW NOTES: https://systemcrafters.net/live-streams/january-2-2026/ JOIN THE COMMUNITY: https://systemcrafters.net/community/ (Forum and IRC chat!) https://fosstodon.org/@daviwil MY CONFIGURATION: (This site is currently down but will be back up soon!) https://config.daviwil.com https://config.daviwil.com/emacs https://config.daviwil.com/systems (Guix) OTHER SERIES: - Emacs Essentials: https://www.youtube.com/watch?v=48JlgiBpw_I&list=PLEoMzSkcN8oPZvSdewHG8uApD7THlLLCV - Emacs From Scratch: https://www.youtube.com/watch?v=74zOY-vgkyw&list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ - Emacs Tips: https://www.youtube.com/watch?v=wKTKmE1wLyw&list=PLEoMzSkcN8oMHJ6Xil1YdnYtlWd5hHZql - Emacs Desktop Environment: https://www.youtube.com/watch?v=f7xB2fFk1tQ&list=PLEoMzSkcN8oNPbEMYEtswOVTvq7CVddCS - Emacs IDE: https://www.youtube.com/watch?v=E-NAM9U5JYE&list=PLEoMzSkcN8oNvsrtk_iZSb94krGRofFjN - Emacs Mail: https://www.youtube.com/watch?v=yZRyEhi4y44&list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ - Learning Emacs Lisp: https://www.youtube.com/watch?v=RQK_DaaX34Q&list=PLEoMzSkcN8oPQtn7FQEF3D7sroZbXuPZ7 - Craft Your System with GNU Guix: https://www.youtube.com/watch?v=iBaqOK75cho&list=PLEoMzSkcN8oNxnj7jm5V2ZcGc52002pQU CREDITS: Coriolis Effect by logos feat. stefsax, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/mseq/26296 reNovation by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/60674 ukeSounds by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/32655 Between Worlds (Instrumental) by Aussens@iter, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/tobias_weber/56664