-
Notifications
You must be signed in to change notification settings - Fork 14
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
Create a single terminal-templates repository #44
Comments
I'd be for this, I wonder how the individual template maintainers would feel? It would make larger upgrades/maintenance a LOT more convenient. |
Pinging everyone currently listed as a terminal template maintainer: @martinlindhe, @aarowill, @niklaas, @h404bi, @AFulgens, @philj56, @tomyun, @orhun, @kdrag0n, @cskeeters, @geoffstokes, @benjojo, @honza, @khamer, @karlding, @wuqs-net, @afq984, @binaryplease |
Could you elaborate on how terminal templates are more similar to one another, than other non-terminal templates? |
I think we mean conceptually not literally that all terminal configs look alike. Basically each terminal template (from what I've seen at a glance) is trying to map the Base16 palette into the terminal's 16 color ANSI palette space, which makes the actually mappings very conceptually similar in what is happening in each terminal template. |
In general terminal templates are a 1-time setup: they involve setting up a foreground/background, and the 16 ansi colors (as well as the alternate mapping for the 256 color scheme). They'll all have to do the same setup, but in different formats. Editor templates end up changing a bit more - different things need to have colors added for, new features are added, that sort of thing. |
I think one issue here is often that the template repos have their own very nice individual READMEs and FAQs, etc... and there is a certain gravitas/individuality that comes with this... that just merging them all into one huge mono-repo takes away... |
Thanks for the explanation, so the main difference is probably that terminal templates are probably 1:1 mappings and non-terminal ones are probably more complex and unstable.
@joshgoebel Is there something you're trying to push forward but found the distributed situation today to be an obstacle? I think updates can be automated by GitHub actions set up on each repo; other larger scale changes that would require edits to the mustache templates would probably need review from terminal owners. Also I'm a bit concerned about |
From my perspective, maintaining 10-20 (or more) separate repos is a lot of additional work:
Currently, none of those can be done automatically and they need to be done every time a new terminal repo is created. There's also been talk about adding additional types of schemes (like an ansi16 palate which lines up with the expected ansi colors) which would then involve an update to every single terminal repository, rather than 1 large one to the terminals repository.
This is true, but we can still have READMEs in subfolders. It would just be one folder removed.
Yes, that would work. We could also use GitHub's CODEOWNERS file to require updates to specific templates.
As an effort to offset that, we could pin the base16-terminal-templates repo in the org. It could also be advantageous because then there's a single place people need to go in order to get a terminal color scheme, rather than going to the base16-project/base16 repo, figuring out who's maintaining their specific terminal (if anyone), and go there. Plus, there's no guarantee people will be willing to transfer their terminal repos to us. There are a lot of them, and many have inactive maintainers. |
Aw, the per-repo configuration sounds like a real pain. If we want base16-project to take ownership of the maintenance/infrastructure, and given the points above #44 (comment), a single centralized repository makes more sense to me. My previous comments were still in a mindset of keeping the terminal templates community-owned (contrib), rather than base16-project-owned. Both options are good for base16-xfce4-terminal.
Does outside collaborator solve this? |
I'm don't see it as a strict dichotomy. I'd like to (in a perfect world) imagine co-ownership for I haven't worked inside an org with this type of core/contrib split before, so I can only imagine how it's supposed to work in theory, not practice... |
I assume you pinged me because of https://github.com/niklaas/base16-blink. :) I haven't touched/used this in a long, long while. I'm happy (a) to verify that it's still working and (b) to move this wherever it's best for the community. Just ping me once you settled on a decision on what's best for the community and I'll take a look at (a) to see whether (b) would make sense. |
I vaguely recall at the time when I created the template repo that I'm being tagged here for, base16 had no desire for a centralized org containing templates and builders and encouraged this decentralized approach that's being moved away from. It sounds like base16-project wants to take ownership of more things, which sounds fine with me. |
FYI I'm fine with a central repo/organization for the base16 terminal theme that I created. |
+1 |
Has chriskempson stated an opinion on this? I don't want to speak for him, but it seems he set this up so that things would remain more static. This limits the amount of time a color scheme developer or template maintainer would have to spend because changes in one don't affect the other. Personally, I don't have a lot of time to be involved in a project where things change in the interest of improvement. I wouldn't hold it against you if you took the base16 builders, color schemes, and templates and put them in a new repository that was designed to facilitate more change. I think all of the licenses allow for this. |
No, he's ignored all our attempts to contact us, removed my commit access, removed the history on his base16 repo, blocked us on GitHub, and closed the issue trackers on all his repos. He hasn't explicitly stated anything.
We're still figuring this out, but I think we're going to work on our "next gen" base16 (which we're going to call base17). The goal is to be forwards compatible for both color schemes and templates, but we'll be adding additional features so if templates want to use them, they can.
This is one of the reasons we're trying to transfer repos to this org - so if/when people get burned out or tired of maintaining a template, someone else can step up.
The idea behind this issue is lessening the burden of maintaining a bunch of terminals which almost all do very similar things - provide mappings for the 16 terminal colors and possibly a 256 color template for use with base16-shell. I don't think we'd want to put everything in a single repo - that was what happened with the original base16 (and a few past forks) and it wasn't super maintainable. I think doing this for only terminal color schemes is a small enough surface area where it could work. |
I'm just now realizing that this issue is in the base16-project, which is not Chris' and you are already in the process of forking all of the repos. For anyone else who is unaware, the backstory has been documented here #51 |
As described in #65 (comment) I welcome the idea of merging the repositories into a centralized one. Two ones "maintained" by me are really low maintanence anyways :) |
There hasn't been talk of a centralised repository recently and I've set up GitHub actions (shared-auto-assign.yml, shared-build-template-and-commit-themes.yml) across all the template repos for building templates, tagging maintainers (based on CODEOWNERS file) for issues opened as well as a CONTRIBUTING_TO_TEMPLATES.md file which takes care of general template contribution. I don't see an issue with keeping the repos separate for the forseeable future at least unless something changes. As for talk about the project remaining OSS, a PROJECT_GOVERNANCE.md file has been created which includes steps to take if the admins or maintainers become unresponsive so the project doesn't fall into the same situation that lead to the creation of Tinted Theming (formerly Base16 Project). The organisation belongs to the community and we also have steps to take to transfer in external repos to the tinted-theming GitHub org in CONTRIBUTING.md. If there isn't more discussion here, I'll close the issue in a few days but we can always reopen. |
I think I would still lean towards a single terminal templates repo, given how similar they are, even with the automation improvements you've made, for the following reasons:
I'm open to keeping the status-quo, but I think this would be a good improvement for maintenance and support. |
I've created a Tinted Terminal Template repository by merging in all of the Tinted Theming terminal template repos. Is everyone happy with this? I can make any changes (rebase) to make sure everyone is happy with it. Once everyone is happy with it we can update the README.md on each of the legacy repos and archive the repo. I'll add all previous maintainers as maintainers of this repo. I'll also create new issues linking to any old issues that exist on the then archived terminal template repos. @tinted-theming/alacritty @tinted-theming/conemu @tinted-theming/foot @tinted-theming/iterm2 @tinted-theming/kermit @tinted-theming/kitty @tinted-theming/putty @tinted-theming/rio-terminal @tinted-theming/termite @tinted-theming/xfce4-terminal |
It seems like most terminal files end up being fairly similar - maybe it would make sense to have a
base16-terminal-templates
(or some other similar name) which has all the terminals which we support in different folders.The text was updated successfully, but these errors were encountered: