Suckless's dwm: So easy even a caveman could do it!
Вставка
- Опубліковано 28 сер 2024
- My (current and changing) build of dwm: github.com/luk...
Get dwm: dwm.suckless.org
WEBSITE: lukesmith.xyz 🌐❓🔎
DONATE NOW: lukesmith.xyz/... 💰😎👌💯 - Наука та технологія
"you too can be small and elitist"
O-okay
It cracks me up every time I watch this.
Secret elite dwarf society? Haven't heard of it?
@@hexa3389 And you won't anymore. Say your prayers.
Luke is now excommunicated from suckless for making this accessible
Heh, without explaining the patching process. Which requires you know at least a bit of C if you add more than a few patches. Good luck, noobies!
Excommunicado?
@@Andrath Not really. I've used st and patching is quite simple. The only thing you have to do is deal with merge conflicts, which is usually just deleting empty lines and is pretty straightforward. That and the occasional deleting config.h so the config.def.h can actually make a new working one.
It might be different with dwm though, idk.
@@sunrise_parabellum7 Until you get to a patch that really conflicts with another one, which requires you to merge functionality.
Good luck juggling those pointers.
Now go learn C anyway.
@@Andrath I know C...., it's one of my favorite languages.
Finally, all that's left is switching to OpenBSD
And installing emacs.
It seems quite a nightmare to get OpenBSD to work (though possible). How about Gentoo?
@@bashisobsolete.pythonismyn6321 cwm is not a tiling window manager
@@bashisobsolete.pythonismyn6321
Yes, but how do the games run which run perfectly fine on Linux? What video-editor replaces DVR or KDEnlive or whatever you use? What if you need to use Matlab? Does VLC work on it with GPU-acceleration while using post-processing? In short, what if you are a more demanding user? Will you get everything to work on OpenBSD? I might be misinformed on this but as far as I understand *BSD is even more niche than Linux, how much of the available software gets ported to it?
Maybe more important? What are the motivations for a regular user (not a company like Apple, I know their motivation) to use *BSD instead of Linux?
@@peterjansen4826games dont run and no really bsd is a pure work os regular user woukdfnt get anything compared to linux
I never thought this day would come.
Final Spartan #metoo
NO NO NO NO! I've been using i3 for about a year now and I'm so happy. Then Luke comes along and makes me question what I'm doing. Now I have to switch to dwm.
Just do whichever one you prefer
@@tomaslopez7690 > Just do whichever one you prefer
yeah, but first you must try the temptation, it's called "living"
@@duminicad Trying out a window manager out of temptation is called "living"? You should consider learning what a "life" is and how to get one.
holy molly its kris occhipinti.... lub ur videos bruh
@@sigmapiepsilon imagine telling someone how to live their life
4:25 I don't know why, but I found Luke shrinking into nothing was hilarious
He finally got rid of all the bloat. There is not much of him left.
@@sebastianmestre8971 the user is the most bloated program of all
He finally became Small and Elitist.
I'm a novice and i ask many stupid questions. Frankly I find this video offensive and I demand you take it down at once
tag is three characters, workspace is nine
M I N I M A L I S M
Minimalism is bloat, abrv "min"
@@zyansheep m
@@user-od3dw8uk1k
.
Me grug
Grug use Lenovo rock with Stone Arch Linux
Grug configure dwm on rock
Grug happy
Grug no use i3wm, i3wm for berry pick tribe.
Grug fall down and hit head on rock or what? Grug off meds or what? :)
_Stone Arch_ does sound like a good distro name.
I see grug. Brother.
Me tpat.
@@pwnmeisterage I imagine it abandons Arch's experimental nature to give you a rock-solid production environment with long term support. Something like RHEL 7 CentOS but Arch
@@Kikker861 A fully stable Arch release where PacMan doesn't keep stubbornly trying to break your OS? Sign me up, even if it has a silly name like "Stonehenge" and a ridiculous caveman/druid version of Tux.
dwm has a panel builtin; xmonad does not. Now which one is bloated?
XMonadMasterRace!
dwm is 2000 lines of code and has libX11 as it's only dependency
@@rednight2476 And still suffers from feature creep.
@@DistroTube I wouldn't call displaying the root window title feature creep which is all it does. Xmonad isn't bloated either but it does use a more arcane language.
well, there's the nostatusbar patch which removes a ton of bar-related code
FINALLY!, THE MOST UNDERSTANDABLE INFO OF DWM!.... Luke is very simplistic and even for explanations, + 2 F... million to him!.
Through Your videos I have actually picked up my first Linux distro (Ubuntu, sorry, please, yes, I am a noob, please). My workday passes on a Windows machine (your average BI development, SQL, DAX, Power BI, SSMS, VS Code, all that bloat), but those cool little tricks that I have done with Your help, bash (yes, bloat, sorry, sorry omg) scripts, Vim tricks, the ideas behind suckless and now THIS, when I actually start to think how can I make a neat gaming stream of "Papers please", this is just pure gold!! And for me stuff and just computers in general start to finally click together! And even the corona script was pretty much an eye opener on how I start to look on pulling in and manipulating data in general!
This is my first hands-on Linux experience (surprise, surprise, on a Thinkpad x220), I am really getting high on this. A whole, completely new and different world! And MAN it is interesting!
Really, really appreciated. Keep up the good work. Greetings from Latvia!
Prediction: some day Luke will use Gentoo.
And then LinuxFromScratch
@@patsonical
Let's keep it realistic. I don't want to sell Luke short but he won't get it happen that LFS will be suitable as his main OS and even if he would manage that then maintaining it would drive him nuts. :)
A LFS project would be great his channel though. Going through the entire process.
@@peterjansen4826 agreed
Remembering all those keybindings...
Luke "Big Brain Boomer" Smith
They're super easy to remember if you actually use them
Oh man. He did it. The death of i3wm begins today.
Now I have to switch to dwm as well.
i used dwm, i'm staying on i3.
@@matemana1991 Can you share your i3 config? I'd like to see others' settings. (I was dead set on i3 (because of Luke's original videos..lol) and now he's changing..ha).
@@yoshi314 matemana Can you share your i3 config? I'd like to see others' settings. (I was dead set on i3 (because of Luke's original videos..lol) and now he's changing..ha).
@@rexevan6714 Are you gonna switch or just kidding? How long were you on i3? What dwm thing did he show that convinced you?
UNIX (and suckless style):
1. Do one thing and do it well
2. Keep It Simple Stupid (KISS)
3. Use C
4. Use tools (grep, sed, awk, echo, > < >>
I like how enthusiastic Luke is about this dwm.
I'm glad to see you using dwm. Now we gonna have some rices and scripts on it ! : )
As for window management mechanics:
i3 is tree-based tiling wm;
dwm is list-based tiling wm;
herbstluftwm is a combination of i3 and dwm.
My favorite runescape bot makes a great new video 👍
dwms tag system is the best thing ever.
Can't switch back too other windowmanagers because it's just so useful.
A friend of mine recommend dwm to me. I used it a bit... It's nice for live music work when you don't want to use a mouse to switch between views. But I love plasma and nothing will change that!
What are u doing here Unfa
@@joelchrono Learning! And you? :)
Very cool!
Sent from bspwm
Your color scheme and gaps are on point sir.
What you need is a shortcut that increases the font size instantly to a certain level in your terminal.
Tags rulez!
I don't want to create bunch of workspaces, I want to be able to view the good window when I want, and most importantly, I want the WM to organize them for me. That's the dwm way, so efficient I can't go back now.
Thanks Luke, can't wait the next vids.
Just got my first dwm environment setup. Absolutely loving it!
gaps are bloat and a waste of space
>Desktop management software: 39kb
>Wallpaper collection: 4.2tb
idk, i have like 2-4px gaps, for me they make stuff more visible.
Awesome! I used Xmonad pretty frequently back in the day. It only now occured to me it's a Haskell version of dwm!
I'm gonna keep this one in my TO-DO list, but, for now, I'll keep using i3 (BTW I'm using it because of Luke :-))
Great overview! I'm looking forward to hearing about how you got the gaps and how the statusbar works.
You patch dwm itself. You patch the code and recompile/install.
I never expected a video about a window manger to make me laugh but watching your face slowly disappear into a fibonacci spiral of terminals absolutely killed me
Nice to see you finally came to dwm. also use it, it's pretty neat. You kinda forgot to mention the concept of the two "views" you can switch between using alt+tab. You can essentially aggregate two groups of tabs and switch between them.
Luke using dwm? LUKE USING DWM? I cannot believe. I want to use it too because contrary to i3 it's dynamic tiling but I'm too lazy to patch it up the way I like it. Of course I've tried just applying the patches but that either won't do or won't work so I have to wrap the head around the code of dwm myself unless I want to end up with something half-assed.
@@mkd1113 Yeah I know that but I wanna change a little more. dwm by itself is just too primitive to use it without having wild ideas about what cool stuff you could make it do. So I need those things implemented or thoughts about how I could pull them off will always be a distraction while working in dwm. It's almost like trying to have lunch with an opened source code file on the screen - after 30 minutes you still won't have eaten anything
You have to get gud first. It's like the dead souls of window managers. You better learn how to use git first so you can use quicksaves.
"A bunch of slaves" -Luke Smith
"A bunch of slaves". Daily rental.
ME
During your Fibonacci layout demo you had a rather significant gap down in the bottom right. To fix it set resizehints to 0. Not sure what resizehints do or not, but If I remember correctly that's the useless setting that causes that inconsistent ugly gap.
`static const int resizehints = 0;`
Great stuff! Wish I had enough usage for dwm - tried to be one of the elites. Had a good time staring at a great dwm setup with lots of superb terminal applications I have no use for haha :)
That persistent tag to follow you around is so sick!
It's actually quite funny as I always wondered why you are still using Arch, i3, etc software but complain about "bloat" - now it keeps making me happier seeing you moving on to the right path of a bloatless life - *BSD is the next step obviously.
Oh maan. I've been using xmonad, but this seems like a much cleaner way to achieve essentially the same thing. But it's gonna take some time to get all the keybindings and behaviour the way I'm used to. Probably worth it to get rid of all those annoying haskell dependencies.
love your enthusiasm and enjoyment!
Do you spend more than the recommended 3% of your time on polishing your setup?
LOL. Use gnome and gnome term. Vim with default setting. Still better than developing on Windows.
Could you tell us all the programs you have installed (browser, pdf-viewer, png/jpg-viewer, ...)? That would be super helpful...
Aaaaand weekend plans are clear :D Great video, thanks!
I see the K&R book in your downloads. Now we wait for the video on you rewriting all scripts in C. I'm here for that.
wow I can easily already see the advantage over i3
Yoo been interested in this wm, thank you for making a video about it
I was trying cfact patch and it was giving me nervous, but then I read the dwm page again and saw the newest patch instead. It was saying that it would fix that broken 6.2 patch I was using. Holy crap! Dwm is not for amateurs
P.S. It does not make much sense to say that the newest window is the master. Usually, we are working with the older ones and the newer ones is about to be closed, since It was opened just to, rapidly, see something and close It. New windows that should be a new master should be put in a new clean "workspace"/tag.
I'm using GNOME and you can't tell me anything!
Well then, you've been GNOMED by it
Use whatever suits you. I also use gnome but I'll try dwm. My experience with these kinds of environments is shit multi monitor support and and gaming. Guess I'll find out.
@@MrDaylight Also virtualbox gui immediately crashes upon opening with i3
Not saying these things are bad, just poor support… which leads to frustration
filthy casual REEEEEEE
Luke, can you please do a vid on dwm multi-monitor? I use i3, its easy to send (or send-follow) an app to another workspace, even a workspace on another monitor that is not visible. DWM doesn't appear to support the same paradigm. You can send to another monitor, but only to the monitors 'current' workspace/tag. For us multi-monitor i3 users, this its probably the biggest hurdle to overcome in migrating to a dynamic wm.
Are you always wearing sunglasses on your head, or do you throw them on before you record?
Okay this is epic we can now manage windows.
YESS.YESS!
Thus Unite We Will, Elitist party of Vim and DWM, let us strike down our TRUE enemy!
*The Mouse*
i love dwm i use it for years i'cant use anything else anymore
@Gregory Chamberlain not many changes ... i use dvm 6.0 with the systray-patch together with customiced profil-dwmstatus(status monitor) on all my machines
My man!! Always got a copy of K&R within an arm's reach.
What made you wanna to go with DWM over BSPW. They seem very much the same but with differing key bindings and different method of conficuration.
But Luke, being elitist is toxic!
@@SaHaRaSquad toxicity is bloat
@ new Linux user, trying not to let these jokes go over my head
Try OpenBSD with cwm, you can get a desktop after some customization with just the default installation
Xmonad is great too if you are not scared of haskell, there are a lot of extensions for it in the xmonad contrib. Depends on GHC though, so not for turbo minimalist.
>runit causally running in the background
oh no
See the hostname on his prompt, that's the void linux machine.
So now let's meme you into trying NixOS then...
@David Hanson I mean, that could be fun to watch 👀
OMG Antergos linux is ending, NOW ARCH is again more elitist ! :D
Now we have to get rid of Manjaro
@@xGOKOPx And Arcolinux
@@antoespiga and Red Star
@k0p I don't think you read the comment correctly.
@k0p No, you didn't.
How does DWM support multiple monitors ?
Xinerama.
Luke, you & me got the same aesthetic sense for a system, just sayin'. I'm with you, brother-in-code, I'm with ya!
Looking forward to Suckless OS
Basically Gentoo, but bin based and uses Busybox+musl instead of gnu coreutils, and sysvinit instead of OpenRc.
Interesting. I may have to take another look at dwm. Thanks Luke.
another great video, geez luke, you’re actually spoiling us
Very cool... just one thing. Fibonacci is not the same as Golden Ratio!
What I don't like about dwm is that by itself it lacks some functionality I like. All that functionality is in the patches, but you can only use patch once... after that you'll need to manually copy-paste the code. I can cope doing that once, but if you want to update, you'll need to do all of it again
It's so fun seeing your head just moving around there violently xD
Yes. I am high too.
ALT + SHIFT + CTRL + 5
Really, you need 4 buttons for shortcut?
I mean everything is there anyways for it to make sense.
alt num changes what tag youre viewing
Alt shift num changes the tag
alt ctrl num views multiple tags
alt ctrl shift num adds multiple tags
More complex and rare things are made easy to remember through the keybinds for the less rare things, so you dont have to look up one specific keybind because its intuitive instead of uses less keys. like how :wq in vim is 'write then quit' or U means undo, I means insert and A means append.
I've using dwm long time ago and I didn't know this stuff, so THANKS :)
I've really tried to share your enthusiasm about dwm. As an adopter of your i3 config, I still think i3 is pretty superior in logical layout for professional use. Even i3's default taskbar is pretty posh.
Great!! so you finally did it. I notice you didn't set static const int resizehints to 0 though, I advise you to do so.
Holy shit. I been using i3 for years. I never heard of this. That's what I want my tiles to do!
Just wanted to say thank you for the great vids.
do you think its feasible to recreate your i3blocks setup in dwm without having every single module refreshing every minute?
4:26 made me crack up
Finally welcome aboard Luke
Neat. I am actually compelled to try this now.
Curious if you can get it to work properly with polybar as well. Looking forward to you next vid.
I'm an i3 user, and I love it so... tags seems to be a nice feature. If you don't mind and as an i3 user as well, what are the real advantages to move to dtw? Is it worth? Thank you in advance!
I used dwm, but when I start to open windows, the slave part has a big gap in the bottom. On the other hand, I love the panel, super easy to configure.
What webcam app are you using? I found a post on how to use mpv to display webcam via a command, but it gives me black borders... maybe there is another string for the command I'm missing?
So I actually went in, fiddled around with some code (rearranged layouts so it goes for monocle by default and added LARBS-like keybindings) and applied some patches (for example the keycode patch which takes in keycodes instead of keysyms making it essentially layout independent), created some functions (didn't know about sxhkd so I did it the "hard way") and I've got it working relatively well for what I use it. Added slstatus so I can have a nice bar at the top (without volume levels sadly, good luck getting that crap working without pulseaudio). Overall it's been rather satisfying experience. Now that LARBS is coming to Void with DWM, I am kinda interested to see your take on it (of course I'm gonna fork it and tailor it to my own tastes, I mean I've been doing that for a while now).
Oh, and don't forget - slstatus for the statusbar. There's no tray. At least not without patching it in. The reason i went with slstatus over other solutions (hell you could do that with a bash script) is that even if I have slstatus polling for them stats every seconds, the CPU usage still stays at 0% when idle, whereas other solutions had my cpu usage around 2% and in most "outrageous" cases over 5% when supposedly idle!
Now keep in mind that I run voidlinux with dwm on a potato-powered potato, so the less resources the setup uses while idle, the better.
Luke, any thoughts on sway vs dwm? Especially on the technical aspects, like speed, responsiveness, etc. Imho, sway is far better than i3wm in tech side, but dwm seems to be better in UX.
I knew this was going to happen thanks to all the foreshadowing in the last videos...
Good old days
"Fibonacci layout" you got me...
Do you ever do pulseaudio device management through window managers? I find all solutions cumbersome compared to plasma and gnome, and I need to switch between headset and speakers often
@Arezu what if the headset is already plugged in? and even when I finally made i3 switch to the new source, all current audio sources would still play through speakers and I'd have to go to pavucontrol and switch them to the headset manually
I'm sure there's a command for that, and if there's a command for that then you can make a binding
just install pavucontrol and bind it to a convienient hotkey shortcut
Hey what terminal emulator do you use? And what is your customization config. I like it very much.
Edit: nvm figured it out.
yes i get it, its a stack, but how is that better than the tree logic of i3?
It's not better, it's just different. Stacks are pretty cool though.
I do like the layout/tag thing though. Does dwn has tabbed mode?
@@yuri0r There are patches
All we need left is for daddy Luke to install Gentoo
Gentoo is compiling things... Ufff, what about if you need Skype in a manner of seconds, and you say to the cliente... mmm just wait me 1 month, i have a dependencies issues, then we talk!!!.... That's why Gentoo sucks... (Skype like an example of course)
@@GonzaloOviedoLambert Honestly compiling takes very little time on a i5-3400. I ran Crux Linux for a while and as long as you are not installing core libraries, Firefox, Chromium, or the full kernel, then compiling is a matter of minutes. Plus you get optimized performance. Chrome OS is built on Gentoo to optimize performance for low end machines. Crux Linux installed a custom kernel for me in 30 minutes on my Thinkpad.
@@bitnatures agree and interesting thing The Crux Linux, never heard of it. I will take a look. The deep problem here is what about you need a program and you dont have the libraries?. or even worse. The libraries that you work on your laptop are not compatible, verion difference, and if you upgrade them the other programs stop working at all. Maybe with a carefully planning it will be a success.
You finally switched. Welcome aboard comrade. Will we be seeing the Larbs script updated to include dwm instead of i3?
I used it for about a year but prefer bspwm
I would recommend checking out Kai Hendry's videos regarding DWM and various other Suckless stuff
Nice solution. Now lets find a problem where it applies.
Just have to run OBSD and the logic king is born.
Finally, all that's left is switching to Terry-Davis-Mode -> I am going to write my own Operating System
Sorry Luke, but DWM works like hell in comparision with i3. I3 says, we work from the ground up not over something.
DWM uses deprecated synchronous* Xlib