Desktop environments can be developed from scratch using C++ to overcome the limitations of existing frameworks like QuickShell, allowing developers to create highly customizable and performant systems with features such as dock management, desktop icons, widgets, and system controls, while achieving high performance (up to 2,000 FPS) through careful optimization.
深掘り
前提条件
- データがありません。
次のステップ
- データがありません。
深掘り
A brand New Desktop Environment coded in C++ Event Horizon 0.6.0 From Scratch 8 Months of School追加:
Hey guys, welcome back to another video.
So, this is a brand new desktop environment that is coded completely in C++.
It is event horizon Reborn. I'm not actually going to call it that, but that's what it is. It's Event Horizon Reborn. Now, many of you may have I don't know if many of you, but maybe some of you remember about 8 to nine months ago, I said that I wanted to make my own desktop environment. uh that I mentioned that QuickShell was limited in what it could do and I was getting fed up having to deal with these weird little hacks and everything in between. So about 8 months ago on October the 24th, 2025, I started this project and it was pretty much just born out of necessity to give me just a dock. I was going to just shove everything into the damn dock and kind of make an entire OS built around a doc, but that was stupid. So, the project sat for a long time in GitHub.
Just private it. There it was.
That's it. And then Nocttalia released something. They ended up releasing this right here, an announcement, a rewrite, a a groundup rewrite in C++.
Thought to myself, "Oh, that's neat.
That's interesting. That's exactly what I was trying to do." And my main issue is that I don't know how to structure a project in C++. And over the last eight months, I've been learning C++ behind the scenes and trying to understand everything. No, this of course was released um not that long ago. I don't exactly know when, but I believe the commits are all right there to understand when. Okay.
And going to pure C++ is something I already did. So I had my doc all ready to go. It was fully functioning. It was just a normal dock with uh the icons, the ability to pin and so on and so forth. And I thought to myself, well, I already have my DAW files. I know what I like. I know what I want.
So, what if I took all of that and just ported it over the pure C++? Because again, quick shell has a lot of issues.
It has a lot of limitations, and I don't like them. Like sure you could have your own poll kit and sure if you right click Steam you'll have all these options if you integrate debus and read from it but again there's certain things that I could not do like for one I couldn't do that no not even if I wanted to I could not do that and I tried for like hours for weeks but it did not work and the main reason is because of how limited quick shell really was. I mean, I click here now and open this. I could edit the title. I could do whatever I want. I could search if I wanted to. Uh, I could destroy this just like this. I could just destroy it.
And that's it. Now the folder's gone.
Then I can click here to recreate it again. That's the whole point. The whole point was to go beyond your limitations.
And that's what I've been doing. This is the desktop portion. If we go show desktop icons, we could turn them off, turn them back on. Uh we could do large icons, we go back to medium, uh we can basically, you know, stack to the right and stack to the left. So if we're stacking to the left, then that's pretty much Windows territory. But if we're going to stack to the right, uh that's Mac OS territory. And I love the way that Mac OS handles its icons and does everything it does. And another thing is in a normal Hyperlind quick shell desktop environment, you can make a marquee happen. That's what this thing is called. It's a marquee.
I think that's what it's called according to the spelling anyway. And I could drag it all the way across. I could do whatever the hell that I want, right? If I want, I could right click and mount this. But that's currently busted. I I wrote that down and I didn't fix it. If I wanted to, I could empty my trash. Okay. If I wanted to, I could open up my game drive. Oh, that is one ugly ass freaking file browser. Uh, speaking of which, before we jump into this, I really, really, really need to go and set default applications because this is just gross.
Files, please. Thank you. That is it.
So, okay. Are we back?
Yeah. No. Uh, it's the Singularity stuff. Singularity is another desktop environment someone else is making. I'm not a fan of it so far. It's over complex. It does things completely the wrong way and it's really, really odd.
So, in a nutshell, I got all this work done and then it came to optimizing fixing security issues. I had to learn a whole new slew of stuff and I did. I I I basically bought a bunch of books online, about 18 of them. I read through them and I started fixing issues. I found memory leaks, other things like that. It was fun. Um, look how fast this is. Did you know if I had this unlocked from VSSync, uh, it would end up running at around 2,000 FPS. That's how much optimization I've done with this so far.
And these are my default colors, by the way. They're meant to be basically designed around my logo. Uh, so there's that. You could change the colors if you want to. Like if we wanted to right now, I could head it here. I could turn on that and go in here and switch a wallpaper.
Switch back to this one. Switch to this one.
Ah.
Oh, there it goes. Just had to move it.
But yeah, again, look, I'm very green now. Hulk smash and getting all this done, figuring how to optimize for RAM, uh to to keep the usage low. Um I figured a way that I can get full quality uh wallpaper, but also keeping that very low.
I did a lot of overkill stuff and I I I love every second of it. Look, we got our popups.
This is not complete whatsoever.
Uh, we got our weather.
For some reason, that's not behaving itself. Start menu here. Then you got this is another widget entirely. This is my ported over version of my actual other menu.
But nonetheless, it uh it works up pretty well. I do rather enjoy this. I mean, look at it. Again, if it wasn't capped, it would go to at least 2,000 FPS. Same with this dock. The animations, everything are tied to your refresh rate. And that's what I love about it most of all. If we go in here, I have an FPS counter built into this thing.
Uh, last night I spent all night trying to figure out how to uh get this smooth scrolling effect going on. It's pretty fun. Now, I'm going to put myself Well, let's just turn me off for now.
So, there's a dock and there's a taskbar. We all know what a taskbar does. And I got stuff set up on it already. We'll go over that later. So, for the dock, again, we do got autohide.
It completely almost disappears, but not really. I still have to fix that. Uh you can show the embedded stuff or you can just have a default doc, right? And I like my super doc. That's what it's called. Uh you got group windows doc tool tips which actually do function, believe it or not. And pin apps tray pill. So what that means is if I turn this off, you can see that that that little pill behind the icons just disappears.
Uh you can deal with your bottom gap, your icon spacing, your icon size, all of it. And Look at that.
I actually spent a lot of time reworking uh material design into this because that's what originally I guess we used uh for QML. That was the base design for everyone's.
So I had to go learn material design and everything like that. Again, when you do this, it shows you everything.
It's really really cool how all of that works.
So, if I want to turn this completely opaque, I can. If I want to like, you know, there's lots of things that can be done with this. Uh, yeah. I don't know.
Turn that back on.
I I love it. This This works sometimes, but not all the time. I need to ensure that it stays working.
Anyway, if you want to completely get rid of the desktop, you can, but that also gets rid of the desktop widgets.
So, uh, I like to keep keep them both.
There are a bunch of desktop widgets, system monitor, calendar, media, weather, and weather fancy clock, so on.
And I've been working on this one for a while, but this is uh everything you need for your monitors. It's so smooth.
I love it. So, as you can see, you're able to go and change your monitors at will and do whatever.
You all know how this works. Simple.
This is all your appearance stuff. So, again, here's everything that's going to be injected via mutagen, madagen, I don't know what it's called, but this allows me to do my overlay opacity. So, all this individual stuff is tied into here.
It's pretty nice.
I end up fixing light mode. Okay, so light mode works on that.
I mean, it's semi works.
Okay, it works a lot better than it freaking used to, that's for sure. Yeah, there we go. This is This is fun. I have to fix this. But as you can see, it does show your actual themes with actual previews. I'm going to have to clean this up by a lot. But yeah, uh this took a hit because the redesign of my UI entirely um ended up changing a lot of stuff for this. So, uh these are my custom buttons, drop downs, you name it. I have to find a way to reconfigure all this to make it look better.
And same thing for this. Like all of it's just been integrated. You may recognize this little nifty feature from Plasma. Uh, I found out how they did it and I made it work for me. Same thing with icons. So, you have icon preview. I am going to have to clean this up, of course, but you get the point.
This is pretty straightforward. This basically lets you put your dock on a different display or your taskbar or whatnot. Then, we do have a nightlight.
So, if I go in here and I click the nightlight, it will work. I you can't really see it's working, but it will work. Uh, and this is all your hyperl stuff. So, uh, let's open this up. So, say I want it to just turn this to scrolling. Now, we're on scrolling. What happens if I wanted to master? Now, it's on master. Then we got dwindle.
Uh, everything here works. Everything here just runs. So, the animations is not complete, but I'll fix that later.
Uh, disable auto reload, render cursor.
Yeah, it's all there.
Notifications were a fun one. So, watch this. There it is right there. Sample notification. I put a lot of effort into the notifications, like a lot. So, if I was actually to completely mute this like that and I went and I opened up uh this and I hit shuffle.
Check that out. Look how clean that is.
And 6 seconds done.
So, that was fun. There's another popup just for you guys. Pretty cool, right?
All right. back to this. Uh sound is completely work in progress, of course.
So, there we go.
Uh I'm still working on this. You got to bear with me on this one. This is a complete from the ground up built system panel for audio. So, as you can see, we have all of our stuff right here. And if I hit play on this, I could just turn this up and down, up and down.
Now it says Chromium. This is actually Cider, but I have to still do some extra work to make sure that it says Cider and uses the application icon. You can actually change some settings about your uh DAC and amp here.
as you could see, but for the most part, it's there. And you've already seen this. This is default applications.
Uh, we of course have time, keyboard, and language. Bluetooth. We hit scan here. It should work.
And it actually performs really well.
There's a UI issue right here where, as you could see, it's not lined up way.
Uh, I'm off by quite a bit. So, I got to put these buttons up a little higher.
Power and accounts. Now, again, because of the UI, right, accounts are kind of screwed up, but it is what it is.
Wallpaper, Bing wallpaper, uh, we've got VPN.
That looks kind of clean. We got wired, and we got Wi-Fi.
So, if I hit scan here, I don't know if it's actually going to show up or not. Sometimes it's picky, sometimes it's not.
But yeah, uh in a nutshell, that's where I am so far.
And every day I'm kind of pushing more and more uh to make this a little bit better each day. Uh, this last couple days has just been about non-stop performance, like trying to fix what I have. Like, you see that? You see, now it shows the OBS icon. Now, it shows it. Yeah. Isn't that great?
Oh, that's hilarious. So, if you wanted to add a widget or remove a widget, you could do so easily. Like, if I wanted to get rid of this, there we go. Uh, if I wanted to add a widget, that's not supposed to happen. Now we got this problem. I still got to figure and debug that one out. But uh go to dock here. Oh, look. The other icon's now showing. So if we go to add widget, uh we can add any one of these in. Battery works. I tested that on my laptop. All of these work and fully function, which is great.
Anyway, in the description below, you will find uh the link to the releases for that to where you can go and install the beta version of this. There's uh Arch install package, Debian install package, and what was the other one?
Fedora install package. And uh I started development on this on Fedora 44. Was it Fedora 44?
No, Fedora 43 before I switched over to Pure Arch Linux and then back to Cashy and it was like constantly off and on. Yeah, there you go. Oh, yes. Uh you can open up directly to your display uh your display settings. You can create a text folder, document, whatever.
Uh you can open up applications from the desktop, of course. Yeah, good at open.
There's a lot of things that you can do.
Wait, what was that? I just updated to beta 4. Please tell me. Is there another version? Did it just automatically update to beta 5? Is that what happened?
Better not be these betas. I swear to God. All right, let me know what you guys think. Uh, it's still private. it. I don't feel like having all my work basically dragged under the mud because there's a bunch of angry wannabe developers and I don't need to be DMCA falsely again. Okay. So, I'm just going to do releases until I know that it's stable and then I'm just going to release it and watch the hurricane do what it normally does.
Okay? Cuz I'm very very picky. I don't know what good code looks like. I'm still in the process of learning.
So, yeah, you'll find this in the description below. Right now, it's at 0.6.0.
Because it's a brand new project, uh continuing off from version 4.2.1 would be just dumb. I mean, you're not technically continuing the project that you started out with. You're starting something new. So calling this version five would be ridiculous. So I don't want to do that. Anyway, I gave credit where credit's due. Natalia had at least one good idea in their lifetime and I hope they appreciate that. But yeah, last thing last uh let's show my uh the RAM usage.
There it is. or 10 and only about 9 megabytes of VRAM.
So, it uses almost nothing.
Now, I have three monitors.
You got to realize that I've got three monitors. And what that essentially means is my wallpapers are duplicated across two other screens. That's why that's so high. But, let's actually see if I could turn off the wallpaper.
I guess I can't.
Can I just like pick a color? Did I add the ability to pick a color here? Let's do this.
Yeah. So, it's a lot lower if you have a single monitor.
Okay. And again, I added a whole bunch of stuff. I did a whole bunch of performance optimization, so you kind of end up losing some stuff along the way.
But I'll go back to optimizing it as soon as possible and uh see what I can do there. What kind of picture do I want for today? I'm thinking this one.
Yeah, there we go. Thank you guys for watching. I hope you enjoyed the video.
Bye everybody.
関連おすすめ
resume fixed instantly 😭 Comment “app”andI’ll sendyou the link #parakeetaipartnership #resumetips
Ritcareer
686 views•2026-05-31
Re: 🗣️📍theprophedu📍2026 GST 103 CLASS (E-EXAM REVISION)
theprophedu
636 views•2026-06-04
3D Basics in C
HirschDaniel
2K views•2026-06-05
Search Algorithms Explained in 60 Seconds! 🤖💨
samarthtuliofficial
218 views•2026-06-01
Making Minecraft Clone with C++ & Raylib
PecaCSLive
686 views•2026-06-04
People of Game of Thrones using JavaScript DOM
AltCampus
296 views•2026-05-30
Instagram accounts got PWNed
EricParker
13K views•2026-06-03
So What's Odin Lang Even Good For
TechOverTea
131 views•2026-06-01











