1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-05 09:13:14 +02:00

core: add /theme reset to restore original themable defaults

This commit is contained in:
Sébastien Helleu
2026-07-04 20:47:02 +02:00
parent 45bdf0ca7e
commit 8141928c06
25 changed files with 441 additions and 45 deletions
+14
View File
@@ -2248,6 +2248,20 @@ is aborted before any option is changed.
The name of the last applied theme is stored in
`+weechat.look.theme+` (informational only; not re-applied at startup).
[[themes_reset]]
==== Resetting to defaults
To restore the look shipped with WeeChat, reset every themable option
to its default value:
----
/theme reset
----
A backup is written first (same gate as `+/theme apply+`); on backup
failure the reset is aborted before any option is changed.
`+weechat.look.theme+` is cleared too.
[[themes_save_delete]]
==== Saving and deleting user themes
+14
View File
@@ -2235,6 +2235,20 @@ is aborted before any option is changed.
The name of the last applied theme is stored in
`+weechat.look.theme+` (informational only; not re-applied at startup).
[[themes_reset]]
==== Resetting to defaults
To restore the look shipped with WeeChat, reset every themable option
to its default value:
----
/theme reset
----
A backup is written first (same gate as `+/theme apply+`); on backup
failure the reset is aborted before any option is changed.
`+weechat.look.theme+` is cleared too.
[[themes_save_delete]]
==== Saving and deleting user themes
+15
View File
@@ -2282,6 +2282,21 @@ Le nom du dernier thème appliqué est conservé dans
`+weechat.look.theme+` (à titre informatif uniquement ; il n'est pas
ré-appliqué au démarrage).
[[themes_reset]]
==== Réinitialiser aux valeurs par défaut
Pour rétablir l'apparence d'origine livrée avec WeeChat, réinitialiser
toutes les options modifiables à leur valeur par défaut :
----
/theme reset
----
Une sauvegarde est écrite au préalable (même garde-fou que
`+/theme apply+`) ; si la sauvegarde échoue, la réinitialisation est
annulée avant qu'aucune option ne soit modifiée. L'option
`+weechat.look.theme+` est également remise à vide.
[[themes_save_delete]]
==== Sauvegarder et supprimer des thèmes utilisateur
+14
View File
@@ -2490,6 +2490,20 @@ is aborted before any option is changed.
The name of the last applied theme is stored in
`+weechat.look.theme+` (informational only; not re-applied at startup).
[[themes_reset]]
==== Resetting to defaults
To restore the look shipped with WeeChat, reset every themable option
to its default value:
----
/theme reset
----
A backup is written first (same gate as `+/theme apply+`); on backup
failure the reset is aborted before any option is changed.
`+weechat.look.theme+` is cleared too.
[[themes_save_delete]]
==== Saving and deleting user themes
+14
View File
@@ -2426,6 +2426,20 @@ is aborted before any option is changed.
The name of the last applied theme is stored in
`+weechat.look.theme+` (informational only; not re-applied at startup).
[[themes_reset]]
==== Resetting to defaults
To restore the look shipped with WeeChat, reset every themable option
to its default value:
----
/theme reset
----
A backup is written first (same gate as `+/theme apply+`); on backup
failure the reset is aborted before any option is changed.
`+weechat.look.theme+` is cleared too.
[[themes_save_delete]]
==== Saving and deleting user themes
+14
View File
@@ -2242,6 +2242,20 @@ is aborted before any option is changed.
The name of the last applied theme is stored in
`+weechat.look.theme+` (informational only; not re-applied at startup).
[[themes_reset]]
==== Resetting to defaults
To restore the look shipped with WeeChat, reset every themable option
to its default value:
----
/theme reset
----
A backup is written first (same gate as `+/theme apply+`); on backup
failure the reset is aborted before any option is changed.
`+weechat.look.theme+` is cleared too.
[[themes_save_delete]]
==== Saving and deleting user themes
+14
View File
@@ -2144,6 +2144,20 @@ is aborted before any option is changed.
The name of the last applied theme is stored in
`+weechat.look.theme+` (informational only; not re-applied at startup).
[[themes_reset]]
==== Resetting to defaults
To restore the look shipped with WeeChat, reset every themable option
to its default value:
----
/theme reset
----
A backup is written first (same gate as `+/theme apply+`); on backup
failure the reset is aborted before any option is changed.
`+weechat.look.theme+` is cleared too.
[[themes_save_delete]]
==== Saving and deleting user themes
+14 -3
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-05-30 14:01+0200\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: Czech <weechat-dev@nongnu.org>\n"
@@ -3714,8 +3714,8 @@ msgstr "seznam položek polí"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
#, fuzzy
@@ -3735,6 +3735,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -6364,6 +6369,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, c-format
msgid "%sName \"%s\" is reserved for automatic backups"
msgstr ""
+14 -3
View File
@@ -26,7 +26,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-06-28 08:28+0200\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <weechatter@arcor.de>\n"
@@ -4106,8 +4106,8 @@ msgstr "Verwalten von benutzerdefinierten Bar-Items"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
#, fuzzy
@@ -4134,6 +4134,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -7206,6 +7211,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, fuzzy, c-format
#| msgid "%sBuffer name \"%s\" is reserved for WeeChat"
msgid "%sName \"%s\" is reserved for automatic backups"
+14 -3
View File
@@ -24,7 +24,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-06-28 08:46+0200\n"
"Last-Translator: Santiago Forero <santiago@forero.xyz>\n"
"Language-Team: Spanish <weechat-dev@nongnu.org>\n"
@@ -3806,8 +3806,8 @@ msgstr "lista de elementos de barra"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
#, fuzzy
@@ -3827,6 +3827,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -6522,6 +6527,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, fuzzy, c-format
#| msgid "%sBuffer name \"%s\" is reserved for WeeChat"
msgid "%sName \"%s\" is reserved for automatic backups"
+21 -6
View File
@@ -23,8 +23,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"PO-Revision-Date: 2026-07-04 20:24+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-07-04 20:49+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: French <flashcode@flashtux.org>\n"
"Language: fr\n"
@@ -4031,11 +4031,11 @@ msgstr "gestion des thèmes de couleurs"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
"[list [-backups]] || apply <nom> || save <nom> [-full] || del <nom> || info "
"<nom>"
"[list [-backups]] || apply <nom> || reset || save <nom> [-full] || del <nom> "
"|| info <nom>"
msgid ""
"raw[list]: list registered themes and any *.theme files in the WeeChat "
@@ -4058,6 +4058,13 @@ msgstr ""
"thème à la valeur du thème); si un fichier nommé <nom>.theme existe dans le "
"répertoire \"themes\", il masque tout thème intégré du même nom"
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
"raw[reset]: réinitialiser toutes les options de thème à leurs valeurs par "
"défaut (rétablit l'apparence d'origine de WeeChat)"
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -7088,6 +7095,14 @@ msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
"État précédent sauvé sous le thème \"%s\"; pour restaurer: /theme apply %s"
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
"%sImpossible de créer une sauvegarde du thème; abandon de la "
"réinitialisation (désactivez l'option weechat.look.theme_backup pour forcer)"
#, c-format
msgid "%sName \"%s\" is reserved for automatic backups"
msgstr "%sLe nom \"%s\" est réservé pour les sauvegardes automatiques"
+14 -3
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-03-08 08:59+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: Hungarian <weechat-dev@nongnu.org>\n"
@@ -3559,8 +3559,8 @@ msgstr "Aliaszok listája:\n"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
#, fuzzy
@@ -3579,6 +3579,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -6030,6 +6035,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, c-format
msgid "%sName \"%s\" is reserved for automatic backups"
msgstr ""
+14 -3
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: Italian <weechat-dev@nongnu.org>\n"
@@ -3737,8 +3737,8 @@ msgstr "elenco degli elementi barra"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
#, fuzzy
@@ -3758,6 +3758,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -6510,6 +6515,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, c-format
msgid "%sName \"%s\" is reserved for automatic backups"
msgstr ""
+14 -3
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <weechat-dev@nongnu.org>\n"
@@ -3822,8 +3822,8 @@ msgstr "バー要素のリスト"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
#, fuzzy
@@ -3843,6 +3843,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -6686,6 +6691,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, fuzzy, c-format
msgid "%sName \"%s\" is reserved for automatic backups"
msgstr "%sエラー: \"%s\" は WeeChat の予約名です"
+14 -3
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-06-28 08:55+0200\n"
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
"Language-Team: Polish <soltys@soltys.info>\n"
@@ -3932,8 +3932,8 @@ msgstr "zarządza niestandardowymi elementami pasków"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
#, fuzzy
@@ -3959,6 +3959,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -6867,6 +6872,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, fuzzy, c-format
#| msgid "%sBuffer name \"%s\" is reserved for WeeChat"
msgid "%sName \"%s\" is reserved for automatic backups"
+14 -3
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-06-28 08:48+0200\n"
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
"Language-Team: Portuguese <weechat-dev@nongnu.org>\n"
@@ -3831,8 +3831,8 @@ msgstr "lista de itens da barra"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
#, fuzzy
@@ -3852,6 +3852,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -6742,6 +6747,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, c-format
msgid "%sName \"%s\" is reserved for automatic backups"
msgstr ""
+14 -3
View File
@@ -46,7 +46,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-06-28 08:49+0200\n"
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
"Language-Team: Portuguese (Brazil) <weechat-dev@nongnu.org>\n"
@@ -3751,8 +3751,8 @@ msgstr "lista de itens da barra"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
#, fuzzy
@@ -3772,6 +3772,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -6408,6 +6413,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, c-format
msgid "%sName \"%s\" is reserved for automatic backups"
msgstr ""
+14 -3
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-03-08 08:59+0100\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: Russian <weechat-dev@nongnu.org>\n"
@@ -3583,8 +3583,8 @@ msgstr "Список сокращений:\n"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
#, fuzzy
@@ -3603,6 +3603,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -6067,6 +6072,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, c-format
msgid "%sName \"%s\" is reserved for automatic backups"
msgstr ""
+14 -3
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-06-28 08:52+0200\n"
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
"Language-Team: Serbian <ivan.pesic@gmail.com>\n"
@@ -3909,8 +3909,8 @@ msgstr "управљање прилагођеним ставкама траке"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
#, fuzzy
@@ -3936,6 +3936,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -6849,6 +6854,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, fuzzy, c-format
#| msgid "%sBuffer name \"%s\" is reserved for WeeChat"
msgid "%sName \"%s\" is reserved for automatic backups"
+14 -3
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2026-06-28 08:53+0200\n"
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
"Language-Team: Turkish <emir_sari@icloud.com>\n"
@@ -3768,8 +3768,8 @@ msgstr "özel çubuk ögelerini yönet"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
#, fuzzy
@@ -3791,6 +3791,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -6646,6 +6651,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, fuzzy, c-format
#| msgid "%sBuffer name \"%s\" is reserved for WeeChat"
msgid "%sName \"%s\" is reserved for automatic backups"
+14 -3
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-07-04 20:23+0200\n"
"POT-Creation-Date: 2026-07-04 20:47+0200\n"
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3351,8 +3351,8 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"[list [-backups]] || apply <name> || save <name> [-full] || del <name> || "
"info <name>"
"[list [-backups]] || apply <name> || reset || save <name> [-full] || del "
"<name> || info <name>"
msgstr ""
msgid ""
@@ -3370,6 +3370,11 @@ msgid ""
"shadows any built-in theme of the same name"
msgstr ""
msgid ""
"raw[reset]: reset every themable option to its default value (restores the "
"original look shipped with WeeChat)"
msgstr ""
msgid ""
"raw[save]: save current themable options to a file <name>.theme in directory "
"\"themes\"; by default only options whose value differs from their default "
@@ -5625,6 +5630,12 @@ msgstr ""
msgid "Previous state saved as theme \"%s\"; to restore: /theme apply %s"
msgstr ""
#, c-format
msgid ""
"%sUnable to create theme backup; aborting reset (disable option "
"weechat.look.theme_backup to force)"
msgstr ""
#, c-format
msgid "%sName \"%s\" is reserved for automatic backups"
msgstr ""
+10
View File
@@ -7339,6 +7339,12 @@ COMMAND_CALLBACK(theme)
return theme_apply (argv[2]);
}
/* "/theme reset": reset every themable option to its default value */
if (string_strcmp (argv[1], "reset") == 0)
{
return theme_reset ();
}
/* "/theme save <name> [-full]": write a user theme file */
if (string_strcmp (argv[1], "save") == 0)
{
@@ -10079,6 +10085,7 @@ command_init (void)
/* TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated */
N_("[list [-backups]]"
" || apply <name>"
" || reset"
" || save <name> [-full]"
" || del <name>"
" || info <name>"),
@@ -10091,6 +10098,8 @@ command_init (void)
"value from the theme); if a file named <name>.theme "
"exists in directory \"themes\" it shadows any built-in "
"theme of the same name"),
N_("raw[reset]: reset every themable option to its default "
"value (restores the original look shipped with WeeChat)"),
N_("raw[save]: save current themable options to a file "
"<name>.theme in directory \"themes\"; by default only "
"options whose value differs from their default are "
@@ -10114,6 +10123,7 @@ command_init (void)
"This is controlled by the option weechat.look.theme_backup.")),
"list -backups"
" || apply %(theme_themes_all)"
" || reset"
" || save %(theme_themes_user) -full"
" || del %(theme_themes_user)"
" || info %(theme_themes_all)",
+78
View File
@@ -1036,6 +1036,84 @@ theme_apply (const char *name)
return WEECHAT_RC_OK;
}
/*
* Reset every themable option to its default value.
*
* Same backup-first safety as theme_apply: if weechat.look.theme_backup
* is on, a backup file is written before any option is touched, and the
* reset is aborted if the backup cannot be written. The active-theme
* label (weechat.look.theme) is reset to its default (empty string).
*
* Return WEECHAT_RC_OK on success, WEECHAT_RC_ERROR if the backup is
* required but failed.
*/
int
theme_reset (void)
{
struct t_config_file *ptr_config;
struct t_config_section *ptr_section;
struct t_config_option *ptr_option;
char *backup_name = NULL;
if (CONFIG_BOOLEAN(config_look_theme_backup))
{
backup_name = theme_make_backup ();
if (!backup_name)
{
gui_chat_printf (
NULL,
_("%sUnable to create theme backup; aborting reset "
"(disable option weechat.look.theme_backup to force)"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR]);
return WEECHAT_RC_ERROR;
}
}
/* reset every themable option to its default value; per-option gui
refreshes are suppressed via theme_applying */
theme_applying = 1;
for (ptr_config = config_files; ptr_config;
ptr_config = ptr_config->next_config)
{
for (ptr_section = ptr_config->sections; ptr_section;
ptr_section = ptr_section->next_section)
{
for (ptr_option = ptr_section->options; ptr_option;
ptr_option = ptr_option->next_option)
{
if (ptr_option->themable)
config_file_option_reset (ptr_option, 1);
}
}
}
theme_applying = 0;
if (gui_init_ok)
{
gui_color_init_weechat ();
gui_window_ask_refresh (1);
}
/* clear active-theme label */
config_file_option_reset (config_look_theme, 1);
if (backup_name)
{
gui_chat_printf (
NULL,
_("Previous state saved as theme \"%s\"; to restore: "
"/theme apply %s"),
backup_name, backup_name);
free (backup_name);
}
hook_signal_send ("theme_applied",
WEECHAT_HOOK_SIGNAL_STRING, (char *)"");
return WEECHAT_RC_OK;
}
/*
* Save the current themable options to a user theme file.
*
+1
View File
@@ -69,6 +69,7 @@ extern const char *theme_get_override (struct t_theme *theme,
const char *option_name);
extern struct t_arraylist *theme_list (void);
extern int theme_apply (const char *name);
extern int theme_reset (void);
extern int theme_save (const char *name, int full);
extern int theme_delete (const char *name);
extern char *theme_make_backup (void);
+50
View File
@@ -689,6 +689,56 @@ TEST(CoreTheme, ApplyMergeAcrossContributions)
free (saved_value);
}
/*
* Test functions:
* theme_reset
*/
TEST(CoreTheme, Reset)
{
struct t_hashtable *overrides;
struct t_config_option *opt_prefix_error;
char *saved_prefix_error, *saved_theme_label, *default_prefix_error;
int saved_backup;
opt_prefix_error = NULL;
config_file_search_with_string ("weechat.look.prefix_error",
NULL, NULL, &opt_prefix_error, NULL);
CHECK(opt_prefix_error != NULL);
saved_prefix_error = strdup (CONFIG_STRING(opt_prefix_error));
saved_theme_label = strdup (CONFIG_STRING(config_look_theme));
saved_backup = CONFIG_BOOLEAN(config_look_theme_backup);
default_prefix_error = strdup (CONFIG_STRING_DEFAULT(opt_prefix_error));
config_file_option_set (config_look_theme_backup, "off", 1);
/* set up a non-default state: apply a theme that flips one option
and sets weechat.look.theme as a side effect */
overrides = make_overrides ("weechat.look.prefix_error", "RESET_ME!",
NULL, NULL);
theme_register (NULL, NULL, "reset_test", overrides);
hashtable_free (overrides);
LONGS_EQUAL(WEECHAT_RC_OK, theme_apply ("reset_test"));
STRCMP_EQUAL("RESET_ME!", CONFIG_STRING(opt_prefix_error));
STRCMP_EQUAL("reset_test", CONFIG_STRING(config_look_theme));
/* reset: themable option goes back to its default, label is cleared */
LONGS_EQUAL(WEECHAT_RC_OK, theme_reset ());
STRCMP_EQUAL(default_prefix_error, CONFIG_STRING(opt_prefix_error));
STRCMP_EQUAL(CONFIG_STRING_DEFAULT(config_look_theme),
CONFIG_STRING(config_look_theme));
/* restore */
config_file_option_set (opt_prefix_error, saved_prefix_error, 1);
config_file_option_set (config_look_theme, saved_theme_label, 1);
config_file_option_set (config_look_theme_backup,
(saved_backup) ? "on" : "off", 1);
free (saved_prefix_error);
free (saved_theme_label);
free (default_prefix_error);
}
/*
* Test functions:
* theme_file_strip_quotes