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

core: add /theme command with list and info subcommands

Add the /theme command with two read-only subcommands for now:

- /theme (or /theme list): list registered themes; the active theme
  (matching weechat.look.theme) is marked with "->".
- /theme info <name>: show name, description, creation date, WeeChat
  version and override count of a theme.

Both subcommands only consider themes present in the in-memory
registry (registered via core/plugins/scripts). User theme files on
disk are not yet handled: the file parser and transient file reads
land in a later commit together with /theme apply.
This commit is contained in:
Sébastien Helleu
2026-07-04 14:42:55 +02:00
parent 06f8dd4cd3
commit abea2e1449
17 changed files with 1044 additions and 15 deletions
+2
View File
@@ -530,6 +530,8 @@ term
text
tg
themable
theme
themes
time
timeout
timer
+1
View File
@@ -17,6 +17,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
### Added
- core: add command `/theme`
- core: add `themable` flag on configuration options
- core: add option weechat.look.theme
- fset: add filter `t:themable`
+67 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -1005,6 +1005,41 @@ msgstr "Volba vytvořena: "
msgid "%sFunction \"%s\" is not available on this system"
msgstr "%s: upozornění: slovník \"%s\" není dostupný ve vašem systému"
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, fuzzy, c-format
#| msgid "%sKey \"%s\" not found"
msgid "%sTheme \"%s\" not found"
msgstr "%sKlávesa \"%s\" nenalezena"
#, fuzzy, c-format
#| msgid "Option \"%s%s%s\":"
msgid "Theme \"%s%s%s\":"
msgstr "Volba \"%s%s%s\":"
#, fuzzy, c-format
#| msgid "description"
msgid " description: %s"
msgstr "popis"
#, fuzzy, c-format
#| msgid " file: %s"
msgid " date: %s"
msgstr " soubor: %s"
#, fuzzy, c-format
#| msgid "WeeChat version"
msgid " WeeChat version: %s"
msgstr "verze WeeChat"
#, c-format
msgid " overrides: %d"
msgstr ""
#, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%sSelhalo odnastavení volby \"%s\""
@@ -3658,6 +3693,37 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr ""
#, fuzzy
#| msgid "list of bar items"
msgid "manage color themes"
msgstr "seznam položek polí"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
#, fuzzy
#| msgid "list of filters"
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr "seznam filtrů"
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
#, fuzzy
msgid "name: name of a theme"
msgstr "zapni podporu myši"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
#, fuzzy
#| msgid "values for a configuration option"
msgid "toggle value of a config option"
+72 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -1003,6 +1003,41 @@ msgstr "Einstellung erstellt: "
msgid "%sFunction \"%s\" is not available on this system"
msgstr "%sFunktion \"%s\" ist auf dem Rechner nicht verfügbar"
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, fuzzy, c-format
#| msgid "%sKey \"%s\" not found"
msgid "%sTheme \"%s\" not found"
msgstr "%sTastenbelegung \"%s\" nicht gefunden"
#, fuzzy, c-format
#| msgid "Option \"%s%s%s\":"
msgid "Theme \"%s%s%s\":"
msgstr "Einstellung \"%s%s%s\":"
#, fuzzy, c-format
#| msgid "description"
msgid " description: %s"
msgstr "Beschreibung"
#, fuzzy, c-format
#| msgid " file: %s"
msgid " date: %s"
msgstr " Datei: %s"
#, fuzzy, c-format
#| msgid "WeeChat version"
msgid " WeeChat version: %s"
msgstr "WeeChat-Version"
#, c-format
msgid " overrides: %d"
msgstr ""
#, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%sEinstellung \"%s\" konnte nicht zurück gesetzt werden"
@@ -4050,6 +4085,42 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr "Anzahl: Anzahl der zu bereinigenden Prozesse"
#, fuzzy
#| msgid "manage custom bar items"
msgid "manage color themes"
msgstr "Verwalten von benutzerdefinierten Bar-Items"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
#, fuzzy
#| msgid ""
#| "raw[list]: list remote relay servers (without argument, this list is "
#| "displayed)"
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr ""
"raw[list]: listet relay-Server auf (ohne Angabe von Argumente wird diese "
"Liste standardmäßig ausgegeben)"
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
#, fuzzy
#| msgid "name: name of trigger"
msgid "name: name of a theme"
msgstr "name: Name des Triggers"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
msgid "toggle value of a config option"
msgstr "den Wert einer Konfigurationsoption umschalten"
+67 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -1034,6 +1034,41 @@ msgstr "Opción creada: "
msgid "%sFunction \"%s\" is not available on this system"
msgstr "%s: atención: diccionario \"%s\" no está disponible en su sistema"
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, fuzzy, c-format
#| msgid "%sKey \"%s\" not found"
msgid "%sTheme \"%s\" not found"
msgstr "%sTecla \"%s\" no encontrada"
#, fuzzy, c-format
#| msgid "Option \"%s%s%s\":"
msgid "Theme \"%s%s%s\":"
msgstr "Opción \"%s%s%s\":"
#, fuzzy, c-format
#| msgid "description"
msgid " description: %s"
msgstr "descripción"
#, fuzzy, c-format
#| msgid " file: %s"
msgid " date: %s"
msgstr " archivo: %s"
#, fuzzy, c-format
#| msgid "WeeChat version"
msgid " WeeChat version: %s"
msgstr "versión de WeeChat"
#, c-format
msgid " overrides: %d"
msgstr ""
#, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%sNo se pudo deshacer la opción \"%s\""
@@ -3751,6 +3786,37 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr ""
#, fuzzy
#| msgid "list of bar items"
msgid "manage color themes"
msgstr "lista de elementos de barra"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
#, fuzzy
#| msgid "list of filters"
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr "lista de filtros"
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
#, fuzzy
msgid "name: name of a theme"
msgstr "habilitar soporte para ratón"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
#, fuzzy
#| msgid "values for a configuration option"
msgid "toggle value of a config option"
+66 -2
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 13:59+0200\n"
"PO-Revision-Date: 2026-07-04 14:01+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+0200\n"
"PO-Revision-Date: 2026-07-04 14:11+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: French <flashcode@flashtux.org>\n"
"Language: fr\n"
@@ -989,6 +989,36 @@ msgstr "Option créée : "
msgid "%sFunction \"%s\" is not available on this system"
msgstr "%sLa fonction \"%s\" n'est pas disponible sur ce système"
msgid "No theme registered"
msgstr "Aucun thème enregistré"
msgid "Themes:"
msgstr "Thèmes:"
#, c-format
msgid "%sTheme \"%s\" not found"
msgstr "%sThème \"%s\" non trouvé"
#, c-format
msgid "Theme \"%s%s%s\":"
msgstr "Thème \"%s%s%s\" :"
#, c-format
msgid " description: %s"
msgstr " description: %s"
#, c-format
msgid " date: %s"
msgstr " date: %s"
#, c-format
msgid " WeeChat version: %s"
msgstr " version de WeeChat: %s"
#, c-format
msgid " overrides: %d"
msgstr " remplace: %d"
#, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%sImpossible de supprimer/réinitialiser l'option \"%s\""
@@ -3985,6 +4015,40 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr "nombre : nombre de processus à nettoyer"
msgid "manage color themes"
msgstr "gestion des thèmes de couleurs"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr "[list] || info <nom>"
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr ""
"raw[list] : afficher les thèmes enregistrés (sans paramètre, cette liste est "
"affichée), le thème actif est marqué avec \"->\""
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
"raw[info]: afficher les détails sur un thème (nom, description, date de "
"création, version de WeeChat, nombre d'options remplacées)"
msgid "name: name of a theme"
msgstr "nom : nom du thème"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
"Les thèmes sont des ensembles nommés de redéfinitions d'options. Les thèmes "
"intégrés sont enregistrés en mémoire par le cœur, les plugins ou les "
"scripts; les thèmes utilisateur sont lus à partir de fichiers situés dans "
"le répertoire \"themes\" du répertoire de configuration de WeeChat."
msgid "toggle value of a config option"
msgstr "basculer la valeur d'une option de configuration"
+60 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -991,6 +991,36 @@ msgstr "nincs a szobában"
msgid "%sFunction \"%s\" is not available on this system"
msgstr "%s a \"%s\" modul nem található\n"
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, fuzzy, c-format
msgid "%sTheme \"%s\" not found"
msgstr "%s a \"%s\" szerver nem található\n"
#, fuzzy, c-format
msgid "Theme \"%s%s%s\":"
msgstr "Felhasználók a %s%s%s szobában: %s["
#, fuzzy, c-format
msgid " description: %s"
msgstr " . leírás : %s\n"
#, fuzzy, c-format
msgid " date: %s"
msgstr " IRC(%s)\n"
#, fuzzy, c-format
msgid " WeeChat version: %s"
msgstr "WeeChat szlogen"
#, c-format
msgid " overrides: %d"
msgstr ""
#, fuzzy, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%s nem sikerült a modul opciókat elmenteni\n"
@@ -3511,6 +3541,35 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr ""
#, fuzzy
msgid "manage color themes"
msgstr "Aliaszok listája:\n"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
#, fuzzy
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr "Aliaszok listája:\n"
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
#, fuzzy
msgid "name: name of a theme"
msgstr "Aliaszok listája:\n"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
#, fuzzy
msgid "toggle value of a config option"
msgstr "Nem található az opció\n"
+67 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -999,6 +999,41 @@ msgid "%sFunction \"%s\" is not available on this system"
msgstr ""
"%s: attenzione: il dizionario \"%s\" non è disponibile su questo sistema"
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, fuzzy, c-format
#| msgid "%sKey \"%s\" not found"
msgid "%sTheme \"%s\" not found"
msgstr "%sTasto \"%s\" non trovato"
#, fuzzy, c-format
#| msgid "Option \"%s%s%s\":"
msgid "Theme \"%s%s%s\":"
msgstr "Opzione \"%s%s%s\":"
#, fuzzy, c-format
#| msgid "description"
msgid " description: %s"
msgstr "descrizione"
#, fuzzy, c-format
#| msgid " file: %s"
msgid " date: %s"
msgstr " file: %s"
#, fuzzy, c-format
#| msgid "WeeChat version"
msgid " WeeChat version: %s"
msgstr "versione di WeeChat"
#, c-format
msgid " overrides: %d"
msgstr ""
#, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%sImpossibile disabilitare l'opzione \"%s\""
@@ -3682,6 +3717,37 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr ""
#, fuzzy
#| msgid "list of bar items"
msgid "manage color themes"
msgstr "elenco degli elementi barra"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
#, fuzzy
#| msgid "list of filters"
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr "elenco dei filtri"
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
#, fuzzy
msgid "name: name of a theme"
msgstr "abilita il supporto del mouse"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
#, fuzzy
#| msgid "values for a configuration option"
msgid "toggle value of a config option"
+68 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -1004,6 +1004,41 @@ msgstr "作成されたオプション: "
msgid "%sFunction \"%s\" is not available on this system"
msgstr "%s: 警告: 辞書 \"%s\" がこのシステム上では利用できません"
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, fuzzy, c-format
#| msgid "%sKey \"%s\" not found"
msgid "%sTheme \"%s\" not found"
msgstr "%sキー \"%s\" が見つかりません"
#, fuzzy, c-format
#| msgid "Option \"%s%s%s\":"
msgid "Theme \"%s%s%s\":"
msgstr "オプション \"%s%s%s\":"
#, fuzzy, c-format
#| msgid "description"
msgid " description: %s"
msgstr "説明"
#, fuzzy, c-format
#| msgid " file: %s"
msgid " date: %s"
msgstr " ファイル: %s"
#, fuzzy, c-format
#| msgid "WeeChat version"
msgid " WeeChat version: %s"
msgstr "WeeChat のバージョン"
#, c-format
msgid " overrides: %d"
msgstr ""
#, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%sオプション \"%s\" の無効化に失敗しました"
@@ -3766,6 +3801,38 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr ""
#, fuzzy
#| msgid "list of bar items"
msgid "manage color themes"
msgstr "バー要素のリスト"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
#, fuzzy
#| msgid "list of filters"
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr "フィルタのリスト"
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
#, fuzzy
#| msgid "enable trigger support"
msgid "name: name of a theme"
msgstr "トリガサポートの有効化"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
#, fuzzy
#| msgid "values for a configuration option"
msgid "toggle value of a config option"
+72 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -980,6 +980,41 @@ msgstr "Opcja utworzona: "
msgid "%sFunction \"%s\" is not available on this system"
msgstr "%sFunkcja „%s” nie jest dostępna w tym systemie"
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, fuzzy, c-format
#| msgid "%sKey \"%s\" not found"
msgid "%sTheme \"%s\" not found"
msgstr "%sKlawisz \"%s\" nie znaleziony"
#, fuzzy, c-format
#| msgid "Option \"%s%s%s\":"
msgid "Theme \"%s%s%s\":"
msgstr "Opcja \"%s%s%s\":"
#, fuzzy, c-format
#| msgid "description"
msgid " description: %s"
msgstr "opis"
#, fuzzy, c-format
#| msgid " file: %s"
msgid " date: %s"
msgstr " plik: %s"
#, fuzzy, c-format
#| msgid "WeeChat version"
msgid " WeeChat version: %s"
msgstr "Wersja WeeChat"
#, c-format
msgid " overrides: %d"
msgstr ""
#, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%sNie powiodło się wyzerowanie opcji \"%s\""
@@ -3876,6 +3911,42 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr "numer: ilość procesów do wyczyszczenia"
#, fuzzy
#| msgid "manage custom bar items"
msgid "manage color themes"
msgstr "zarządza niestandardowymi elementami pasków"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
#, fuzzy
#| msgid ""
#| "raw[list]: list remote relay servers (without argument, this list is "
#| "displayed)"
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr ""
"raw[list]: wyświetl pośredników (bez podania argumentu wyświetlana jest ta "
"lista)"
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
#, fuzzy
#| msgid "name: name of trigger"
msgid "name: name of a theme"
msgstr "nazwa: nazwa triggera"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
msgid "toggle value of a config option"
msgstr "przełącza wartość opcji konfiguracyjnej"
+68 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -1006,6 +1006,41 @@ msgstr "Opção criada: "
msgid "%sFunction \"%s\" is not available on this system"
msgstr "%s: aviso: o dicionário \"%s\" não está disponível no sistema"
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, fuzzy, c-format
#| msgid "%sKey \"%s\" not found"
msgid "%sTheme \"%s\" not found"
msgstr "%sTecla \"%s\" não encontrada"
#, fuzzy, c-format
#| msgid "Option \"%s%s%s\":"
msgid "Theme \"%s%s%s\":"
msgstr "Opção \"%s%s%s\":"
#, fuzzy, c-format
#| msgid "description"
msgid " description: %s"
msgstr "descrição"
#, fuzzy, c-format
#| msgid " file: %s"
msgid " date: %s"
msgstr " ficheiro: %s"
#, fuzzy, c-format
#| msgid "WeeChat version"
msgid " WeeChat version: %s"
msgstr "versão do WeeChat"
#, c-format
msgid " overrides: %d"
msgstr ""
#, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%sFalha ao reinicializar a opção \"%s\""
@@ -3775,6 +3810,38 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr ""
#, fuzzy
#| msgid "list of bar items"
msgid "manage color themes"
msgstr "lista de itens da barra"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
#, fuzzy
#| msgid "list of filters"
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr "lista de filtros"
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
#, fuzzy
#| msgid "enable trigger support"
msgid "name: name of a theme"
msgstr "ativar suporte de acionadores"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
#, fuzzy
#| msgid "values for a configuration option"
msgid "toggle value of a config option"
+67 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -1025,6 +1025,41 @@ msgstr "Opção criada: "
msgid "%sFunction \"%s\" is not available on this system"
msgstr "%s: aviso: dicionário \"%s\" não está disponível em seu sistema"
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, fuzzy, c-format
#| msgid "%sKey \"%s\" not found"
msgid "%sTheme \"%s\" not found"
msgstr "%sTecla \"%s\" não encontrada"
#, fuzzy, c-format
#| msgid "Option \"%s%s%s\":"
msgid "Theme \"%s%s%s\":"
msgstr "Opção \"%s%s%s\":"
#, fuzzy, c-format
#| msgid "description"
msgid " description: %s"
msgstr "descrição"
#, fuzzy, c-format
#| msgid " file: %s"
msgid " date: %s"
msgstr " arquivo: %s"
#, fuzzy, c-format
#| msgid "WeeChat version"
msgid " WeeChat version: %s"
msgstr "versão do WeeChat"
#, c-format
msgid " overrides: %d"
msgstr ""
#, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%sFalhou ao desabilitar a opção \"%s\""
@@ -3696,6 +3731,37 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr ""
#, fuzzy
#| msgid "list of bar items"
msgid "manage color themes"
msgstr "lista de itens da barra"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
#, fuzzy
#| msgid "list of filters"
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr "lista de filtros"
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
#, fuzzy
msgid "name: name of a theme"
msgstr "habilita suporte à mouse"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
#, fuzzy
#| msgid "values for a configuration option"
msgid "toggle value of a config option"
+60 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -1012,6 +1012,36 @@ msgstr "не на канале"
msgid "%sFunction \"%s\" is not available on this system"
msgstr "%s plugin \"%s\" не найден\n"
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, fuzzy, c-format
msgid "%sTheme \"%s\" not found"
msgstr "%s сервер \"%s\" не найден\n"
#, fuzzy, c-format
msgid "Theme \"%s%s%s\":"
msgstr "Ники %s%s%s: %s["
#, fuzzy, c-format
msgid " description: %s"
msgstr " . описание: %s\n"
#, fuzzy, c-format
msgid " date: %s"
msgstr " IRC(%s)\n"
#, fuzzy, c-format
msgid " WeeChat version: %s"
msgstr "слоган WeeChat"
#, c-format
msgid " overrides: %d"
msgstr ""
#, fuzzy, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%s не могу сохранить конфигурационный файл pluginов\n"
@@ -3535,6 +3565,35 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr ""
#, fuzzy
msgid "manage color themes"
msgstr "Список сокращений:\n"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
#, fuzzy
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr "Список сокращений:\n"
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
#, fuzzy
msgid "name: name of a theme"
msgstr "Список сокращений:\n"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
#, fuzzy
msgid "toggle value of a config option"
msgstr "Не найден параметр\n"
+72 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -976,6 +976,41 @@ msgstr "Креирана опција: "
msgid "%sFunction \"%s\" is not available on this system"
msgstr "%sФункција „%s” није доступна на овом систему"
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, fuzzy, c-format
#| msgid "%sKey \"%s\" not found"
msgid "%sTheme \"%s\" not found"
msgstr "%sНије пронађен тастер „%s”"
#, fuzzy, c-format
#| msgid "Option \"%s%s%s\":"
msgid "Theme \"%s%s%s\":"
msgstr "Опција „%s%s%s”:"
#, fuzzy, c-format
#| msgid "description"
msgid " description: %s"
msgstr "опис"
#, fuzzy, c-format
#| msgid " file: %s"
msgid " date: %s"
msgstr " фајл: %s"
#, fuzzy, c-format
#| msgid "WeeChat version"
msgid " WeeChat version: %s"
msgstr "верзија програма WeeChat"
#, c-format
msgid " overrides: %d"
msgstr ""
#, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%sНије успело уклањање опције „%s”"
@@ -3853,6 +3888,42 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr "број: број процеса који треба да се очисти"
#, fuzzy
#| msgid "manage custom bar items"
msgid "manage color themes"
msgstr "управљање прилагођеним ставкама траке"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
#, fuzzy
#| msgid ""
#| "raw[list]: list remote relay servers (without argument, this list is "
#| "displayed)"
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr ""
"raw[list]: листа сервера релеја удаљених (без аргумента се приказује ова "
"листа)"
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
#, fuzzy
#| msgid "name: name of trigger"
msgid "name: name of a theme"
msgstr "име: име окидача"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
msgid "toggle value of a config option"
msgstr "пребацује вредност опције конфигурације"
+68 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -971,6 +971,41 @@ msgstr "Seçenek oluşturuldu: "
msgid "%sFunction \"%s\" is not available on this system"
msgstr "%s\"%s\" işlevi sisteminizde kullanılabilir değil"
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, fuzzy, c-format
#| msgid "%sKey \"%s\" not found"
msgid "%sTheme \"%s\" not found"
msgstr "%s\"%s\" düğmesi bulunamadı"
#, fuzzy, c-format
#| msgid "Option \"%s%s%s\":"
msgid "Theme \"%s%s%s\":"
msgstr "\"%s%s%s\" seçeneği:"
#, fuzzy, c-format
#| msgid "description"
msgid " description: %s"
msgstr "açıklama"
#, fuzzy, c-format
#| msgid " file: %s"
msgid " date: %s"
msgstr " dosya: %s"
#, fuzzy, c-format
#| msgid "WeeChat version"
msgid " WeeChat version: %s"
msgstr "WeeChat sürümü"
#, c-format
msgid " overrides: %d"
msgstr ""
#, c-format
msgid "%sFailed to unset option \"%s\""
msgstr "%s\"%s\" seçeneği kaldırılamadı"
@@ -3712,6 +3747,38 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr ""
#, fuzzy
#| msgid "manage custom bar items"
msgid "manage color themes"
msgstr "özel çubuk ögelerini yönet"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
#, fuzzy
#| msgid "list of filters"
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr "süzgeçlerin listesi"
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
#, fuzzy
#| msgid "name: name of trigger"
msgid "name: name of a theme"
msgstr "ad: Tetiğin adı"
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
msgid "toggle value of a config option"
msgstr "bir yapılandırma seçeneğinin değerini aç/kapat"
+57 -1
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 13:59+0200\n"
"POT-Creation-Date: 2026-07-04 14:09+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"
@@ -926,6 +926,36 @@ msgstr ""
msgid "%sFunction \"%s\" is not available on this system"
msgstr ""
msgid "No theme registered"
msgstr ""
msgid "Themes:"
msgstr ""
#, c-format
msgid "%sTheme \"%s\" not found"
msgstr ""
#, c-format
msgid "Theme \"%s%s%s\":"
msgstr ""
#, c-format
msgid " description: %s"
msgstr ""
#, c-format
msgid " date: %s"
msgstr ""
#, c-format
msgid " WeeChat version: %s"
msgstr ""
#, c-format
msgid " overrides: %d"
msgstr ""
#, c-format
msgid "%sFailed to unset option \"%s\""
msgstr ""
@@ -3305,6 +3335,32 @@ msgstr ""
msgid "number: number of processes to clean"
msgstr ""
msgid "manage color themes"
msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "[list] || info <name>"
msgstr ""
msgid ""
"raw[list]: list registered themes (default action with no argument); active "
"theme is marked with \"->\""
msgstr ""
msgid ""
"raw[info]: display details on a theme (name, description, creation date, "
"WeeChat version, number of option overrides)"
msgstr ""
msgid "name: name of a theme"
msgstr ""
msgid ""
"Themes are named bundles of option overrides. Built-in themes are registered "
"in memory by core/plugins/scripts; user themes are read from files in "
"directory \"themes\" inside the WeeChat configuration directory."
msgstr ""
msgid "toggle value of a config option"
msgstr ""
+110
View File
@@ -68,6 +68,7 @@
#include "core-signal.h"
#include "core-string.h"
#include "core-sys.h"
#include "core-theme.h"
#include "core-upgrade.h"
#include "core-url.h"
#include "core-utf8.h"
@@ -7180,6 +7181,95 @@ COMMAND_CALLBACK(sys)
COMMAND_ERROR;
}
/*
* Callback for command "/theme": list or display details on themes.
*/
COMMAND_CALLBACK(theme)
{
struct t_arraylist *list;
struct t_theme *ptr_theme;
const char *ptr_active;
int i, size;
/* make C compiler happy */
(void) pointer;
(void) data;
(void) buffer;
(void) argv_eol;
/* "/theme" or "/theme list": list themes */
if ((argc == 1) || (string_strcmp (argv[1], "list") == 0))
{
list = theme_list ();
if (!list || (arraylist_size (list) == 0))
{
gui_chat_printf (NULL, _("No theme registered"));
arraylist_free (list);
return WEECHAT_RC_OK;
}
ptr_active = CONFIG_STRING(config_look_theme);
gui_chat_printf (NULL, "");
gui_chat_printf (NULL, _("Themes:"));
size = arraylist_size (list);
for (i = 0; i < size; i++)
{
ptr_theme = (struct t_theme *)arraylist_get (list, i);
gui_chat_printf (
NULL,
" %s %s%s%s%s%s",
(ptr_active && (strcmp (ptr_active, ptr_theme->name) == 0))
? "->" : " ",
GUI_COLOR(GUI_COLOR_CHAT_BUFFER),
ptr_theme->name,
GUI_COLOR(GUI_COLOR_CHAT_DELIMITERS),
(ptr_theme->description && ptr_theme->description[0])
? ": " : "",
(ptr_theme->description) ? ptr_theme->description : "");
}
arraylist_free (list);
return WEECHAT_RC_OK;
}
/* "/theme info <name>": show details about a theme */
if (string_strcmp (argv[1], "info") == 0)
{
COMMAND_MIN_ARGS(3, "info");
ptr_theme = theme_search (argv[2]);
if (!ptr_theme)
{
gui_chat_printf (NULL,
_("%sTheme \"%s\" not found"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
argv[2]);
return WEECHAT_RC_ERROR;
}
gui_chat_printf (NULL, "");
gui_chat_printf (NULL,
_("Theme \"%s%s%s\":"),
GUI_COLOR(GUI_COLOR_CHAT_BUFFER),
ptr_theme->name,
GUI_COLOR(GUI_COLOR_CHAT));
gui_chat_printf (NULL,
_(" description: %s"),
(ptr_theme->description) ? ptr_theme->description : "");
gui_chat_printf (NULL,
_(" date: %s"),
(ptr_theme->date) ? ptr_theme->date : "");
gui_chat_printf (NULL,
_(" WeeChat version: %s"),
(ptr_theme->weechat_version)
? ptr_theme->weechat_version : "");
gui_chat_printf (NULL,
_(" overrides: %d"),
(ptr_theme->overrides)
? ptr_theme->overrides->items_count : 0);
return WEECHAT_RC_OK;
}
COMMAND_ERROR;
}
/*
* Callback for command "/toggle": toggle value of configuration option.
*/
@@ -9832,6 +9922,26 @@ command_init (void)
" || suspend"
" || waitpid 1|10|100|1000",
&command_sys, NULL, NULL);
hook_command (
NULL, "theme",
N_("manage color themes"),
/* TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated */
N_("[list]"
" || info <name>"),
CMD_ARGS_DESC(
N_("raw[list]: list registered themes (default action with no "
"argument); active theme is marked with \"->\""),
N_("raw[info]: display details on a theme (name, description, "
"creation date, WeeChat version, number of option overrides)"),
N_("name: name of a theme"),
"",
N_("Themes are named bundles of option overrides. Built-in themes "
"are registered in memory by core/plugins/scripts; user themes "
"are read from files in directory \"themes\" inside the WeeChat "
"configuration directory.")),
"list"
" || info",
&command_theme, NULL, NULL);
hook_command (
NULL, "toggle",
N_("toggle value of a config option"),