chubin / wttr.in

:partly_sunny: The right way to check the weather
https://wttr.in
Apache License 2.0
24.37k stars 1.1k forks source link

Dark background color #11

Open niksy opened 8 years ago

niksy commented 8 years ago

Any chance of explicitly setting background color of output to dark background color? Visuals can be unreadable on light terminal themes.

screen shot 2016-02-20 at 12 38 17

alex179ohm commented 8 years ago

One tip, in order to change colors you could alias the wttr.in command on your .bashrc or .zshrc like the following:

alias weather='curl wttr.in/YOUR_CITY | sed -e "s:226m:202m:g"'

where 226m is the yellow color code on 256 colors terminals which is changed with a more readable orange (202m).

the complete list of colors could be reached here

update: a more comprehensive solution which I'm currently still using is:

_weather() {
    tmpfile=$(mktemp)
    curl -s wttr.in/$1 > $tmpfile
    cat $tmpfile | sed -e 's:226m:202m:g'
    rm $tmpfile
}
alias weather='_weather'

and I use this:

$ weather CITY
m0veax commented 8 years ago

You can reduce it to this:

_weather() { tmpfile=$(mktemp) curl -s wttr.in/$1 | sed -e 's:226m:202m:g' } alias weather='_weather

yckart commented 7 years ago

@m0veax No, not really! What you did is what the first alias from @alex179ohm already does — pipe curl's output to sed. But, in addition, each time _weather is called you also create a wasteful temporary file (which is not used in your script and even not deleted afterwards).

lexicalunit commented 7 years ago

I also use a light terminal theme so I created a shell script to solve this issue.

weather.sh:

#!/bin/bash

# default location
LOC="${1:-ADD_YOUR_DEFAULT_LOCATION_HERE}"

# force dark background color
esc=$'\e'
bg="$esc[48;5;232m"
eol="$esc[K"

echo -e "$bg$eol"
curl -s "http://wttr.in/$LOC" | sed "s/^/$bg$eol  /;s/\[0m/\[0m$bg/g"
echo -e "$bg$eol"
screen shot 2017-01-17 at 4 05 25 pm
book commented 7 years ago

The ANSI escape sequences to set a dark background could be simply sent along with the rest of the text, just like the rest of the color escapes.

chubin commented 7 years ago

@book The issue not about background color per se, the point is to preare a new color scheme, that will good work with the new background

C4K3 commented 7 years ago

In case anybody simply wants to remove color entirely, I do that with sed 's/\x1B[0-9\[;]\+m//g'

chubin commented 7 years ago

@C4K3 Just use ?T wttr.in/?T

it should work. Does it work for you?

C4K3 commented 7 years ago

@chubin It does, awesome, I didn't know about that option.

ratijas commented 3 years ago

@chubin Hi,

Sorry to ping on this, but could you make min temperature blue color just a little bit brighter, please? It's so cold here, I can barely distinguish the digits at the low end.

Konsole wttr.in

I'm using Konsole with slightly customized Arc Dark theme, its background color is solid #383c4a.

chubin commented 3 years ago

I've changed it to violet. I think it is better so. You know, if it is -56⁰C outside, I think blue is not blue enough for that, it should be something special

Selection_083

Layerex commented 3 years ago

I made this utility a while ago primarily to deal with that problem. https://github.com/Layerex/term-invert-colors screen

chubin commented 2 years ago

@Layerex It is a cool tool. Maybe it we should integrate it on the server side

Layerex commented 2 years ago

@chubin would be cool. But, I guess, fine-tuning original colorscheme without full inversion would be much better. For example, making sun orange or red and darkening other colors would fix the problem of readability without significantly altering colors.

chubin commented 2 years ago

@Layerex I agree. I believe we should just create color schemes, and make it possible for the uses to add their own color schemes + select the current color scheme

hello-smile6 commented 2 years ago

Why not use a proxy to invert the colors?

chubin commented 2 years ago

What proxy do you mean?

It would be really a good feature, to be able to specify the color scheme on the server side, so that anybody could just use it

hello-smile6 commented 2 years ago

What proxy do you mean?

One that doesn't exist yet.

hello-smile6 commented 2 years ago

@chubin https://ansi-invert-proxy.9pfs.repl.co/https:/wttr.in/ I made a proxy that uses @Layerex 's library to invert ANSI escape sequences for requests. It's currently slow, but I'll try to make it more reliable (and maybe add caching).