Skip to content
Permalink
Browse files

core: replace char "," by "~" in color codes to separate foreground f…

…rom background (closes #1264)
  • Loading branch information...
flashcode committed Jun 7, 2019
1 parent f065b43 commit 7aa82db47106206b8e1bc0c56d34530ec25d23e6
Showing with 143 additions and 81 deletions.
  1. +7 −0 ChangeLog.adoc
  2. +38 −26 doc/en/weechat_dev.en.adoc
  3. +40 −26 doc/fr/weechat_dev.fr.adoc
  4. +39 −26 doc/ja/weechat_dev.ja.adoc
  5. +6 −1 src/gui/curses/gui-curses-window.c
  6. +13 −2 src/gui/gui-color.c
@@ -15,6 +15,13 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
(file _ReleaseNotes.adoc_ in sources).


[[v2.6]]
== Version 2.6 (under dev)

Bug fixes::

* core: replace char "," by "~" in color codes to separate foreground from background (issue #1264)

[[v2.5]]
== Version 2.5 (2019-06-06)

@@ -873,34 +873,46 @@ All combinations are summarized in this table:

[width="100%",cols="4,2,2,8",options="header"]
|===
| Code | Example | Areas | Description
| [hex]#19# + STD | [hex]#19# `+01+` | chat + bars | Set attributes and color using option, see table below.
| [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | Set color with a ncurses pair (used only on `/color` buffer).
| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + bars | Set background (WeeChat color).
| [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color).
| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + "*" + (A)STD + "," + STD | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + "*" + (A)STD + "," + EXT | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + "*" + (A)EXT + "," + STD | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + "*" + (A)EXT + "," + EXT | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | bars | Set bar foreground color.
| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | bars | Set bar delimiter color.
| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | bars | Set bar background color.
| [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | input bar | Start input char (used only in item "input_text").
| [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | input bar | Start input hidden char (used only in item "input_text").
| [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | input bar | Move cursor char (used only in item "input_text").
| [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | bars | Start item.
| [hex]#19# + "b" + "l" (lower L) | [hex]#19# `+bl+` | bars | Start line item.
| [hex]#19# + "E" | [hex]#19# `+E+` | chat + bars | Emphasize text _(WeeChat ≥ 0.4.2)_.
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | Reset color (keep attributes).
| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + bars | Set attribute.
| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + bars | Remove attribute.
| [hex]#1C# | [hex]#1C# | chat + bars | Reset attributes and color.
| Code | Example | Areas | Description
| [hex]#19# + STD | [hex]#19# `+01+` | chat + bars | Set attributes and color using option, see table below.
| [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | Set color with a ncurses pair (used only on `/color` buffer).
| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + bars | Set background (WeeChat color).
| [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color).
| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + "*" + (A)STD + "," + EXT ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + "*" + (A)EXT + "," + STD ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + "*" + (A)STD + "~" + EXT | [hex]#19# `+*01~@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + "*" + (A)EXT + "~" + STD | [hex]#19# `+*@00214~05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + "*" + (A)EXT + "~" + EXT | [hex]#19# `+*@00214~@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | bars | Set bar foreground color.
| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | bars | Set bar delimiter color.
| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | bars | Set bar background color.
| [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | input bar | Start input char (used only in item "input_text").
| [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | input bar | Start input hidden char (used only in item "input_text").
| [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | input bar | Move cursor char (used only in item "input_text").
| [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | bars | Start item.
| [hex]#19# + "b" + "l" (lower L) | [hex]#19# `+bl+` | bars | Start line item.
| [hex]#19# + "E" | [hex]#19# `+E+` | chat + bars | Emphasize text _(WeeChat ≥ 0.4.2)_.
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | Reset color (keep attributes).
| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + bars | Set attribute.
| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + bars | Remove attribute.
| [hex]#1C# | [hex]#1C# | chat + bars | Reset attributes and color.
|===

[NOTE]
^(1)^ The use of comma as separator was used until WeeChat 2.5. +
With WeeChat ≥ 2.6, a tilde is used to separate foreground from background
color. If you are developing a WeeChat relay client and want to be compatible
with all WeeChat versions, you should support both separators (for example if a
user with WeeChat ≤ 2.5 runs `/upgrade` to a version ≥ 2.6, both separators
could be used at same time in buffers).

Color codes using options (see _t_gui_color_enum_, in file
_src/gui/gui-color.h_):

@@ -888,34 +888,48 @@ Toutes les combinaisons sont résumées dans ce tableau :

[width="100%",cols="4,2,2,8",options="header"]
|===
| Code | Exemple | Aires | Description
| [hex]#19# + STD | [hex]#19# `+01+` | chat + barres | Définir les attributs et la couleur en utilisant une option, voir le tableau ci-dessous.
| [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | Définir une couleur avec la paire ncurses (utilisé seulement sur le tampon `/color`).
| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
| [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
| [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + barres | Définir la couleur de fond (couleur WeeChat).
| [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + barres | Définir le couleur de fond (couleur étendue).
| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
| [hex]#19# + "*" + (A)STD + "," + STD | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [hex]#19# + "*" + (A)STD + "," + EXT | [hex]#19# `+*01,@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
| [hex]#19# + "*" + (A)EXT + "," + STD | [hex]#19# `+*@00214,05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
| [hex]#19# + "*" + (A)EXT + "," + EXT | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | barres | Définir la couleur de texte de la barre.
| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | barres | Définir la couleur du délimiteur de la barre.
| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | barres | Définir la couleur de fond de la barre.
| [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | barre input | Caractère de démarrage dans l'entrée (utilisé seulement dans l'objet "input_text").
| [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | barre input | Caractère de démarrage caché dans l'entrée (utilisé seulement dans l'objet "input_text").
| [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | barre input | Caractère de déplacement du curseur (utilisé seulement dans l'objet "input_text").
| [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | barres | Début d'objet.
| [hex]#19# + "b" + "l" (lower L) | [hex]#19# `+bl+` | barres | Ligne de démarrage d'objet.
| [hex]#19# + "E" | [hex]#19# `+E+` | chat + barres | Texte mis en valeur _(WeeChat ≥ 0.4.2)_.
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + barres | Réinitialiser la couleur (garder les attributs).
| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + barres | Activer un attribut.
| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + barres | Supprimer un attribut.
| [hex]#1C# | [hex]#1C# | chat + barres | Réinitialiser les attributs et la couleur.
| Code | Exemple | Aires | Description
| [hex]#19# + STD | [hex]#19# `+01+` | chat + barres | Définir les attributs et la couleur en utilisant une option, voir le tableau ci-dessous.
| [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | Définir une couleur avec la paire ncurses (utilisé seulement sur le tampon `/color`).
| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
| [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
| [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + barres | Définir la couleur de fond (couleur WeeChat).
| [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + barres | Définir le couleur de fond (couleur étendue).
| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
| [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [hex]#19# + "*" + (A)STD + "," + EXT ^(1)^ | [hex]#19# `+*01,@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
| [hex]#19# + "*" + (A)EXT + "," + STD ^(1)^ | [hex]#19# `+*@00214,05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
| [hex]#19# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
| [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [hex]#19# + "*" + (A)STD + "~" + EXT | [hex]#19# `+*01~@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
| [hex]#19# + "*" + (A)EXT + "~" + STD | [hex]#19# `+*@00214~05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
| [hex]#19# + "*" + (A)EXT + "~" + EXT | [hex]#19# `+*@00214~@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | barres | Définir la couleur de texte de la barre.
| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | barres | Définir la couleur du délimiteur de la barre.
| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | barres | Définir la couleur de fond de la barre.
| [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | barre input | Caractère de démarrage dans l'entrée (utilisé seulement dans l'objet "input_text").
| [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | barre input | Caractère de démarrage caché dans l'entrée (utilisé seulement dans l'objet "input_text").
| [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | barre input | Caractère de déplacement du curseur (utilisé seulement dans l'objet "input_text").
| [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | barres | Début d'objet.
| [hex]#19# + "b" + "l" (lower L) | [hex]#19# `+bl+` | barres | Ligne de démarrage d'objet.
| [hex]#19# + "E" | [hex]#19# `+E+` | chat + barres | Texte mis en valeur _(WeeChat ≥ 0.4.2)_.
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + barres | Réinitialiser la couleur (garder les attributs).
| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + barres | Activer un attribut.
| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + barres | Supprimer un attribut.
| [hex]#1C# | [hex]#1C# | chat + barres | Réinitialiser les attributs et la couleur.
|===

[NOTE]
^(1)^ L'utilisation de virgule comme séparateur était utilisé jusqu'à
WeeChat 2.5. +
Avec WeeChat WeeChat ≥ 2.6, un tilde est utilisé pour séparer la
couleur du texte et du fond. Si vous développez un client WeeChat relay et
voulez être compatible avec toutes les versions de WeeChat, vous devriez
supporter les deux séparateurs (par exemple si un utilisateur avec WeeChat ≤ 2.5
lance `/upgrade` vers une version ≥ 2.6, les deux séparateurs pourront être
utilisés au même moment dans les tampons).

Les codes couleur utilisant des options (voir _t_gui_color_enum_, dans le
fichier _src/gui/gui-color.h_) :

0 comments on commit 7aa82db

Please sign in to comment.
You can’t perform that action at this time.