What a great video, and great project to flex your Rust skills when you are at the appropriate point of learning! Now....when is the version coming that does this in Wayland? ;) - awesome work man.
Xlib/XCB window managers are pretty easy to make, it's kinda an already solved problem. A Wayland dynamic window manager though based on Sway with a dynamic config in Lua or something would be nice
Very informative video, ty and keep them coming! Have you heard about a crate called penrose? If so, why didn't you use it? I'm using it to build my wm and thx to your video I understand more what's happening under the hood
Hey do we have to make an XSESSION for a wm like i3wm does and do we need the startup apps and keybindings to be in a WM's config and can you tell how to setup the project to debug/run it
@@RossWasTaken do you use it daily? i used to for like 2 weeks, but it was too much of a hassle. it was fun configuring, i even made my own thing that opens up when u press the widnows key (it shows all apps) and it was very nice looking and a lot of smaller stuff also, even the bottom bar with apps. i now stick with kde plasma, and am considering switching from arch to nixos, tiling window managers are fun but too much work for me tbh
To create a window with a title bar you'll need to reparent the client window into a new window created by the window manager. docs.rs/xcb/0.10.1/xcb/xproto/fn.reparent_window.html Leave some space at the top for the title bar and move the client down like 30px or however tall you want your title bar. Then use cairo or another graphics library to draw the window decorations like the title of the window or max/minimize/close buttons. To add a border to the client you add a border to the parent window you created with the normal configure_window+change_window_attributes github.com/monroeclinton/mwm/blob/2c3e4ad5790bd5f04fff6fa920b53111e932d07c/src/client/create.rs#L69
100% sure you did the neofetch just to show that you use arch btw
What a great video, and great project to flex your Rust skills when you are at the appropriate point of learning! Now....when is the version coming that does this in Wayland? ;) - awesome work man.
never
@@Hellscaped lol
@@Hellscapedok
This is an awesome deep dive. Love it!
Xlib/XCB window managers are pretty easy to make, it's kinda an already solved problem. A Wayland dynamic window manager though based on Sway with a dynamic config in Lua or something would be nice
or using Smithay! I'm working on one rn :)
@@nyxalexandra-io I'm worried that smithay is different from wlroots
@@ac130kz Smithay is, in fact, different from wlroots. I don't know why that would worry you though.
@@mikefdorst wlroots adds its own extensions, so that's a big downside for other projects, which don't follow the same path
Nice rundown and summary! Something is off with your audio though at certain parts it's slightly shifted right or left. Maybe downmix the audio.
Thanks for the suggestion, I'll try to do that in Audacity for the future (and keep my head still haha)
Subbed even before watching 10 seconds, cos the content rocks
Very informative video, ty and keep them coming!
Have you heard about a crate called penrose? If so, why didn't you use it?
I'm using it to build my wm and thx to your video I understand more what's happening under the hood
Hey do we have to make an XSESSION for a wm like i3wm does and do we need the startup apps and keybindings to be in a WM's config and can you tell how to setup the project to debug/run it
Same for Wayland please.
Very interesting video, definitely considering giving it a shot myself. What DE are you using? I don’t think I’ve seen it before.
I think its vim/nvim with nerdtree
@@iamyourdaddy4866 DE, not editor, DE = desktop environment
looks like i3 but not sure
How did u test while developing ?
Liked + Subscribed. I like this no nonsense video, keep it up!
Nice video, I wonder if it's easier in Wayland.
I'm not sure, I haven't played around enough with Wayland to know. It's something I'm interested in though
@@monroeprograms seriously interesting if you brought with some example in wayland!
I think Wayland leaves you to implement a lot more yourself so it's likely harder but more fleable
+1
definitely not easier in wayland
You're awesome man! 🤘
Isn't wayland the hot new thing these days though. Cool that you managed to make a window manager though, I wouldn't know much about that
hmm, maybe hyprland? wayland is pretty basic, idk if it was hot 1 year ago lol
@@yesh420 seconding hyprland, it's what got me into linux at least
@@RossWasTaken do you use it daily? i used to for like 2 weeks, but it was too much of a hassle. it was fun configuring, i even made my own thing that opens up when u press the widnows key (it shows all apps) and it was very nice looking and a lot of smaller stuff also, even the bottom bar with apps. i now stick with kde plasma, and am considering switching from arch to nixos, tiling window managers are fun but too much work for me tbh
@@yesh420Hyperland is just a window manager. Wayland is a modern protocol for making window managers.
@@samuelhulme8347 thank you, ive come to realise that wayland isnt really a wm lol :)
Which linux distro I could use it based on? Like Debain or RHEL or Arch?
You can use it on any distro, just make sure you have the X.org packages installed
Great video
How to add window border and title theme if I'm not building a tiling window manager?
To create a window with a title bar you'll need to reparent the client window into a new window created by the window manager.
docs.rs/xcb/0.10.1/xcb/xproto/fn.reparent_window.html
Leave some space at the top for the title bar and move the client down like 30px or however tall you want your title bar. Then use cairo or another graphics library to draw the window decorations like the title of the window or max/minimize/close buttons. To add a border to the client you add a border to the parent window you created with the normal configure_window+change_window_attributes
github.com/monroeclinton/mwm/blob/2c3e4ad5790bd5f04fff6fa920b53111e932d07c/src/client/create.rs#L69
good work
I wish i was smart enough to fork wayland and have a toggle to optionally disabel gui isolation. Would make porting my Window manager so much easier 😑
wow, impressive!
what text editor is that?
neovim
well deserved sub
Thanks rust for abadon all cpu winout sse2 ;)
what is thhe text editor in 1.36
Neovim + plugins
Why don't you rewrite X11 in Rust?
x11 is a very old and complicated project good that even predates linux so no sadly won't happen
Did you use ai for your voice clone to text to speech?
No, that's my normal voice
@@monroeprograms sounds very robotic.
take ur meds
Cool 👍
Awesome :)
He is teaching to create a window manager while using itself (the window manager) lol
sub number 1000 \o/
thank you :D
Wayland?
look at my new series
So this is how system 76 makes cosmic desktop?
similar, I think they use Wayland instead
Cosmic is using Smithay
what.
+1 sub +1 star :)
lj rust
I don't understand ppl who're recreating everything in rust.. just why
Do you have a email or discord where others can ask you more questions?