Vous n'êtes pas identifié(e).

#1 2011-06-18 06:21:07

skingrapher
Ours mal léché mais qui lèche bien
Lieu : 974
Inscription : 2011-05-03
Messages : 2 154
Site Web

Vos couleurs pour vos applications ncurses

Vous utilisez des applications en console qui utilisent la librairie ncurses ?
Vous aimeriez leur donner quelques couleurs qui vous plaisent ?
Vous recherchez des exemples de configuration des couleurs pour mutt, mcabber, irssi, screen, mc etc ?
Vous voulez savoir jusqu'où on peut aller, en s'amusant, à vouloir donner un look à ce genre d'applications ?

Pour le plaisir d'échanger et de partager, je commence avec canto.

20110618080436_690x451_scrot.png

colors[0]=(4,0) 
colors[0]=128
colors[1]=63
colors[2]=(7,36)  
#colors[3]=(5,1)

# color number representation
# =-=-=-=-=-=-=-=-=-=-=-=-=-=
# -1 default
# 0 black
# 1 red
# 2 green
# 3 yellow
# 4 blue
# 5 pink or magenta
# 6 cyan
# 7 white

# color pair definition
# =-=-=-=-=-=-=-=-=-=-=
# 0 default color pair
# 1 unread story items
# 2 read story items
# 3 links
# 4 quotes
# 5 emphasis text
# 6 image links
# 7 unset

Je suis un obsédé textuel. J'aime trop le LaTeX.
Mon ventre est un cimetière de poulets. Cthulhu fhtagn !
5 phrases max dans vos emails : five.sentenc.es

Hors ligne

#2 2011-08-30 13:18:36

znk
Stratège en frite
Inscription : 2010-12-27
Messages : 1 126

Re : Vos couleurs pour vos applications ncurses

C'est quoi excatement Canto ? un fichier Xresources en simplifié ?
Edit: c'est un agrégateur rss/atom en fait.

Pour les applications ncurses, j'utilise mocp en tty avec tmux. Tu les connais déjà hmm

Dernière modification par znk (2011-08-30 14:46:18)

Hors ligne

#3 2011-08-30 14:09:02

Jeoffrey54
Crunchbanger
Inscription : 2011-02-06
Messages : 240

Re : Vos couleurs pour vos applications ncurses

D'ailleurs, comment fait-on ce genre d'interface graphique ? Je connais dialog, kdialog et zenity, mais là, ce système de flèche à gauche semble être super beau.


Jeoffrey54, articles sur le monde GNU/Linux (#! en particulier).

Hors ligne

#4 2011-08-30 15:37:10

skingrapher
Ours mal léché mais qui lèche bien
Lieu : 974
Inscription : 2011-05-03
Messages : 2 154
Site Web

Re : Vos couleurs pour vos applications ncurses

Il ne se fait pas. Il est intégré à l'application. Chaque application en ncurses a sa propre interface selon les choix de son développeur.


Je suis un obsédé textuel. J'aime trop le LaTeX.
Mon ventre est un cimetière de poulets. Cthulhu fhtagn !
5 phrases max dans vos emails : five.sentenc.es

Hors ligne

#5 2011-08-30 16:07:16

Jeoffrey54
Crunchbanger
Inscription : 2011-02-06
Messages : 240

Re : Vos couleurs pour vos applications ncurses

Hum, j'ai pas compris grand chose =/.

L'appli qu'il y'a sur ton screen, elle est faite en quoi ?

Je cherche à faire la même chose : en gros, avoir sur un terminal la liste de mes flux rss, avec une flèche à gauche me permettant d'ouvrir le lien en appuyant sur Entrée.

L'ennui, c'est que je peux pas utiliser dialog pour sa, je perds la transparence et l'intégration dans mon système.


Jeoffrey54, articles sur le monde GNU/Linux (#! en particulier).

Hors ligne

#6 2011-08-30 18:04:55

skingrapher
Ours mal léché mais qui lèche bien
Lieu : 974
Inscription : 2011-05-03
Messages : 2 154
Site Web

Re : Vos couleurs pour vos applications ncurses

Jeoffrey54 a écrit :

Hum, j'ai pas compris grand chose =/.

Pô grav', j'ai l'habitude.

Jeoffrey54 a écrit :

L'appli qu'il y'a sur ton screen, elle est faite en quoi ?

En peau de serpent.
En python.


Je suis un obsédé textuel. J'aime trop le LaTeX.
Mon ventre est un cimetière de poulets. Cthulhu fhtagn !
5 phrases max dans vos emails : five.sentenc.es

Hors ligne

#7 2011-08-30 19:45:49

Jeoffrey54
Crunchbanger
Inscription : 2011-02-06
Messages : 240

Re : Vos couleurs pour vos applications ncurses

D'acc, donc tu intègres la librairie ncurses pour gérer l'interface (la flêche de sélection) c'est bien ça ?


Jeoffrey54, articles sur le monde GNU/Linux (#! en particulier).

Hors ligne

#8 2011-08-30 22:11:07

skingrapher
Ours mal léché mais qui lèche bien
Lieu : 974
Inscription : 2011-05-03
Messages : 2 154
Site Web

Re : Vos couleurs pour vos applications ncurses

voui


Je suis un obsédé textuel. J'aime trop le LaTeX.
Mon ventre est un cimetière de poulets. Cthulhu fhtagn !
5 phrases max dans vos emails : five.sentenc.es

Hors ligne

#9 2011-08-31 00:00:24

znk
Stratège en frite
Inscription : 2010-12-27
Messages : 1 126

Re : Vos couleurs pour vos applications ncurses

Skingrapher, je ne sais pas si tu connais mais un site vraiment adapté peut faire ton bonheur pour le partage de dot, c'est http://www.dotshare.it .
Et je rajoute un autre pour les adorateurs de la ligne de commande c'est CommandeLineFu.

Hors ligne

#10 2011-08-31 02:50:16

arpinux
naked'modo
Lieu : en famille
Inscription : 2010-09-12
Messages : 2 794
Site Web

Re : Vos couleurs pour vos applications ncurses

euh ... pour les couleurs, ça marche ça ??
lunettes3D
tongue

Hors ligne

#11 2011-08-31 06:52:02

skingrapher
Ours mal léché mais qui lèche bien
Lieu : 974
Inscription : 2011-05-03
Messages : 2 154
Site Web

Re : Vos couleurs pour vos applications ncurses

@znk : non, dotshare koné pô ! merki bôssou !
@arpinux : oui, ça marche ; mets les sur ton nez.


Je suis un obsédé textuel. J'aime trop le LaTeX.
Mon ventre est un cimetière de poulets. Cthulhu fhtagn !
5 phrases max dans vos emails : five.sentenc.es

Hors ligne

#12 2011-09-09 10:34:18

Jeoffrey54
Crunchbanger
Inscription : 2011-02-06
Messages : 240

Re : Vos couleurs pour vos applications ncurses

@skingrapher, tu pourrais partager l'application qui est sur ton screen stp ?

Je cherche à faire une interface en Python dans le même genre que la tienne, mais j'ai un peu de mal...

Merci smile .


Jeoffrey54, articles sur le monde GNU/Linux (#! en particulier).

Hors ligne

#13 2011-09-09 16:46:29

skingrapher
Ours mal léché mais qui lèche bien
Lieu : 974
Inscription : 2011-05-03
Messages : 2 154
Site Web

Re : Vos couleurs pour vos applications ncurses

C'est Canto.


Je suis un obsédé textuel. J'aime trop le LaTeX.
Mon ventre est un cimetière de poulets. Cthulhu fhtagn !
5 phrases max dans vos emails : five.sentenc.es

Hors ligne

#14 2012-02-17 04:34:16

tinara
Crunchbanger
Inscription : 2012-02-07
Messages : 33

Re : Vos couleurs pour vos applications ncurses

Pour irssi, j'emploie le thème cyanic un peu modifié, j'ai dégagé les parenthèses qui encadre l'heure et le nick :

[== perl ==]
# :::::::::::::[ irssi theme cyanic v0.1 by bracket ]::::::::::::::

# this theme is still under construction, and i guess it will be
# that way forever. :) this theme will _not_ work on networks which
# support nicknames longer than 9 chars. i made it for myself and 
# i use only ircnet.

# you can send any comments, complaints and/or request to 
# bracket@welho.com or /msg me on ircnet.

# :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

# default foreground color (%N) - -1 is the "default terminal color"
default_color = "%w";

# print timestamp/servertag at the end of line, not at beginning
info_eol = "false";

# these characters are automatically replaced with specified color
# (dark grey by default)
replaces = { "[]" = "%K$*%w"; };

abstracts = {
  ##
  ## generic
  ##

  # text to insert at the beginning of each non-message line
  line_start = "%w";

  # timestamp styling, nothing by default
  timestamp = "%c$*%K";

  # any kind of text that needs hilighting, default is to bold
  hilight = "%_$*%_";

  # any kind of error message, default is bright red
  error = "%R$*%w";

  # channel name is printed
  channel = "%_$*%_";

  # nick is printed
  nick = "$*";

  # nick host is printed
  nickhost = "[$*]";

  # server name is printed
  server = "%_$*%_";

  # some kind of comment is printed
  comment = "[$*]";

  # reason for something is printed (part, quit, kick, ..)
  reason = "{comment $*}";

  # mode change is printed ([+o nick])
  mode = "{comment $*}";

  ##
  ## channel specific messages
  ##

  # highlighted nick/host is printed (joins)
  channick_hilight = "%C$*%w";
  chanhost_hilight = "{nickhost %c$*%w}";

  # nick/host is printed (parts, quits, etc.)
  channick = "%c$*%w";
  chanhost = "{nickhost $*}";

  # highlighted channel name is printed
  channelhilight = "%c$*%w";

  # ban/ban exception/invite list mask is printed
  ban = "%r$*%w";

  ##
  ## messages
  ##

  # the basic styling of how to print message, $0 = nick mode, $1 = nick
  msgnick = "%G$0%C$1 %K %|%w";

  # message from you is printed. "msgownnick" specifies the styling of the
  # nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the
  # whole line.

  # Example1: You want the message text to be green:
  #  ownmsgnick = "{msgnick $0 $1-}%g";
  # Example2.1: You want < and > chars to be yellow:
  #  ownmsgnick = "%Y{msgnick $0 $1-%Y}%n";
  #  (you'll also have to remove <> from replaces list above)
  # Example2.2: But you still want to keep <> grey for other messages:
  #  pubmsgnick = "%K{msgnick $0 $1-%K}%n";
  #  pubmsgmenick = "%K{msgnick $0 $1-%K}%n";
  #  pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n";
  #  ownprivmsgnick = "%K{msgnick  $*%K}%n";
  #  privmsgnick = "%K{msgnick  %R$*%K}%n";

  # $0 = nick mode, $1 = nick
  ownmsgnick = "{msgnick $0 $1-}%w";
  ownnick = "%W$*%w";

  # public message in channel, $0 = nick mode, $1 = nick
  pubmsgnick = "{msgnick $0 $1-}";
  pubnick = "%C$*%w";

  # public message in channel meant for me, $0 = nick mode, $1 = nick
  pubmsgmenick = "{msgnick $0 $1-}";
  menick = "%Y$*%W";

  # public highlighted message in channel
  # $0 = highlight color, $1 = nick mode, $2 = nick
  pubmsghinick = "{msgnick $1 $0$2-%W}%W";

  # channel name is printed with message
  msgchannel = "%K:%c$*%w";

  # private message, $0 = nick, $1 = host
  privmsg = "%K[%C$0%K(%c$1-%K)%K] %W";

  # private message from you, $0 = "msg", $1 = target nick
  ownprivmsg = "%K[%c$0%K(%W$1-%K)%K] %G";

  # own private message in query
  ownprivmsgnick = "{msgnick %c$*}";
  ownprivnick = "%W$*%w";

  # private message in query
  privmsgnick = "{msgnick  %C$*%w}";

  ##
  ## Actions (/ME stuff)
  ##


  # used internally by this theme
  # action_core = "%W$[-9]0- * %w";
  action_core = "%C$0-%w";

  # generic one that's used by most actions
  action = "           %W* %|{action_core %c$*} ";

  # own action, both private/public
  ownaction = "{action $*}";

  # own action with target, both private/public
  ownaction_target = "{action_core $0}%K:%c$1%w ";

  # private action sent by others
  pvtaction = "%W (*) $*%w ";
  pvtaction_query = "{action $*}";

  # public action sent by others
  pubaction = "{action $*}";


  ##
  ## other IRC events
  ##

  # whois
  whois = "%# $[8]0 : $1-";

  # notices
  ownnotice = "[%r$0%K(%R$1-%K)]%w ";
  notice = "%K-%Y$*%K-%w ";
  pubnotice_channel = "%K:%m$*";
  pvtnotice_host = "%K(%m$*%K)";
  servernotice = "%g!$*%w ";

  # CTCPs
  ownctcp = "[%r$0%K(%R$1-%K)] ";
  ctcp = "%g$*%w";

  # wallops
  wallop = "%W$*%w: ";
  wallop_nick = "%w$*";
  wallop_action = "%W * $*%w ";

  # netsplits
  netsplit = "%R$*%w";
  netjoin = "%G$*%w";

  # /names list
  names_prefix = "";
  names_nick = "%K[%_%c$0%_%C$1-%K] %w";
  names_nick_op = "{names_nick $*}";
  names_nick_halfop = "{names_nick $*}";
  names_nick_voice = "{names_nick $*}";
  names_users = "[%C$*%w]";
  names_channel = "%W$*%w";

  # DCC
  dcc = "%m$*%n";
  dccfile = "%_$*%_";

  # DCC chat, own msg/action
  dccownmsg = "[%r$0%K($1-%K)%w] ";
  dccownnick = "%R$*%w";
  dccownquerynick = "%W$*%w";
  dccownaction = "{action $*}";
  dccownaction_target = "{action_core $0}%K:%c$1%w ";

  # DCC chat, others
  dccmsg = "[%G$1-%K(%g$0%K)%w] ";
  dccquerynick = "%G$*%w";
  dccaction = "%W (*dcc*) $*%w %|";

  ##
  ## statusbar
  ##

  # default background for all statusbars. You can also give
  # the default foreground color for statusbar items.
  sb_background = "%6%W";

  # default backround for "default" statusbar group
  sb_default_bg = "%6";
  # background for prompt / input line
  sb_prompt_bg = "%k";
  # background for info statusbar
  sb_info_bg = "%6";
  # background for topicbar (same default)
  sb_topic_bg = "%6";

  # text at the beginning of statusbars. sb-item already puts
  # space there,so we don't use anything by default.
  sbstart = "";
  # text at the end of statusbars. Use space so that it's never
  # used for anything.
  sbend = " ";

  topicsbstart = "{sbstart $*}";
  topicsbend = "{sbend $*}";

  prompt = "%c[%C$*%c] %W";

  sb = " %K[%k$*%K]%w";
  sbmode = "%K(%W+%C$*%K)";
  sbaway = " %K(%K-%Waway%K-%K)";
  sbservertag = ":$0 %K(%Cchange with %W^X%K)";
  sbnickmode = "$0";

  # activity in statusbar

  # ',' separator
  sb_act_sep = "%K$*";
  # normal text
  sb_act_text = "%K$*";
  # public message
  sb_act_msg = "%C$*";
  # hilight
  sb_act_hilight = "%Y$*";
  # hilight with specified color, $0 = color, $1 = text
  sb_act_hilight_color = "$0$1-%w";
};
formats = {
  "fe-common/core" = {
    join = "{channick $[-10]0} %G>%n %|{chanhost_hilight $1} has joined {channel $2}";
    part = "{channick $[-10]0} %w<%n %|{chanhost $1} has left {channel $2} {reason $3}";
    kick = "{channick $[-10]0} %R<%w %|kicked from {channel $1} by {nick $2} {reason $3}";
    quit = "{channick $[-10]0} %Rx%n %|{chanhost $1} has quit irc {reason $2}";
    quit_once = "{channel $3} {channick $0} {chanhost $1} quit {reason $2}";
    nick_changed = "{channick $[-10]0} %W=%w {channick_hilight $1}";
    your_nick_changed = "{channick $[-10]0} %W=%w {channick_hilight $1}";
    own_msg = "{ownmsgnick $2 {ownnick $[-9]0}}$1";
    own_msg_channel = "{ownmsgnick $3 {ownnick $[-9]0}{msgchannel $1}}$2";
    pubmsg_me = "{pubmsgmenick $2 {menick $[-9]0}}$1";
    pubmsg_me_channel = "{pubmsgmenick $3 {menick $[-9]0}{msgchannel $1}}$2";
    pubmsg_hilight = "{pubmsghinick $0 $3 $[-9]1}$2";
    pubmsg_hilight_channel = "{pubmsghinick $0 $4 $[-9]1{msgchannel $2}}$3";
    pubmsg = "{pubmsgnick $2 {pubnick $[-9]0}}$1";
    pubmsg_channel = "{pubmsgnick $3 {pubnick $[-9]0}{msgchannel $1}}$2";
    own_msg_private = "{ownprivmsg msg $[-10]0}$1";
    own_msg_private_query = "{ownprivmsgnick {ownprivnick $[-10]2}}$1";
    msg_private = "{privmsg $[-10]0 $1}$2";
    msg_private_query = "{privmsgnick $[-10]0}$2";
    new_topic = "     %wtopic %W= %|%c'%C$2%c' %won {channel $1}[set by {nick %W$0}]";


    daychange = "%K( %Wday changed to %%d %%b %%Y %K)";
  };
  "fe-common/irc" = {
    chanmode_change = "      %wmode %W- %|%w({channelhilight $0} {mode $1}%w) by {nick %W$2}";
    channel_mode = "      %wmode %W- %|%w({channelhilight $0}%K) {mode $1}";
    netsplit = "[{netsplit netsplit}] %W/%w %|{server $0} <-> {server $1} quits: %W$2";
    netsplit_more = "[{netsplit netsplit}] %W/%w %|{server $0} <-> {server $1} quits: $2 (+$3 more, use /NETSPLIT to show all of them)";
    netsplit_join = "[{netjoin netsplit}] %W-%w %|joins: %W$0";
    netsplit_join_more = "[{netjoin netsplit}] %W-%w %|over, joins: $0 (+$1 more)";

    whois = "%w.-[%C%%]%w- %wthe whois of {nick %W$0} %w-[%C%%]%w- %K)%:| host     : {%Wnickhost %W$1@$2} %K)%:|{whois ircname %W$3} %K)";
    whowas = "%w.-[%C%%]%w- %wthe whowas of {nick %W$0} %w-[%C%%]%w- %K)%:| host     : {%Wnickhost %W$1@$2} %K)%:|{whois ircname %W$3} %K)";
    whois_idle = "|{whois idle %|%W$1 %wdays and %W$2%w:%W$3%w:%W$4} %K)";
    whois_idle_signon = "|{whois idle %|%W$1 %wdays and %W$2%w:%W$3%w:%W$4 {comment signon: $5}} %K)";
    whois_server = "|{whois server %|%W$1 {comment $2}} %K)";
    whois_oper = "{whois  {hilight $1}}";
    whois_registered = "{whois  has registered this nick}";
    whois_help = "{whois  is available for help}";
    whois_modes = "{whois modes $1}";
    whois_realhost = "{whois hostname $1-}";
    whois_usermode = "{whois usermode $1}";
    whois_channels = "|{whois channels %|$1}%K)";
    whois_away = "|{whois away %|%W$1} %K)";
    whois_special = "{whois  %|$1}";
    whois_extra = "{whois  %|$1}";
    end_of_whois = "%w`-[%C%%]%w- %wend of whois -[%C%%]%w- %K)";
    end_of_whowas = "%w`-[%C%%]%w- %wend of whowas -[%C%%]%w- %K)";
    whois_not_found = "There is no such nick $0";
    who = "%#{channelhilight $[-10]0} %|{nick $[!9]1} $[!3]2 $[!2]3 $4@$5 {comment {hilight $6}}";
    end_of_who = "End of /WHO list";

  };
};

Et j'ai adapté le thème dark de poezio pour qu'il soit dans le même goût :

[== python ==]
import theming

class CyanicTheme(theming.Theme):
	COLOR_INFORMATION_BAR = (-1, 37)
	COLOR_STATUS_XA = (53, -1)
	COLOR_STATUS_AWAY = (214, -1)
	COLOR_STATUS_DND = (160, -1)
	COLOR_STATUS_CHAT = (34, -1)
	COLOR_STATUS_UNAVAILABLE = (242, -1)
	COLOR_STATUS_ONLINE = (27, -1)
	COLOR_STATUS_NONE = (27, -1)

	COLOR_VERTICAL_SEPARATOR = (37, -1)
	COLOR_NEW_TEXT_SEPARATOR = (213,  -1)
	COLOR_MORE_INDICATOR = (6, 4)

	COLOR_HIGHLIGHT_NICK = (37, 202, 'b')

	COLOR_TAB_NORMAL = (-1, 37)
	COLOR_TAB_CURRENT = (-1, 16)
	COLOR_TAB_NEW_MESSAGE = (3, 37)
	COLOR_TAB_HIGHLIGHT = (1, 37)
	COLOR_TAB_ATTENTION = (6, 236)
	COLOR_TAB_PRIVATE = (2, 37)
	COLOR_TAB_DISCONNECTED = (13, 236)

	COLOR_TOPIC_BAR = (-1, 37)
	COLOR_SCROLLABLE_NUMBER = (-1, 37, 'b')
	COLOR_SELECTED_ROW = (-1, 238)
	COLOR_PRIVATE_NAME = (-1, 37)
	COLOR_CONVERSATION_NAME = (2, 37)
	COLOR_GROUPCHAT_NAME = (236, 37)
	COLOR_COLUMN_HEAD = (36, 236)

	COLOR_VERTICAL_TAB_NORMAL = (240, -1)
	COLOR_VERTICAL_TAB_CURRENT = (-1, 37)
	COLOR_VERTICAL_TAB_NEW_MESSAGE = (3, -1)
	COLOR_VERTICAL_TAB_HIGHLIGHT = (1, -1)
	COLOR_VERTICAL_TAB_PRIVATE = (2, -1)
	COLOR_VERTICAL_TAB_ATTENTION = (6, -1)
	COLOR_VERTICAL_TAB_DISCONNECTED = (13, -1)

theme = CyanicTheme()

Les deux applications avec les deux thèmes sont visibles l'une à côté de l'autre sur ce screenshot :
Bureau février 2012
1329301665.png

Donc, oui, une gros domination du cyan qui est je trouve une couleur voyante sans me brûler les yeux en console.

Dernière modification par tinara (2012-02-17 04:34:43)

Hors ligne

#15 2012-05-26 18:06:23

skingrapher
Ours mal léché mais qui lèche bien
Lieu : 974
Inscription : 2011-05-03
Messages : 2 154
Site Web

Re : Vos couleurs pour vos applications ncurses

mon thème MOC, appelé dagon :

# dagon.theme

background		= default		default
frame			= default		default
window_title		= white		default
directory		= white		default
selected_directory	= red		default
playlist		= white		default
selected_playlist	= red		default
file			= white		default
selected_file		= red		default
marked_file		= green		default 
marked_selected_file	= default		red
info			= white		default
selected_info		= red		default
marked_info		= green		default
marked_selected_info	= default		red
status			= white		default
title			= white		default
state			= white		default
current_time		= green		default
time_left		= white		default
total_time		= red		default
time_total_frames	= red		default
sound_parameters	= white		default
legend			= white		default
disabled		= black		default bold
enabled			= white		default
empty_mixer_bar		= default		default
filled_mixer_bar	= default		red
empty_time_bar		= white		default
filled_time_bar		= default		red
entry			= white		default
entry_title		= default		red
error			= red		default
message			= green		default
plist_time		= white		default

Ça donne simplement ça :

2012-05-26-200141_600x900_scrot.png

Dernière modification par skingrapher (2012-05-26 18:32:07)


Je suis un obsédé textuel. J'aime trop le LaTeX.
Mon ventre est un cimetière de poulets. Cthulhu fhtagn !
5 phrases max dans vos emails : five.sentenc.es

Hors ligne

Pied de page des forums