fairyglade / ly

display manager with console UI
Do What The F*ck You Want To Public License
5.47k stars 305 forks source link

Zig rewrite (finally) #517

Closed AnErrupTion closed 6 months ago

AnErrupTion commented 1 year ago

Hello everyone!

As you may have noticed for quite a while now, Ly hasn't been a very active project (most that is done is maintenance with light bug fixing here and there). Well, I want to change that.

I'm not very comfortable with C/C++. So I've decided to rewrite Ly into Zig, a language I'm much more comfortable with. This originally came off as a progressive rewrite, however I deemed that this was not the most optimal solution, and thus followed by a full rewrite into "idiomatic" Zig.

Considering I haven't gotten much news from @nullgemm recently (if at all), I believe he doesn't have a lot of time to work on his projects. Thus, I'm taking the initiative, but feel free to stop me. EDIT: He seemed fine for the project to move to Zig, so I'm concluding I can proceed.

What's the point of this? Mostly to make myself more familiar with the code (even though it's small and tidy, as I said, I'm not very comfortable with C/C++), and to potentially reduce the code size a bit as well. This will, I hope, make it easier (for me at least) to fix bugs and to add new features.

For now, this PR will be a draft until the last things are dealt with (see the description of commit 92e1f083a1f8c8bf0c0022e75b7f5532b87fcf5a). I'm personally very excited about this, and I hope you are too!

AnErrupTion commented 11 months ago

I've committed an unfinished full rewrite into Zig that I've been holding off for a while. I'm aiming for a v1.0.0 release: due to this, the configuration file is incompatible with v0.6.0 for example. This isn't true anymore, the configuration file is compatible with v0.6.0.

AnErrupTion commented 7 months ago

Good news everyone! The rewrite should be ready fairly soon as it now works. We're ironing out the last few bugs and missing features, as well as preparing the list of closed issues and PRs.

AnErrupTion commented 6 months ago

Other issues closed by this PR: #508, #506, #491, #481, #429, #417, #405, #357, #350, #275, #274, #264, #256, #255, #226, #187

JAicewizard commented 5 months ago

I was also put of from making some contributions since the C code was difficult to comprehend for me. I will try again with zig, as it gives me more confidence :) (if I find the time)