Esquema de colors solarizado en fbterm?

He instalado fbterm y estoy intentando usarlo con el esquema de color solarizado. No he podido encontrar ninguna información sobre esto. Los colors ya están agregados a mis .Xresources y trabajando con xterm. ¿Hay alguna forma de utilizar este esquema de colors en el framebuffer?

si no…

sí, parece posible , haciendo esto usando secuencias de escape como señalé que era posible para un terminal diferente en el esquema Conjunto solarizado en LXTerminal .

no, nadie parece haber implementado esto en una forma list para usar porque como se señaló en 256 colors en la console (tty) , los desarrolladores de fbterm eligieron usar secuencias de escape diferentes de xterm.

Sin embargo, esta página tiene una configuration que se dice que funciona: dotfiles / .dircolors-fbterm , pero al leer la descripción del terminal en el repository de git para fbterm ( https://github.com/izmntuk/fbterm ), aparentemente se basa en un versión de dircolors que se ha modificado para generar las secuencias de escape correspondientes.

Los ls y dircolors GNU no usan la database terminfo (o termcap), secuencias de escape de encoding fija, por lo que cualquier uso exitoso de colors por parte de esos progtwigs para fbterm requerirá alguna adaptación. No veo eso en Fedora o Debian / testing, por ejemplo. Otras aplicaciones codificadas de manera incorrecta que pueden no funcionar correctamente incluyen GNU grep y groff. Debido a que algunas aplicaciones ignoran la database del terminal, estas deben tratarse caso por caso.

Debido a que la definición del color difiere de otros terminales, para usar con otras aplicaciones es necesario instalar la descripción del terminal que viene con fbterm (no está en ncurses en este momento). Eso se haría con tic .

La descripción del terminal utiliza solo un escape no estándar para establecer los colors, pero leer el código fuente ( vterm_action.cpp ) sugiere que, como subset, también puede funcionar para los 8 colors ANSI. Pero solarizado usa más de 8 colors. Si desea solarizado para GNU ls, se necesita algo de trabajo (que nadie parece haber hecho).

Todo lo anterior supone que ha configurado la paleta de colors para que coincida con el tema solarizado, y solo desea usarlo. Puede modificar la secuencia de commands en benley / solarized-termcolor-osc4 para usar la secuencia de escape en la descripción del terminal fbterm y get algo que funcione de esa manera. Eso se hace en esta línea:

 printf "\x1b]4;$ANSI;rgb:${RGB}\a" 

que está codificado. Si hubieran usado tput , no habría trabajo involucrado. La descripción del terminal para fbterm dice

 initc=\E[3;%p1%d;%p2%d;%p3%d;%p4%d}, 

que (señalando que el script usa / todo) correspondería a una statement como

 printf '\033[3;%d;%d;%d;%d}' $ANSI $R $G $B 

si el guión se había escrito para establecer variables para R ed, G reen y B lue. Si lo modificó para cambiar esos embeddeds / caracteres a ; entonces el printf encajaría en el script existente así:

  printf '\033[3;%d;%s}' $ANSI "$RGB" 

pero esos puntos y comas embeddeds harían necesario agregar comillas alnetworkingedor de los parameters a cada llamada de cset .

Siguiendo con la respuesta de @Thomas Dickey con respecto a la escritura solarizada

El initc de initc utiliza valores decimales y no valores hexadecimales, por lo que tendrá que volver a escribir la mayoría de ellos. Una vez hecho esto, se invoca dentro de otro script (p. Ej. / Etc / profile o ~ / .bashrc) usando:

. solarized-fbterm.sh

Afortunadamente ya lo hice, solarized-fbterm.sh :

 #!/bin/bash # # Author: paul.wratt@gmail.com (Paul Wratt) # Original: benley@gmail.com (Benjamin Staffin) # Set your fbterm's color palette to match the Solarized color scheme by # using escape sequences. fbterm uses decimal values not hex values. # set -o nounset base03="0;43;54" base02="7;54;66" base01="88;110;117" base00="101;123;131" base0="131;148;150" base1="147;161;161" base2="238;232;213" base3="253;246;227" yellow="181;137;0" orange="203;75;22" networking="220;50;47" magenta="211;54;130" violet="108;113;196" blue="38;139;210" cyan="42;161;152" green="133;153;0" printf "\033[3;234;$base03}\033[3;235;$base02}\033[3;240;$base01}\033[3;241;$base00}\033[3;244;$base0}\033[3;245;$base1}\033[3;254;$base2}\033[3;230;$base3}\033[3;136;$yellow}\033[3;166;$orange}\033[3;160;$networking}\033[3;125;$magenta}\033[3;61;$violet}\033[3;33;$blue}\033[3;37;$cyan}\033[3;64;$green}" function cset() { ANSI=$1 RGB=$2 printf "\033[3;%d;%s}" $ANSI "$RGB" } #black cset 0 $base02 cset 8 $base03 #networking cset 1 $networking cset 9 $orange #green cset 2 $green cset 10 $base01 #yellow cset 3 $yellow cset 11 $base00 #blue cset 4 $blue cset 12 $base0 #magenta cset 5 $magenta cset 13 $violet #cyan cset 6 $cyan cset 14 $base1 #white cset 7 $base2 cset 15 $base3