How to build a window manager in Rust

Поделиться
HTML-код
  • Опубликовано: 29 окт 2024

Комментарии • 76

  • @yigitylmaz3585
    @yigitylmaz3585 Год назад +79

    100% sure you did the neofetch just to show that you use arch btw

  • @sebastiaanstoffels7565
    @sebastiaanstoffels7565 Год назад +27

    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.

  • @PageKey
    @PageKey Год назад +4

    This is an awesome deep dive. Love it!

  • @ac130kz
    @ac130kz Год назад +13

    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

  • @alf5197
    @alf5197 Год назад +9

    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)

  • @flightman2870
    @flightman2870 Год назад

    Subbed even before watching 10 seconds, cos the content rocks

  • @kan8602
    @kan8602 Год назад +2

    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

  • @ismayeelcodes-eu2lj
    @ismayeelcodes-eu2lj 24 дня назад

    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

  • @neuzen
    @neuzen Год назад +4

    Same for Wayland please.

  • @Sunnywastakentoo
    @Sunnywastakentoo Год назад +1

    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

  • @AlameenAdeyemi
    @AlameenAdeyemi 4 месяца назад

    How did u test while developing ?

  • @DKLHensen
    @DKLHensen Год назад

    Liked + Subscribed. I like this no nonsense video, keep it up!

  • @grialion
    @grialion Год назад +5

    Nice video, I wonder if it's easier in Wayland.

    • @monroeprograms
      @monroeprograms  Год назад +1

      I'm not sure, I haven't played around enough with Wayland to know. It's something I'm interested in though

    • @leynad157
      @leynad157 Год назад +1

      @@monroeprograms seriously interesting if you brought with some example in wayland!

    • @nonetrix3066
      @nonetrix3066 Год назад +1

      I think Wayland leaves you to implement a lot more yourself so it's likely harder but more fleable

    • @nurmohammed9642
      @nurmohammed9642 Год назад

      +1

    • @notoriouslycuriouswombat
      @notoriouslycuriouswombat Год назад +1

      definitely not easier in wayland

  • @Billiam112
    @Billiam112 Год назад

    You're awesome man! 🤘

  • @evandrofilipe1526
    @evandrofilipe1526 Год назад +2

    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 2 месяца назад

      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 24 дня назад

      @@yesh420Hyperland is just a window manager. Wayland is a modern protocol for making window managers.

    • @yesh420
      @yesh420 24 дня назад

      @@samuelhulme8347 thank you, ive come to realise that wayland isnt really a wm lol :)

  • @LauAlwin
    @LauAlwin Год назад

    Which linux distro I could use it based on? Like Debain or RHEL or Arch?

    • @monroeprograms
      @monroeprograms  Год назад +2

      You can use it on any distro, just make sure you have the X.org packages installed

  • @wyfyj
    @wyfyj Год назад

    Great video

  • @马向高
    @马向高 Год назад

    How to add window border and title theme if I'm not building a tiling window manager?

    • @monroeprograms
      @monroeprograms  Год назад +1

      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

  • @Stasakusok
    @Stasakusok Год назад

    good work

  • @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 😑

  • @_jdfx
    @_jdfx Год назад

    wow, impressive!

  • @egymagyarember997
    @egymagyarember997 Год назад

    what text editor is that?

  • @drifter5626
    @drifter5626 Год назад

    well deserved sub

  • @DELOREAN389
    @DELOREAN389 Год назад

    Thanks rust for abadon all cpu winout sse2 ;)

  • @ivanserhieiev7728
    @ivanserhieiev7728 8 месяцев назад

    what is thhe text editor in 1.36

    • @chris0617
      @chris0617 8 месяцев назад

      Neovim + plugins

  • @davidwolianskyj809
    @davidwolianskyj809 Год назад

    Why don't you rewrite X11 in Rust?

    • @regenjacob
      @regenjacob Год назад +2

      x11 is a very old and complicated project good that even predates linux so no sadly won't happen

  • @scfdtutorials-ro2ru
    @scfdtutorials-ro2ru Год назад

    Did you use ai for your voice clone to text to speech?

  • @emvdl
    @emvdl Год назад

    Cool 👍

  • @jokacantcode
    @jokacantcode Год назад

    Awesome :)

  • @codexed-i
    @codexed-i Год назад

    He is teaching to create a window manager while using itself (the window manager) lol

  • @123159antonio
    @123159antonio Год назад +1

    sub number 1000 \o/

  • @T1Oracle
    @T1Oracle Год назад

    Wayland?

  • @notyoutube8128
    @notyoutube8128 Год назад

    So this is how system 76 makes cosmic desktop?

  • @ivymuncher
    @ivymuncher Год назад

    what.

  • @zerodev_exe
    @zerodev_exe Год назад

    +1 sub +1 star :)

  • @0ops1024
    @0ops1024 Год назад

    lj rust

  • @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?