-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Questions about project status and future #253
Comments
Technically this is a fork. You can see it in the history of commits. However, if you try to diff the code, you'll see there is no overlap between p9k and p10k. Both themes have most code in a single file, so diffing is relatively straightforward if you want to try it.
This is the issue I opened to discuss my first performance improvement in powerlevel9k: Powerlevel9k/powerlevel9k#1170. After a few days it was apparent that our preferred innovation speed is very different, and that no significant changes can be made to the mainline powerlevel9k, neither by me nor anyone else. I opened an issue to discuss once I had the first noticeable performance improvement. While going back and forth with the devs I kept optimizing things. I had a working implementation of gitstatusd and a 10x faster theme across the board before anyone from p9k even acknowledged that p9k does indeed have performance issues and it's not a problem with my machine or my zsh config. At this point I forked and let the powerlevel9k devs know that I did.
What makes you think it's active?
It'll always be backward compatible with the current state of powerlevel9k. If powerlevel9k breaks backward compatibility (meaning that it starts producing different prompt for old configs), powerlevel10k will not follow suit. It will not break user prompts. The promise of p10k is that you can keep your config forever and it will work the same way. You can safely update p10k itself to pick up bug fixed and performance improvements.
This doesn't follow, does it? Most things in p10k are new compared to p9k. p9k functionality is a small subset of what p10k can do.
There is no promise that p10k config works with p9k.
Compatibility with p9k configs is an important feature. It allows p9k users to switch to p10k without changing their configuration and without having to get used to new prompt. Clone p10k, switch your theme and your prompt is faster. This is great. Note that p9k is still the most popular zsh theme, so there are many users who can be made very happy by investing less than a minute of their time. Most of them don't know this option exists though.
You can read libgit2/libgit2#5038 and follow links from there if you are curious. The short story is that while waiting for the first tiny PR to get reviewed, I've already had a dozen more in the pipeline that were orders of magnitude more complex. If project owners cannot accept PRs fast enough, I should either get satisfied with the current state of the project (slow) or fork. FWIW, my contributions to zsh itself have fared much better. Several of my commits have been accepted and I now have commit access to the repo. There is only one patch that I gave up on even though I think it's good. See #175. |
Some more related reading if you feel like it. My posts related to p10k that I think are pretty good:
If you have a taste for controversy:
|
Thanks for the detailed reply!
I admit I didn't dig deep, I only checked the commits and it seems there's some activity in the No comment about everything else 🙂
Aaaaah, this is what I missed. I incorrectly interpreted "You should be able to switch from Powerlevel9k to Powerlevel10k" as if I should be able to switch back and forth, but now I understand it's a one way street. Makes perfect sense now. My personal impression is that you care about performance and innovation and you want to be able to keep improving fast; neither p9k nor libgit2 provide the opportunity for you to do it, so you opted for maintaining your own thing. I can totally understand this, it kinda reminds me a bit of spaceship, where I've been using my own fork because it's slow and we couldn't agree on implementing async rendering for 2 years now (since the first PR was opened)... I got my answers, thus closing 🙂 |
Here's the graph of commits from https://github.com/Powerlevel9k/powerlevel9k/graphs/commit-activity:
Something like this. The projects I forked are small, so maintenance is easy. p9k isn't just small but tiny, and since I rewrote it completely there is no maintenance of legacy code anymore.
Two years... shit. |
I love your work, I'm just a bit confused about how you position the project, so I'd appreciate if you could clarify some things (others may find this interesting too!).
Apologies if you explained this elsewhere, I tried to search but didn't find anything.
powerlevel10k
is described as "A fast reimplementation of Powerlevel9k ZSH theme", so it's not a fork but a complete rewrite, correct?powerlevel9k
directly instead of maintaining your own thing, what made you choose not to do that?powerleve9k
seems to be active project, so are you keeping this project on par with it, constantly pulling in their new improvements?powerlevel9k
, even at the cost of not implementing some new cool features? But for example you've just added a newazure
section, doesn't that already prevent users from switching between these two prompts?POWERLEVEL9K_
variables, notPOWERLEVEL10K_
, if you are not planning to mergepowerlevel9k
andpowerlevel10k
in the future, why not reduce the confusion and rebrand everything topowerlevel10k
, or maybe even a completely new name?libgit2
, you have a fork that currently says "46 commits ahead, 114 commits behind libgit2:master" - are you planning to contribute this back and eventually use upstream libgit2, and if not, why not?Thanks 🙂
The text was updated successfully, but these errors were encountered: