tarkah / tickrs

Realtime ticker data in your terminal 📈
MIT License
1.16k stars 58 forks source link

Allow scrolling in summary mode for a longer list of symbols #62

Closed rafi closed 3 years ago

rafi commented 3 years ago

In summary mode, I'm only able to see the first 6 (with volumes) or 7 (without volumes) symbols. It would be awesome to be able to scroll up/down through the summary list. Great tool, thank you!

tarkah commented 3 years ago

Hey, thanks for the suggestion! I think this is a great idea. Let me play around with implementing this, might take me a few days to get around to it, but I'd love to see this too.

tarkah commented 3 years ago

@rafi This was a bit easier to implement than I originally anticipated. If you're able to run from source, I'd love to have you test against #63 and tell me your thoughts. Here's a gif showing how it works:

Peek 2021-02-11 10-48

miraclx commented 3 years ago

@rafi, you beat me to it. But I'm glad this feature is now implemented.

rafi commented 3 years ago

Works great so far @tarkah 👑 Your colors are very pretty. It would be awesome if there was a YAML config file in which we could pre-configure symbols, colors, and key-mappings! ;) (I'm a Vim bindings junkie)

tarkah commented 3 years ago

Awesome! I'll get a release out with it today.

I can definitely add config support! There's enough options now to where this makes sense. Supporting themes is an interesting idea, too. I figured ppl would just want it based on their terminal colors, but having the ability to change it would be cool. I'll look into this as well.

tarkah commented 3 years ago

Also, here's my base16 colors I'm using for my terminal if you're interested:

#!/bin/sh
# base16-shell (https://github.com/chriskempson/base16-shell)
# Base16 Shell template by Chris Kempson (http://chriskempson.com)
# Monokai scheme by Wimer Hazenberg (http://www.monokai.nl)

color00="40/3e/41" # Base 00 - Black
color01="fa/64/8a" # Base 08 - Red
color02="ad/d9/77" # Base 0B - Green
color03="ff/da/65" # Base 0A - Yellow
color04="fc/97/66" # Base 0D - Blue
color05="ab/9d/f9" # Base 0E - Magenta
color06="79/db/ea" # Base 0C - Cyan
color07="fc/fc/fa" # Base 05 - White
color08="72/70/72" # Base 03 - Bright Black
color09=$color01 # Base 08 - Bright Red
color10=$color02 # Base 0B - Bright Green
color11=$color03 # Base 0A - Bright Yellow
color12=$color04 # Base 0D - Bright Blue
color13=$color05 # Base 0E - Bright Magenta
color14=$color06 # Base 0C - Bright Cyan
color15="fa/fc/f8" # Base 07 - Bright White
color16="fd/97/1f" # Base 09
color17="cc/66/33" # Base 0F
color18="38/38/30" # Base 01
color19="49/48/3e" # Base 02
color20="a5/9f/85" # Base 04
color21="f5/f4/f1" # Base 06
color_foreground="fc/fc/fa" # Base 05
color_background="40/3e/41" # Base 00

if [ -n "$TMUX" ]; then
  # Tell tmux to pass the escape sequences through
  # (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324)
  put_template() { printf '\033Ptmux;\033\033]4;%d;rgb:%s\033\033\\\033\\' $@; }
  put_template_var() { printf '\033Ptmux;\033\033]%d;rgb:%s\033\033\\\033\\' $@; }
  put_template_custom() { printf '\033Ptmux;\033\033]%s%s\033\033\\\033\\' $@; }
elif [ "${TERM%%[-.]*}" = "screen" ]; then
  # GNU screen (screen, screen-256color, screen-256color-bce)
  put_template() { printf '\033P\033]4;%d;rgb:%s\007\033\\' $@; }
  put_template_var() { printf '\033P\033]%d;rgb:%s\007\033\\' $@; }
  put_template_custom() { printf '\033P\033]%s%s\007\033\\' $@; }
elif [ "${TERM%%-*}" = "linux" ]; then
  put_template() { [ $1 -lt 16 ] && printf "\e]P%x%s" $1 $(echo $2 | sed 's/\///g'); }
  put_template_var() { true; }
  put_template_custom() { true; }
else
  put_template() { printf '\033]4;%d;rgb:%s\033\\' $@; }
  put_template_var() { printf '\033]%d;rgb:%s\033\\' $@; }
  put_template_custom() { printf '\033]%s%s\033\\' $@; }
fi

# 16 color space
put_template 0  $color00
put_template 1  $color01
put_template 2  $color02
put_template 3  $color03
put_template 4  $color04
put_template 5  $color05
put_template 6  $color06
put_template 7  $color07
put_template 8  $color08
put_template 9  $color09
put_template 10 $color10
put_template 11 $color11
put_template 12 $color12
put_template 13 $color13
put_template 14 $color14
put_template 15 $color15

# 256 color space
put_template 16 $color16
put_template 17 $color17
put_template 18 $color18
put_template 19 $color19
put_template 20 $color20
put_template 21 $color21

# foreground / background / cursor color
if [ -n "$ITERM_SESSION_ID" ]; then
  # iTerm2 proprietary escape codes
  put_template_custom Pg f8f8f2 # foreground
  put_template_custom Ph 272822 # background
  put_template_custom Pi f8f8f2 # bold color
  put_template_custom Pj 49483e # selection color
  put_template_custom Pk f8f8f2 # selected text color
  put_template_custom Pl f8f8f2 # cursor
  put_template_custom Pm 272822 # cursor text
else
  put_template_var 10 $color_foreground
  if [ "$BASE16_SHELL_SET_BACKGROUND" != false ]; then
    put_template_var 11 $color_background
    if [ "${TERM%%-*}" = "rxvt" ]; then
      put_template_var 708 $color_background # internal border (rxvt)
    fi
  fi
  put_template_custom 12 ";7" # cursor (reverse video)
fi

# clean up
unset -f put_template
unset -f put_template_var
unset -f put_template_custom
unset color00
unset color01
unset color02
unset color03
unset color04
unset color05
unset color06
unset color07
unset color08
unset color09
unset color10
unset color11
unset color12
unset color13
unset color14
unset color15
unset color16
unset color17
unset color18
unset color19
unset color20
unset color21
unset color_foreground
unset color_background