zulip / zulip-terminal

Official Zulip terminal client.
Apache License 2.0
612 stars 243 forks source link

TRACKING: Support more Themes #1133

Open neiljp opened 2 years ago

neiljp commented 2 years ago

Since themes are now isolated, we hope that adding a new theme should be easier for a contributor!

Please review our existing theme documentation and theme source files in zulipterminal/themes/ (currently all themes are integrated in the source, until #1067)

If you have questions that are not answered by the documentation in that location, or our other documentation, please do ask in the #zulip-terminal stream on chat.zulip.org!

Themes we could consider adding/developing:

(please discuss in the stream first, if you think of others and want to work on them)

Things to consider:

NOTE: Since some themes have WIP (work in progress) PRs already, please check their status first; it is then normally good to use tools/fetch-pull-request to fetch these and build upon them if they are not in active development. You may need to rebase them against main to resolve conflicts.

NOTE: To support multiple contributors working on this, please do not claim this issue directly - it would be useful if you only work on one of these yourself and leave other themes for others to work on.

felipecpassos commented 2 years ago

Hello, i'm new to contributing to OS projects, and would like to develop the Nord Theme for Zulip Terminal.

I would like to be inspired in the VS Code Nord Theme:

Example

neiljp commented 2 years ago

Hi @felipecpassos! Welcome to the project!

For the colors themselves, you may wish to refer to https://www.nordtheme.com/ For application of the colors, that site may also have insights as to which kinds of UI elements might fit best with different colors?

Other than the colors and assigning them to the UI styles in a new theme file, you'll need to add the connections for the new theme to enable it to be selected at run-time, though that should be a case of looking for the names of existing themes and adding in your new theme file name.

felipecpassos commented 2 years ago

Thank you for the welcome @neiljp

SwarupKharul commented 2 years ago

I would like to develop the Dracula theme for the Zulip terminal. I would refer to their official documentation https://draculatheme.com/ As mentioned in the issue description, I could not find any existing stream on this issue!

CypherpunkSamurai commented 2 years ago

Hello sir, I'm new to open-source contributions and I would like to create new theme OneDark for zulip. Can you please guide me through this to get started.

Thank You Sir

Dishti-Oberai commented 2 years ago

Hi all, Can I please work on gruvbox light theme? @zulipbot claim

neiljp commented 2 years ago

@Dishti-Oberai Hopefully you saw that @amanagr and myself responded in #zulip-terminal.

Zulipbot does not appear to be working right now, at least in this repository, but in any case this is an issue with many elements and so multiple people are working on. A comment on GitHub is good to indicate you're working on it :)

neiljp commented 2 years ago

@CypherpunkSamurai I'm not as familiar with the OneDark vim theme, but it seems possible to add. There is some documentation in the themes folder for adding themes, though it may need updating for some theme features which were added over the last Summer. For a theme which requires its own colors, I would suggest you work from a template theme like gruvbox.

Dishti-Oberai commented 2 years ago

Thank you @neiljp , I will comment on GitHub and CZO in case I face any challenges while working on this issue.

neiljp commented 2 years ago

Reopening after accidental closure after adding one new theme.

siddharthc30 commented 2 years ago

Hi, I would like to work on adding the solarized dark theme and would be referring to https://ethanschoonover.com/solarized/ I hope this issue is still active and I can contribute to it, also, It would be of great help if I get to know about the initial steps of getting started

Dishti-Oberai commented 2 years ago

Hi, Yes, this issue is still active. The first thing you can do to get started is to analyze the codebase (related to other themes) and go through the THEME_CONTRIBUTING.md file. Feel free to ask any other doubts on CZO. Hope this helps :)

neiljp commented 2 years ago

@siddharthc30 Sure, I don't think anyone has looked into that 👍 You may wish to look at the recent changes to gruvbox where common colors are extracted into a common file.

Also, in case people are unclear, some refer to "CZO" as an abbreviation for the Zulip community development server at https://chat.zulip.org, on which there is a #zulip-terminal stream :)

siddharthc30 commented 2 years ago

Thank you. I kind of could figure out the CZO part... :joy: Also, can I start a new topic to discuss the solarized theme in #zulip-terminal stream??

neiljp commented 2 years ago

@siddharthc30 Sure, you're welcome to come chat there!

phalashi commented 2 years ago

Hi all, can I please start working on the solarized light theme, with https://github.com/altercation/solarized as a reference?

neiljp commented 2 years ago

@phalashi As above, @siddharthc30 has stated interest in the other version of solarized for now. You could consider working together on this as I expect we'll benefit from a combined color_solarized.py file, wait until that is done, or maybe work on something else in the meantime otherwise?

I'd suggest coming along to chat on chat.zulip.org in #zulip-terminal > solarized theme if you're interested in that, or another topic for something else you're interested in :)

phalashi commented 2 years ago

Alright! I'd love to work with @siddharthc30 on the color_solarized.py file, if he's alright with it :) If not, could I work on the badwolf theme? ( with reference from: https://github.com/sjl/badwolf )

neiljp commented 2 years ago

@phalashi For solarized, I'd suggest raising it also in #zulip-terminal, as it will enable solarized-specific discussion, and of course all the benefits of sync/async discussion, notifications etc that Zulip brings :)

For adding extra themes, my primary concern is whether we can make these sufficiently interesting or distinct. I've opened #zulip-terminal > Criteria for themes for discussion of reasons we may or may not want to limit adding more and more themes.

siddharthc30 commented 2 years ago

Hi, I think myself and @phalashi can work together on the solarized theme

siddharthc30 commented 2 years ago

Hi, @neiljp I have some issue accessing the CZO, so unable to communicate there. Is there any other alternative where I can clear my doubts and complete the theme ASAP?

neiljp commented 2 years ago

@siddharthc30 I saw you online there earlier, but in the meantime I'd suggest you working on solarized as you planned originally and open a PR. However, do please split the color details into eg. colors_solarized.py so we can more easily build on it separately once merged.

@phalashi In the meantime, please do work on another theme if you like :+1:

This remains a good issue to get started with the code, and of course fine-tune the appearance to your preference, though there are plenty of other interesting issues open that would also benefit the project if anyone gets blocked here :)

vipulsaxena31 commented 1 year ago

i want to work on solarized dark theme on zulip terminal