-
Notifications
You must be signed in to change notification settings - Fork 137
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
Improve the default appearance and readability of the tty #35
base: master
Are you sure you want to change the base?
Conversation
I don't like the new style but I like the idea. Would it be too complicated to make termOptions be loaded from a config file? That way we could have more modern default options at the same time people with different tastes could easily change to whatever they prefer. |
That would be possible but complicated. Since all the js is compiled at build time and the config is needed client-side I think the easiest way to go about it would be adding a command line arg to specify the path to a config file and then having the go server serve that file so that then the client is loaded the browser can fetch that config file when initialising xterm. That would required more work than I have bandwidth for though I'm afraid. If someone else wants to implement that then great. In the mean time though I think it's still worthwhile picking nicer defaults. What do you not like about the ttyd colour scheme? Trying to get sense of what style would better suit your sensibilities. |
@callumgare I think the color scheme is beautiful, but I simply need more contrast, so I tend to prefer the all-black background. Anyway, nothing prevents me from simply compiling my version, and it's easier now that you've shown where to change the colors. :-) Once your PR has been merged I'll play with the idea of putting this in parameters. |
c0abb56
to
af11e3a
Compare
@crgimenes Mmm, you're right it is a relatively low contrast amount and I suspect you're not the only one who would find it too low contrast. I've bumped it up slightly to be inline with the default dark theme in vs code. Hopefully that's a better balance however if you prefer a pure black background it'll likely still be too low contrast for your tastes so you might still want to go the compiling your own route. |
@callumgare Excellent, much better. |
I'm actually pondering adding something to the UI so you can change fonts, colors, etc., but a set of pre-defined themes would be cool. For the default style, I think using the default dark mode from VSCode sounds great. I'm not cocky enough to think I can do better than them. :) Would you like to contribute a higher contrast style, @crgimenes ? |
hello @sorenisanerd , Sorry for the delay in responding. I'd love to help, I'll take a look. |
@crgimenes Well, we'd be replacing one person's preferences with another person's preferences. I'd much rather find a way to let people customize as they desire as well as provide a set of decent themes that users can choose from. |
@sorenisanerd what colour scheme is your preference? Even if you add customisability you’ll always have a default theme (unless you were to do something crazy like randomising the default theme) so it is advantageous to have a default theme that works for the most number of people. If you prefer the current theme then fair enough but if you prefer this one or don’t have a preference then I would suggest using this one which based off VS Code is most likely to have the broadest appeal. |
This is what gotty currently looks like:
As compared to ttyd:
Aesthetics are complicated and there is a good helping of subjectivity to them but I personally think ttyd looks far more pleasing as well as more readable. Both use xterm.js but the reason ttyd looks different is that it uses the theme options to style xterm. Currently gotty just uses the default theme settings of xterm.js which I think are a bit clunky looking.
Since “good artists borrow, great artists steal” I've taken the values which ttyd use for styling xterm and added them to gotty. With that change gotty now looks like:
There's no reason why we have to use these values exactly tho if anyone thinks there's a better combination.