diff options
author | Sébastien Helleu <flashcode@flashtux.org> | 2019-06-07 21:29:05 +0200 |
---|---|---|
committer | Sébastien Helleu <flashcode@flashtux.org> | 2019-06-07 21:29:05 +0200 |
commit | 7aa82db47106206b8e1bc0c56d34530ec25d23e6 (patch) | |
tree | 95a789a3485b1c7587b9f00e2c983904a51dbb14 | |
parent | f065b43b71fe7b492607a66b2c13cf489af1b9b8 (diff) | |
download | weechat-7aa82db47106206b8e1bc0c56d34530ec25d23e6.zip |
core: replace char "," by "~" in color codes to separate foreground from background (closes #1264)
-rw-r--r-- | ChangeLog.adoc | 7 | ||||
-rw-r--r-- | doc/en/weechat_dev.en.adoc | 64 | ||||
-rw-r--r-- | doc/fr/weechat_dev.fr.adoc | 66 | ||||
-rw-r--r-- | doc/ja/weechat_dev.ja.adoc | 65 | ||||
-rw-r--r-- | src/gui/curses/gui-curses-window.c | 7 | ||||
-rw-r--r-- | src/gui/gui-color.c | 15 |
6 files changed, 143 insertions, 81 deletions
diff --git a/ChangeLog.adoc b/ChangeLog.adoc index 031977fee..2aa931a99 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -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) diff --git a/doc/en/weechat_dev.en.adoc b/doc/en/weechat_dev.en.adoc index 586b6e6dc..825d2e837 100644 --- a/doc/en/weechat_dev.en.adoc +++ b/doc/en/weechat_dev.en.adoc @@ -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_): diff --git a/doc/fr/weechat_dev.fr.adoc b/doc/fr/weechat_dev.fr.adoc index a5b6ce1a7..fd8141d47 100644 --- a/doc/fr/weechat_dev.fr.adoc +++ b/doc/fr/weechat_dev.fr.adoc @@ -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_) : diff --git a/doc/ja/weechat_dev.ja.adoc b/doc/ja/weechat_dev.ja.adoc index ccd5cc3ca..a856cc63b 100644 --- a/doc/ja/weechat_dev.ja.adoc +++ b/doc/ja/weechat_dev.ja.adoc @@ -873,34 +873,47 @@ WeeChat は文字列中に独自の色コードを使うことで、属性 [width="100%",cols="4,2,2,8",options="header"] |=== -| コード | 例 | エリア | 説明 -| [hex]#19# + STD | [hex]#19# `+01+` | chat + bars | オプションを使って属性と色を指定、色コードは以下の表を参照 -| [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | ncurses ペアを使って色を指定 (`/color` バッファのみ有効) -| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + bars | 文字色 (WeeChat 色) を設定 -| [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + bars | 文字色 (拡張色) を設定 -| [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + bars | 背景色 (WeeChat 色) を設定 -| [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + bars | 背景色 (拡張色) を設定 -| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + bars | 文字色(WeeChat 色) を設定 -| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + bars | 文字色 (拡張色) を設定 -| [hex]#19# + "*" + (A)STD + "," + STD | [hex]#19# `+*08,05+` | chat + bars | 文字色および背景色 (WeeChat 色) を設定 -| [hex]#19# + "*" + (A)STD + "," + EXT | [hex]#19# `+*01,@00214+` | chat + bars | 文字色 (WeeChat 色) と背景色 (拡張色) を設定 -| [hex]#19# + "*" + (A)EXT + "," + STD | [hex]#19# `+*@00214,05+` | chat + bars | 文字色 (拡張色) と背景色 (WeeChat 色) を設定 -| [hex]#19# + "*" + (A)EXT + "," + EXT | [hex]#19# `+*@00214,@00017+` | chat + bars | 文字色および背景色 (拡張色) を設定 -| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | bars | バーの文字色を設定 -| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | bars | バーの区切り文字色を設定 -| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | bars | バーの背景色を設定 -| [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | input bar | 文字入力を開始 ("input_text" 要素のみで利用可) -| [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | input bar | 隠し文字入力を開始 ("input_text" 要素のみで利用可) -| [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | input bar | カーソル文字を移動 ("input_text" 要素のみで利用可) -| [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | bars | 要素を開始 -| [hex]#19# + "b" + "l" (小文字の L) | [hex]#19# `+bl+` | bars | 行要素を開始 -| [hex]#19# + "E" | [hex]#19# `+E+` | chat + bars | テキストを強調 _(WeeChat バージョン 0.4.2 以上で利用可)_ -| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | 色をリセット (属性は保存) -| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + bars | 属性を設定 -| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + bars | 属性を削除 -| [hex]#1C# | [hex]#1C# | chat + bars | 属性と色をリセット +| コード | 例 | エリア | 説明 +| [hex]#19# + STD | [hex]#19# `+01+` | chat + bars | オプションを使って属性と色を指定、色コードは以下の表を参照 +| [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | ncurses ペアを使って色を指定 (`/color` バッファのみ有効) +| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + bars | 文字色 (WeeChat 色) を設定 +| [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + bars | 文字色 (拡張色) を設定 +| [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + bars | 背景色 (WeeChat 色) を設定 +| [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + bars | 背景色 (拡張色) を設定 +| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + bars | 文字色(WeeChat 色) を設定 +| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + bars | 文字色 (拡張色) を設定 +| [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | 文字色および背景色 (WeeChat 色) を設定 +| [hex]#19# + "*" + (A)STD + "," + EXT ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | 文字色 (WeeChat 色) と背景色 (拡張色) を設定 +| [hex]#19# + "*" + (A)EXT + "," + STD ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | 文字色 (拡張色) と背景色 (WeeChat 色) を設定 +| [hex]#19# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | 文字色および背景色 (拡張色) を設定 +| [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + bars | 文字色および背景色 (WeeChat 色) を設定 +| [hex]#19# + "*" + (A)STD + "~" + EXT | [hex]#19# `+*01~@00214+` | chat + bars | 文字色 (WeeChat 色) と背景色 (拡張色) を設定 +| [hex]#19# + "*" + (A)EXT + "~" + STD | [hex]#19# `+*@00214~05+` | chat + bars | 文字色 (拡張色) と背景色 (WeeChat 色) を設定 +| [hex]#19# + "*" + (A)EXT + "~" + EXT | [hex]#19# `+*@00214~@00017+` | chat + bars | 文字色および背景色 (拡張色) を設定 +| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | bars | バーの文字色を設定 +| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | bars | バーの区切り文字色を設定 +| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | bars | バーの背景色を設定 +| [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | input bar | 文字入力を開始 ("input_text" 要素のみで利用可) +| [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | input bar | 隠し文字入力を開始 ("input_text" 要素のみで利用可) +| [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | input bar | カーソル文字を移動 ("input_text" 要素のみで利用可) +| [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | bars | 要素を開始 +| [hex]#19# + "b" + "l" (小文字の L) | [hex]#19# `+bl+` | bars | 行要素を開始 +| [hex]#19# + "E" | [hex]#19# `+E+` | chat + bars | テキストを強調 _(WeeChat バージョン 0.4.2 以上で利用可)_ +| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | 色をリセット (属性は保存) +| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + bars | 属性を設定 +| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + bars | 属性を削除 +| [hex]#1C# | [hex]#1C# | chat + bars | 属性と色をリセット |=== +// TRANSLATION MISSING +[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). + オプションを使う色コード (_src/gui/gui-color.h_ ファイルの _t_gui_color_enum_ を参照): diff --git a/src/gui/curses/gui-curses-window.c b/src/gui/curses/gui-curses-window.c index d0c5a77fe..10d1aac09 100644 --- a/src/gui/curses/gui-curses-window.c +++ b/src/gui/curses/gui-curses-window.c @@ -792,7 +792,12 @@ gui_window_string_apply_color_fg_bg (unsigned char **string, WINDOW *window) ptr_string += 2; } } - if (ptr_string[0] == ',') + /* + * note: the comma is an old separator not used any more + * (since WeeChat 2.6), but we still use it here so in case of /upgrade + * this will not break colors in old messages + */ + if ((ptr_string[0] == ',') || (ptr_string[0] == '~')) { ptr_string++; if (ptr_string[0] == GUI_COLOR_EXTENDED_CHAR) diff --git a/src/gui/gui-color.c b/src/gui/gui-color.c index 297943916..f067330aa 100644 --- a/src/gui/gui-color.c +++ b/src/gui/gui-color.c @@ -461,8 +461,13 @@ gui_color_get_custom (const char *color_name) if (color_fg[0] && color_bg[0]) { + /* + * note: until WeeChat 2.5, the separator was a comma, and it has + * been changed to a tilde (to prevent problems with /eval and + * ${color:FF,BB} + */ snprintf (color[index_color], sizeof (color[index_color]), - "%c%c%s,%s", + "%c%c%s~%s", GUI_COLOR_COLOR_CHAR, GUI_COLOR_FG_BG_CHAR, color_fg, @@ -659,7 +664,13 @@ gui_color_decode (const char *string, const char *replacement) if (ptr_string[0] && ptr_string[1]) ptr_string += 2; } - if (ptr_string[0] == ',') + /* + * note: the comma is an old separator not used any + * more (since WeeChat 2.6), but we still use it here + * so in case of/upgrade this will not break colors in + * old messages + */ + if ((ptr_string[0] == ',') || (ptr_string[0] == '~')) { if (ptr_string[1] == GUI_COLOR_EXTENDED_CHAR) { |