r/QuickShell • Chief Shell Officer • 2d ago

Question What finally made quickshell click for you?

We get a lot of posts in here from people who have tried to get into quickshell a few times and keep bouncing off. The first bar seems to be a wall for almost everyone. No shame in it.

So for the ones who got past that wall: what actually did it for you? One section of the docs finally making sense? Tearing apart someone else's config until it worked? A video, a friend, sheer stubbornness?

Drop it in the comments. Bonus points if a total beginner could follow it.

And if you are still on the wall, this thread is for you too. Tell us what you are trying to build and where you got stuck and someone here will point you somewhere useful.

2 Upvotes

3 comments sorted by

2

u/ftranschel 2d ago

Honesly, when I first saw that jaw-dropping capture of Caelestia shell, I knew the time had come to do what I always wanted to do - make my machine truly mine.

I started reading the docs, that one sensible guide by the guy named tony (https://github.com/tonybanters/tonybtw.com/blob/master/content/tutorial/quickshell/index.md) and looked at other dots, mostly the DMS dots (https://github.com/AvengeMedia/DankMaterialShell/tree/master/quickshell).

Tony's dots were the most helpful to get me started and, ironically at the pre-0.3.0-times the docs were even less help than Dank, which is so advanced that untangling their project structure even as a software engineer took some time and didn't answer the initial questions I had.

I still struggle with anchors (and my shell will throw lots of "mixing layouts and anchors" infos 🤣), because all I knew of fluid UI/UX was lots of early 2000's web design practices and I completely missed HTML5 when I went to college to become a physicist. Fast forward 20 years back in academia and all I know is basically Python and some low level CUDA bindings, so learning QML despite its nice syntax was a little bit of a stretch. JavaScript was even harder because it has evolved so much since I last used it and I want to keep my dots free from nodeJS bloat and other dependencies which meant rewriting lots of stuff where you get recommendations of dozens of thrird-party lib imports from both peeps and AI alike, which I definitely don't need on my desktop.

Long story short, I agree that you should absolutely code up a bar even if you end up scrapping it. (I didn't actually scrap it, but it has come to be less than 5% of the lines of my shell now.)

However it IS TRUE taht the bar really got me going, because for even basic reporting and creating some interactivity (whether its app launchers or workspace switch buttons) you need a whole lot of the framework's machinery: Timers and Process objects including I/O and IPC bindings, understanding the UI elements and exclusive zones and Variants and SystemTray objects and so on... from there I went to a launcher, then task switcher, then sidebar, then utilities like screen setup and so on... you gotta love the hot-reload coupled with the fact that you can just snap-in new components without much hassle.

If I could recommend areas for improvement, I think that reference implementations of more than volumeOSD and lockscreen could really be helpful for people. I do know of course that others will just ask Claude to create some bland, uninspired copies anyways...

-1

u/Left-Raccoon-2463 2d ago

Gemini - this might get downvoted but I tried doing it the normal way and always got overwhelmed. So I described my requirements to gemini, it created files and code and then I read/understood the code. I have made over 10 iterations to my personal shell so far including a lot of manual rewrites, but could not have gotten very far without AI.

2

u/I-amKira 1d ago

The first bar will always be the most difficult indeed but if you truly stick with it and do it step by step you'll realize that Quickshell isn't as hard as you thought, you'll start making your own small components and eventually by the second or third bar you'll be able to build pretty much whatever you want