How to build a window manager in Rust

  Рет қаралды 59,736

monroe programs

monroe programs

Күн бұрын

monroeclinton....
github.com/mon...

Пікірлер: 76
@yigitylmaz3585
@yigitylmaz3585 Жыл бұрын
100% sure you did the neofetch just to show that you use arch btw
@sebastiaanstoffels7565
@sebastiaanstoffels7565 Жыл бұрын
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.
@Hellscaped
@Hellscaped Жыл бұрын
never
@codexed-i
@codexed-i Жыл бұрын
@@Hellscaped lol
@chris0617
@chris0617 7 ай бұрын
​@@Hellscapedok
@PageKey
@PageKey Жыл бұрын
This is an awesome deep dive. Love it!
@flightman2870
@flightman2870 Жыл бұрын
Subbed even before watching 10 seconds, cos the content rocks
@neuzen
@neuzen Жыл бұрын
Same for Wayland please.
@ac130kz
@ac130kz Жыл бұрын
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
@nyxalexandra-io
@nyxalexandra-io Жыл бұрын
or using Smithay! I'm working on one rn :)
@ac130kz
@ac130kz Жыл бұрын
@@nyxalexandra-io I'm worried that smithay is different from wlroots
@mikefdorst
@mikefdorst Жыл бұрын
@@ac130kz Smithay is, in fact, different from wlroots. I don't know why that would worry you though.
@ac130kz
@ac130kz Жыл бұрын
@@mikefdorst wlroots adds its own extensions, so that's a big downside for other projects, which don't follow the same path
@DKLHensen
@DKLHensen Жыл бұрын
Liked + Subscribed. I like this no nonsense video, keep it up!
@kan8602
@kan8602 Жыл бұрын
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
@Billiam112
@Billiam112 Жыл бұрын
You're awesome man! 🤘
@alf5197
@alf5197 Жыл бұрын
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.
@monroeprograms
@monroeprograms Жыл бұрын
Thanks for the suggestion, I'll try to do that in Audacity for the future (and keep my head still haha)
@wyfyj
@wyfyj Жыл бұрын
Great video
@Sunnywastakentoo
@Sunnywastakentoo Жыл бұрын
Very interesting video, definitely considering giving it a shot myself. What DE are you using? I don’t think I’ve seen it before.
@iamyourdaddy4866
@iamyourdaddy4866 Жыл бұрын
I think its vim/nvim with nerdtree
@jomo_sh
@jomo_sh Жыл бұрын
​@@iamyourdaddy4866 DE, not editor, DE = desktop environment
@ultraaatf
@ultraaatf Жыл бұрын
looks like i3 but not sure
@Stasakusok
@Stasakusok Жыл бұрын
good work
@drifter5626
@drifter5626 Жыл бұрын
well deserved sub
@grialion
@grialion Жыл бұрын
Nice video, I wonder if it's easier in Wayland.
@monroeprograms
@monroeprograms Жыл бұрын
I'm not sure, I haven't played around enough with Wayland to know. It's something I'm interested in though
@leynad157
@leynad157 Жыл бұрын
@@monroeprograms seriously interesting if you brought with some example in wayland!
@nonetrix3066
@nonetrix3066 Жыл бұрын
I think Wayland leaves you to implement a lot more yourself so it's likely harder but more fleable
@nurmohammed9642
@nurmohammed9642 Жыл бұрын
+1
@notoriouslycuriouswombat
@notoriouslycuriouswombat Жыл бұрын
definitely not easier in wayland
@_jdfx
@_jdfx Жыл бұрын
wow, impressive!
@evandrofilipe1526
@evandrofilipe1526 Жыл бұрын
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
@yesh420
@yesh420 Ай бұрын
hmm, maybe hyprland? wayland is pretty basic, idk if it was hot 1 year ago lol
@RossWasTaken
@RossWasTaken Ай бұрын
@@yesh420 seconding hyprland, it's what got me into linux at least
@yesh420
@yesh420 Ай бұрын
@@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
@samuelhulme8347
@samuelhulme8347 Күн бұрын
@@yesh420Hyperland is just a window manager. Wayland is a modern protocol for making window managers.
@yesh420
@yesh420 Күн бұрын
@@samuelhulme8347 thank you, ive come to realise that wayland isnt really a wm lol :)
@emvdl
@emvdl Жыл бұрын
Cool 👍
@ismayeelcodes-eu2lj
@ismayeelcodes-eu2lj Күн бұрын
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
@jokacantcode
@jokacantcode Жыл бұрын
Awesome :)
@AlameenAdeyemi
@AlameenAdeyemi 3 ай бұрын
How did u test while developing ?
@vanodon2257
@vanodon2257 Жыл бұрын
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 😑
@123159antonio
@123159antonio Жыл бұрын
sub number 1000 \o/
@monroeprograms
@monroeprograms Жыл бұрын
thank you :D
@DELOREAN389
@DELOREAN389 Жыл бұрын
Thanks rust for abadon all cpu winout sse2 ;)
@马向高
@马向高 Жыл бұрын
How to add window border and title theme if I'm not building a tiling window manager?
@monroeprograms
@monroeprograms Жыл бұрын
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
@LauAlwin
@LauAlwin Жыл бұрын
Which linux distro I could use it based on? Like Debain or RHEL or Arch?
@monroeprograms
@monroeprograms Жыл бұрын
You can use it on any distro, just make sure you have the X.org packages installed
@egymagyarember997
@egymagyarember997 Жыл бұрын
what text editor is that?
@monroeprograms
@monroeprograms Жыл бұрын
neovim
@ivanserhieiev7728
@ivanserhieiev7728 8 ай бұрын
what is thhe text editor in 1.36
@chris0617
@chris0617 7 ай бұрын
Neovim + plugins
@T1Oracle
@T1Oracle Жыл бұрын
Wayland?
@monroeprograms
@monroeprograms Жыл бұрын
look at my new series
@davidwolianskyj809
@davidwolianskyj809 Жыл бұрын
Why don't you rewrite X11 in Rust?
@regenjacob
@regenjacob Жыл бұрын
x11 is a very old and complicated project good that even predates linux so no sadly won't happen
@notyoutube8128
@notyoutube8128 Жыл бұрын
So this is how system 76 makes cosmic desktop?
@monroeprograms
@monroeprograms Жыл бұрын
similar, I think they use Wayland instead
@nyxalexandra-io
@nyxalexandra-io Жыл бұрын
Cosmic is using Smithay
@scfdtutorials-ro2ru
@scfdtutorials-ro2ru Жыл бұрын
Did you use ai for your voice clone to text to speech?
@monroeprograms
@monroeprograms Жыл бұрын
No, that's my normal voice
@scfdtutorials-ro2ru
@scfdtutorials-ro2ru Жыл бұрын
@@monroeprograms sounds very robotic.
@xyangst
@xyangst 3 күн бұрын
take ur meds
@codexed-i
@codexed-i Жыл бұрын
He is teaching to create a window manager while using itself (the window manager) lol
@0ops1024
@0ops1024 Жыл бұрын
lj rust
@ivymuncher
@ivymuncher Жыл бұрын
what.
@zerodev_exe
@zerodev_exe Жыл бұрын
+1 sub +1 star :)
@neonbyte1337
@neonbyte1337 Жыл бұрын
I don't understand ppl who're recreating everything in rust.. just why
@khay1385
@khay1385 Жыл бұрын
Do you have a email or discord where others can ask you more questions?
rust runs on EVERYTHING (no operating system, just Rust)
18:10
Low Level
Рет қаралды 358 М.
Window Managers in Linux - Everything you NEED to know!
14:44
规则,在门里生存,出来~死亡
00:33
落魄的王子
Рет қаралды 28 МЛН
Running With Bigger And Bigger Lunchlys
00:18
MrBeast
Рет қаралды 127 МЛН
OYUNCAK MİKROFON İLE TRAFİK LAMBASINI DEĞİŞTİRDİ 😱
00:17
Melih Taşçı
Рет қаралды 13 МЛН
Spongebob ate Michael Jackson 😱 #meme #spongebob #gmod
00:14
Mr. LoLo
Рет қаралды 11 МЛН
I built my own memory profiler (in Rust, on Linux)
22:58
fasterthanlime
Рет қаралды 61 М.
Lightning talk - Why maintaining winit is hard - Holden Marcsisin
5:14
Rust Belt Rust Conference
Рет қаралды 4,2 М.
Build a CRUD REST API with Rust Axum | Tutorial
19:41
cudidotdev
Рет қаралды 8 М.
Why You Shouldn’t Build Your Next App in Rust
9:18
warpdotdev
Рет қаралды 95 М.
Why does this Rust program leak memory?
35:24
fasterthanlime
Рет қаралды 58 М.
Rust: When C Code Isn't Enough
8:26
CodeAhead
Рет қаралды 168 М.
HTTP requests in Rust - reqwest: Everything you need to know
10:29
monroe programs
Рет қаралды 10 М.
I made my own Text Editor (in Rust)
8:16
FaceDev
Рет қаралды 116 М.
The Truth about Rust/WebAssembly Performance
29:47
Greg Johnston
Рет қаралды 182 М.
How to read complicated Rust types
20:17
chris biscardi
Рет қаралды 53 М.
规则,在门里生存,出来~死亡
00:33
落魄的王子
Рет қаралды 28 МЛН