mirror of
https://github.com/weechat/weechat.git
synced 2026-07-02 07:46:38 +02:00
Add input bar item, add "hidden" flag for bars, fix some display bugs with bars
This commit is contained in:
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-06-22 10:47+0200\n"
|
||||
"POT-Creation-Date: 2008-06-27 17:04+0200\n"
|
||||
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
|
||||
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -94,9 +94,12 @@ msgid "List of bars:"
|
||||
msgstr "Seznam pro aliasy:\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid " %s%s%s: %s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgid " %s%s%s: %s%s%s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgstr "%sna %s%s%s/%s%s%s:%s ignoruji %s%s%s od %s%s\n"
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr "(skrytý)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "height"
|
||||
msgstr "vpravo"
|
||||
@@ -171,6 +174,14 @@ msgstr "uživatel byl zablokován"
|
||||
msgid "%sError: unable to set option \"%s\" for bar \"%s\""
|
||||
msgstr "%s neznámá volba pro příkaz \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now hidden"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now visible"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sError: unknown option for \"%s\" command"
|
||||
msgstr "%s neznámá volba pro příkaz \"%s\"\n"
|
||||
@@ -565,7 +576,7 @@ msgstr "řídit buffery"
|
||||
msgid ""
|
||||
"[add barname type[,cond1,cond2,...] position size separator item1,item2,...] "
|
||||
"| [del barname] | [set barname name|priority|condition|position|filling|size|"
|
||||
"separator|items value] | [list] | [listitems]"
|
||||
"separator|items value] | [hide|show barname] | [list] | [listitems]"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
@@ -585,7 +596,10 @@ msgid ""
|
||||
"item1,...: items for this bar\n"
|
||||
" del: delete a bar\n"
|
||||
" set: set a value for a bar property\n"
|
||||
" hide: hide a bar\n"
|
||||
" show: show an hidden bar\n"
|
||||
" list: list all bars\n"
|
||||
" listfull: list all bars (verbose)\n"
|
||||
"listitems: list all bar items"
|
||||
msgstr ""
|
||||
|
||||
@@ -761,9 +775,10 @@ msgstr ""
|
||||
"[list [jméno]] | [listfull [jméno]] | [load jméno_souboru] | [autoload] | "
|
||||
"[reload [name]] | [unload [name]]"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
" list: list loaded plugins\n"
|
||||
"listfull: list loaded plugins with detailed info for each plugin\n"
|
||||
"listfull: list loaded plugins (verbose)\n"
|
||||
" load: load a plugin\n"
|
||||
"autoload: autoload plugins in system or user directory\n"
|
||||
" reload: reload one plugin (if no name given, unload all plugins, then "
|
||||
@@ -1653,6 +1668,9 @@ msgid ""
|
||||
"that"
|
||||
msgstr ""
|
||||
|
||||
msgid "true if bar is hidden, false if it is displayed"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar priority (high number means bar displayed first)"
|
||||
msgstr ""
|
||||
|
||||
@@ -3115,9 +3133,6 @@ msgstr "off"
|
||||
msgid " (temporary server, will not be saved)"
|
||||
msgstr " (dočasný server, nebude uložen)"
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr "(skrytý)"
|
||||
|
||||
msgid " (temporary)"
|
||||
msgstr " (dočasný)"
|
||||
|
||||
@@ -4555,6 +4570,10 @@ msgstr "%s DCC: nemohu nastavit 'neblokovaci' volbu na soket\n"
|
||||
msgid "%s%s: timeout for \"%s\" with %s"
|
||||
msgstr "%s chybí argument pro volbu \"%s\"\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "hidden"
|
||||
#~ msgstr "(skrytý)"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "(MORE)"
|
||||
#~ msgstr "-VÍCE-"
|
||||
|
||||
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-06-22 10:47+0200\n"
|
||||
"POT-Creation-Date: 2008-06-27 17:04+0200\n"
|
||||
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
|
||||
"Last-Translator: Thomas Schuetz <i18n@internet-villa.de>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -99,9 +99,12 @@ msgid "List of bars:"
|
||||
msgstr "Liste der Aliases:\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid " %s%s%s: %s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgid " %s%s%s: %s%s%s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgstr "%sin %s%s%s/%s%s%s:%s ignoriere %s%s%s von %s%s\n"
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr "(versteckt)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "height"
|
||||
msgstr "right"
|
||||
@@ -176,6 +179,14 @@ msgstr "/users wurde deaktiviert"
|
||||
msgid "%sError: unable to set option \"%s\" for bar \"%s\""
|
||||
msgstr "%s unbekannte Option für den \"%s\"-Befehl\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now hidden"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now visible"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sError: unknown option for \"%s\" command"
|
||||
msgstr "%s unbekannte Option für den \"%s\"-Befehl\n"
|
||||
@@ -573,7 +584,7 @@ msgstr "Puffer verwalten"
|
||||
msgid ""
|
||||
"[add barname type[,cond1,cond2,...] position size separator item1,item2,...] "
|
||||
"| [del barname] | [set barname name|priority|condition|position|filling|size|"
|
||||
"separator|items value] | [list] | [listitems]"
|
||||
"separator|items value] | [hide|show barname] | [list] | [listitems]"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
@@ -593,7 +604,10 @@ msgid ""
|
||||
"item1,...: items for this bar\n"
|
||||
" del: delete a bar\n"
|
||||
" set: set a value for a bar property\n"
|
||||
" hide: hide a bar\n"
|
||||
" show: show an hidden bar\n"
|
||||
" list: list all bars\n"
|
||||
" listfull: list all bars (verbose)\n"
|
||||
"listitems: list all bar items"
|
||||
msgstr ""
|
||||
|
||||
@@ -755,9 +769,10 @@ msgstr ""
|
||||
"[list [Name]] | [listfull [Name]] | [load Dateiname] | [autoload] | [reload "
|
||||
"[Name]] | [unload [Name]]"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
" list: list loaded plugins\n"
|
||||
"listfull: list loaded plugins with detailed info for each plugin\n"
|
||||
"listfull: list loaded plugins (verbose)\n"
|
||||
" load: load a plugin\n"
|
||||
"autoload: autoload plugins in system or user directory\n"
|
||||
" reload: reload one plugin (if no name given, unload all plugins, then "
|
||||
@@ -1654,6 +1669,9 @@ msgid ""
|
||||
"that"
|
||||
msgstr ""
|
||||
|
||||
msgid "true if bar is hidden, false if it is displayed"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar priority (high number means bar displayed first)"
|
||||
msgstr ""
|
||||
|
||||
@@ -3096,9 +3114,6 @@ msgstr "aus"
|
||||
msgid " (temporary server, will not be saved)"
|
||||
msgstr " (temporärer Server, wird nicht gespeichert)"
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr "(versteckt)"
|
||||
|
||||
msgid " (temporary)"
|
||||
msgstr ""
|
||||
|
||||
@@ -4545,6 +4560,10 @@ msgstr "%s DCC: kann die 'nonblock'-Option für den Socket nicht festlegen\n"
|
||||
msgid "%s%s: timeout for \"%s\" with %s"
|
||||
msgstr "%s fehlende Argumente für die \"--dir\"-Option\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "hidden"
|
||||
#~ msgstr "(versteckt)"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "(MORE)"
|
||||
#~ msgstr "-MEHR-"
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-06-22 10:47+0200\n"
|
||||
"POT-Creation-Date: 2008-06-27 17:04+0200\n"
|
||||
"PO-Revision-Date: 2007-09-19 12:09+0200\n"
|
||||
"Last-Translator: Roberto González Cardenete <robert.glez@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -96,9 +96,12 @@ msgid "List of bars:"
|
||||
msgstr "Lista de alias:\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid " %s%s%s: %s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgid " %s%s%s: %s%s%s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgstr "%sen %s%s%s/%s%s%s:%s ignorando %s%s%s de %s%s\n"
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr "(oculto)"
|
||||
|
||||
msgid "height"
|
||||
msgstr ""
|
||||
|
||||
@@ -172,6 +175,14 @@ msgstr "los usuarios han sido desactivados"
|
||||
msgid "%sError: unable to set option \"%s\" for bar \"%s\""
|
||||
msgstr "%s opción desconocida para el comando \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now hidden"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now visible"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sError: unknown option for \"%s\" command"
|
||||
msgstr "%s opción desconocida para el comando \"%s\"\n"
|
||||
@@ -569,7 +580,7 @@ msgstr "gestionar los búfers"
|
||||
msgid ""
|
||||
"[add barname type[,cond1,cond2,...] position size separator item1,item2,...] "
|
||||
"| [del barname] | [set barname name|priority|condition|position|filling|size|"
|
||||
"separator|items value] | [list] | [listitems]"
|
||||
"separator|items value] | [hide|show barname] | [list] | [listitems]"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
@@ -589,7 +600,10 @@ msgid ""
|
||||
"item1,...: items for this bar\n"
|
||||
" del: delete a bar\n"
|
||||
" set: set a value for a bar property\n"
|
||||
" hide: hide a bar\n"
|
||||
" show: show an hidden bar\n"
|
||||
" list: list all bars\n"
|
||||
" listfull: list all bars (verbose)\n"
|
||||
"listitems: list all bar items"
|
||||
msgstr ""
|
||||
|
||||
@@ -748,7 +762,7 @@ msgstr "[cargar fichero] | [autocargar] | [recargar] | [descargar]"
|
||||
|
||||
msgid ""
|
||||
" list: list loaded plugins\n"
|
||||
"listfull: list loaded plugins with detailed info for each plugin\n"
|
||||
"listfull: list loaded plugins (verbose)\n"
|
||||
" load: load a plugin\n"
|
||||
"autoload: autoload plugins in system or user directory\n"
|
||||
" reload: reload one plugin (if no name given, unload all plugins, then "
|
||||
@@ -1636,6 +1650,9 @@ msgid ""
|
||||
"that"
|
||||
msgstr ""
|
||||
|
||||
msgid "true if bar is hidden, false if it is displayed"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar priority (high number means bar displayed first)"
|
||||
msgstr ""
|
||||
|
||||
@@ -3090,9 +3107,6 @@ msgstr "inactivo"
|
||||
msgid " (temporary server, will not be saved)"
|
||||
msgstr " (servidor temporal, no será guardado)"
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr "(oculto)"
|
||||
|
||||
msgid " (temporary)"
|
||||
msgstr ""
|
||||
|
||||
@@ -4553,6 +4567,10 @@ msgstr "%s no es posible crear el servidor\n"
|
||||
msgid "%s%s: timeout for \"%s\" with %s"
|
||||
msgstr "%s falta un argumento para la opción --dir\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "hidden"
|
||||
#~ msgstr "(oculto)"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "(MORE)"
|
||||
#~ msgstr "-MÃS-"
|
||||
|
||||
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-06-22 10:47+0200\n"
|
||||
"PO-Revision-Date: 2008-06-22 10:48+0200\n"
|
||||
"POT-Creation-Date: 2008-06-27 17:04+0200\n"
|
||||
"PO-Revision-Date: 2008-06-27 17:06+0200\n"
|
||||
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -94,8 +94,11 @@ msgid "List of bars:"
|
||||
msgstr "Liste des barres:"
|
||||
|
||||
#, c-format
|
||||
msgid " %s%s%s: %s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgstr " %s%s%s: %s (cond: %s), %s, remplissage: %s, %s: %s"
|
||||
msgid " %s%s%s: %s%s%s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgstr " %s%s%s: %s%s%s (cond: %s), %s, remplissage: %s, %s: %s"
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr "(caché)"
|
||||
|
||||
msgid "height"
|
||||
msgstr "hauteur"
|
||||
@@ -165,6 +168,14 @@ msgstr "Barre supprimée"
|
||||
msgid "%sError: unable to set option \"%s\" for bar \"%s\""
|
||||
msgstr "%sErreur: impossible de modifier l'option \"%s\" pour la barre \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now hidden"
|
||||
msgstr "La barre \"%s\" est maintenant cachée"
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now visible"
|
||||
msgstr "La barre \"%s\" est maintenant visible"
|
||||
|
||||
#, c-format
|
||||
msgid "%sError: unknown option for \"%s\" command"
|
||||
msgstr "%sErreur: option inconnue pour la commande \"%s\""
|
||||
@@ -524,11 +535,12 @@ msgstr "gestion des barres"
|
||||
msgid ""
|
||||
"[add barname type[,cond1,cond2,...] position size separator item1,item2,...] "
|
||||
"| [del barname] | [set barname name|priority|condition|position|filling|size|"
|
||||
"separator|items value] | [list] | [listitems]"
|
||||
"separator|items value] | [hide|show barname] | [list] | [listitems]"
|
||||
msgstr ""
|
||||
"[add nombarre type[,cond1,cond2,...] position taille separateur objet1,"
|
||||
"objet2,...] | [del nombarre] | [set nombarre name|priority|condition|"
|
||||
"position|filling|size|separator|items valeur] | [list] | [listitems]"
|
||||
"position|filling|size|separator|items valeur] | [hide|show nombarre] | "
|
||||
"[list] | [listitems]"
|
||||
|
||||
msgid ""
|
||||
" add: add a new bar\n"
|
||||
@@ -547,16 +559,17 @@ msgid ""
|
||||
"item1,...: items for this bar\n"
|
||||
" del: delete a bar\n"
|
||||
" set: set a value for a bar property\n"
|
||||
" hide: hide a bar\n"
|
||||
" show: show an hidden bar\n"
|
||||
" list: list all bars\n"
|
||||
" listfull: list all bars (verbose)\n"
|
||||
"listitems: list all bar items"
|
||||
msgstr ""
|
||||
" add: ajoute une nouvelle barre\n"
|
||||
" nombarre: nom de la barre (doit être unique)\n"
|
||||
" type: root: en dehors des fenêtres\n"
|
||||
" window: dans les fenêtres, avec condition(s) optionnelle(s) "
|
||||
"(voir ci-dessous)\n"
|
||||
" cond1,...: condition(s) pour afficher cette barre (seulement pour le type "
|
||||
"\"window\") :\n"
|
||||
" window: dans les fenêtres, avec condition(s) optionnelle(s) (voir ci-dessous)\n"
|
||||
" cond1,...: condition(s) pour afficher cette barre (seulement pour le type \"window\") :\n"
|
||||
" active: sur la fenêtre active\n"
|
||||
" inactive: sur les fenêtres inactives\n"
|
||||
" nicklist: sue les fenêtres avec liste de pseudos\n"
|
||||
@@ -564,12 +577,14 @@ msgstr ""
|
||||
" position: bottom (bas), top (haut), left (gauche) ou right (droite)\n"
|
||||
" filling: horizontal ou vertical\n"
|
||||
" taille: taille de la barre (en caractères)\n"
|
||||
"separateur: 1 pour utiliser un séparateur (ligne), 0 ou rien signifie sans "
|
||||
"séparateur\n"
|
||||
"separateur: 1 pour utiliser un séparateur (ligne), 0 ou rien signifie sans séparateur\n"
|
||||
"objet1,...: objets pour cette barre\n"
|
||||
" del: supprime une barre\n"
|
||||
" set: changer la valeur d'une propriété de la barre\n"
|
||||
" hide: cacher la barre\n"
|
||||
" show: montrer une barre cachée\n"
|
||||
" list: liste toutes les barres\n"
|
||||
" listfull: liste toutes les barres (verbeux)\n"
|
||||
" listitems: liste tous les objets de barre"
|
||||
|
||||
msgid "manage buffers"
|
||||
@@ -753,7 +768,7 @@ msgstr ""
|
||||
|
||||
msgid ""
|
||||
" list: list loaded plugins\n"
|
||||
"listfull: list loaded plugins with detailed info for each plugin\n"
|
||||
"listfull: list loaded plugins (verbose)\n"
|
||||
" load: load a plugin\n"
|
||||
"autoload: autoload plugins in system or user directory\n"
|
||||
" reload: reload one plugin (if no name given, unload all plugins, then "
|
||||
@@ -763,13 +778,10 @@ msgid ""
|
||||
"Without argument, /plugin command lists loaded plugins."
|
||||
msgstr ""
|
||||
" list: lister les extensions chargées\n"
|
||||
"listfull: lister les extensions chargées avec de l'info détaillée pour "
|
||||
"chaque extension\n"
|
||||
"listfull: lister les extensions chargées (verbeux)\n"
|
||||
" load: charger une extension\n"
|
||||
"autoload: charger automatiquement les extensions dans un répertoire système "
|
||||
"ou utilisateur\n"
|
||||
" reload: recharger une extension (si pas de nom donné, décharger toutes les "
|
||||
"extensions, puis puis recharger automatiquement les extensions)\n"
|
||||
"autoload: charger automatiquement les extensions dans un répertoire système ou utilisateur\n"
|
||||
" reload: recharger une extension (si pas de nom donné, décharger toutes les extensions, puis puis recharger automatiquement les extensions)\n"
|
||||
" unload: décharger une ou plusieurs exteneions\n"
|
||||
"\n"
|
||||
"Sans paramètre, la commande /plugin liste les extensions chargées."
|
||||
@@ -1614,6 +1626,9 @@ msgstr ""
|
||||
"%sImpossible de changer le type de barre: vous devez supprimer la barre et "
|
||||
"en recréer une autre pour faire cela"
|
||||
|
||||
msgid "true if bar is hidden, false if it is displayed"
|
||||
msgstr "vrai si la barre est cachée, faux si elle est affichée"
|
||||
|
||||
msgid "bar priority (high number means bar displayed first)"
|
||||
msgstr ""
|
||||
"priorité de la barre (un nombre élevé signifie que la barre est affichée en "
|
||||
@@ -3064,9 +3079,6 @@ msgstr "désactivé"
|
||||
msgid " (temporary server, will not be saved)"
|
||||
msgstr " (serveur temporaire, ne sera pas sauvegardé)"
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr "(caché)"
|
||||
|
||||
msgid " (temporary)"
|
||||
msgstr " (temporaire)"
|
||||
|
||||
@@ -4518,3 +4530,6 @@ msgstr "%s%s: impossible de positionner l'option \"nonblock\" pour la socket"
|
||||
#, c-format
|
||||
msgid "%s%s: timeout for \"%s\" with %s"
|
||||
msgstr "%s%s: délai d'attente dépassé pour \"%s\" avec %s"
|
||||
|
||||
#~ msgid "hidden"
|
||||
#~ msgstr "caché"
|
||||
|
||||
@@ -12,7 +12,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-06-22 10:47+0200\n"
|
||||
"POT-Creation-Date: 2008-06-27 17:04+0200\n"
|
||||
"PO-Revision-Date: 2007-10-10 18:07+0200\n"
|
||||
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -100,9 +100,12 @@ msgid "List of bars:"
|
||||
msgstr "Aliaszok listája:\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid " %s%s%s: %s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgid " %s%s%s: %s%s%s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgstr "%s %s%s%s/%s%s%s:%s %s%s%s mellőzése a következő(k)től: %s%s\n"
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr "(rejtett)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "height"
|
||||
msgstr "jobb"
|
||||
@@ -177,6 +180,14 @@ msgstr "a felhasználók le lettek tiltva"
|
||||
msgid "%sError: unable to set option \"%s\" for bar \"%s\""
|
||||
msgstr "%s ismeretlen opció a \"%s\" parancsnak\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now hidden"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now visible"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sError: unknown option for \"%s\" command"
|
||||
msgstr "%s ismeretlen opció a \"%s\" parancsnak\n"
|
||||
@@ -573,7 +584,7 @@ msgstr "pufferek kezelése"
|
||||
msgid ""
|
||||
"[add barname type[,cond1,cond2,...] position size separator item1,item2,...] "
|
||||
"| [del barname] | [set barname name|priority|condition|position|filling|size|"
|
||||
"separator|items value] | [list] | [listitems]"
|
||||
"separator|items value] | [hide|show barname] | [list] | [listitems]"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
@@ -593,7 +604,10 @@ msgid ""
|
||||
"item1,...: items for this bar\n"
|
||||
" del: delete a bar\n"
|
||||
" set: set a value for a bar property\n"
|
||||
" hide: hide a bar\n"
|
||||
" show: show an hidden bar\n"
|
||||
" list: list all bars\n"
|
||||
" listfull: list all bars (verbose)\n"
|
||||
"listitems: list all bar items"
|
||||
msgstr ""
|
||||
|
||||
@@ -768,9 +782,10 @@ msgstr ""
|
||||
"[list [név]] | [listfull [név]] | [load fájlnév] | [autoload] | [reload "
|
||||
"[név]] | [unload [név]]"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
" list: list loaded plugins\n"
|
||||
"listfull: list loaded plugins with detailed info for each plugin\n"
|
||||
"listfull: list loaded plugins (verbose)\n"
|
||||
" load: load a plugin\n"
|
||||
"autoload: autoload plugins in system or user directory\n"
|
||||
" reload: reload one plugin (if no name given, unload all plugins, then "
|
||||
@@ -1659,6 +1674,9 @@ msgid ""
|
||||
"that"
|
||||
msgstr ""
|
||||
|
||||
msgid "true if bar is hidden, false if it is displayed"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar priority (high number means bar displayed first)"
|
||||
msgstr ""
|
||||
|
||||
@@ -3118,9 +3136,6 @@ msgstr "ki"
|
||||
msgid " (temporary server, will not be saved)"
|
||||
msgstr " (átmeneti szerver, nem lesz mentve)"
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr "(rejtett)"
|
||||
|
||||
msgid " (temporary)"
|
||||
msgstr " (átmeneti)"
|
||||
|
||||
@@ -4561,6 +4576,10 @@ msgstr "%s DCC: nem sikerült 'nonblock' opciót beállítani a csatornán\n"
|
||||
msgid "%s%s: timeout for \"%s\" with %s"
|
||||
msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "hidden"
|
||||
#~ msgstr "(rejtett)"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "(MORE)"
|
||||
#~ msgstr "-TOVÁBB-"
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-06-22 10:47+0200\n"
|
||||
"POT-Creation-Date: 2008-06-27 17:04+0200\n"
|
||||
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
|
||||
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -96,9 +96,12 @@ msgid "List of bars:"
|
||||
msgstr "Список сокращений:\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid " %s%s%s: %s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgid " %s%s%s: %s%s%s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgstr "%sна %s%s%s/%s%s%s:%s игнорирует %s%s%s с %s%s\n"
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr "(скрытый)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "height"
|
||||
msgstr "справа"
|
||||
@@ -173,6 +176,14 @@ msgstr "команда users отключена"
|
||||
msgid "%sError: unable to set option \"%s\" for bar \"%s\""
|
||||
msgstr "%s неизвестный параметр для команды \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now hidden"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now visible"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sError: unknown option for \"%s\" command"
|
||||
msgstr "%s неизвестный параметр для команды \"%s\"\n"
|
||||
@@ -567,7 +578,7 @@ msgstr "управление буферами"
|
||||
msgid ""
|
||||
"[add barname type[,cond1,cond2,...] position size separator item1,item2,...] "
|
||||
"| [del barname] | [set barname name|priority|condition|position|filling|size|"
|
||||
"separator|items value] | [list] | [listitems]"
|
||||
"separator|items value] | [hide|show barname] | [list] | [listitems]"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
@@ -587,7 +598,10 @@ msgid ""
|
||||
"item1,...: items for this bar\n"
|
||||
" del: delete a bar\n"
|
||||
" set: set a value for a bar property\n"
|
||||
" hide: hide a bar\n"
|
||||
" show: show an hidden bar\n"
|
||||
" list: list all bars\n"
|
||||
" listfull: list all bars (verbose)\n"
|
||||
"listitems: list all bar items"
|
||||
msgstr ""
|
||||
|
||||
@@ -763,9 +777,10 @@ msgstr ""
|
||||
"[list [имя]] | [listfull [имя]] | [load имя_файла] | [autoload] | [reload "
|
||||
"[имя]] | [unload [имя]]"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
" list: list loaded plugins\n"
|
||||
"listfull: list loaded plugins with detailed info for each plugin\n"
|
||||
"listfull: list loaded plugins (verbose)\n"
|
||||
" load: load a plugin\n"
|
||||
"autoload: autoload plugins in system or user directory\n"
|
||||
" reload: reload one plugin (if no name given, unload all plugins, then "
|
||||
@@ -1661,6 +1676,9 @@ msgid ""
|
||||
"that"
|
||||
msgstr ""
|
||||
|
||||
msgid "true if bar is hidden, false if it is displayed"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar priority (high number means bar displayed first)"
|
||||
msgstr ""
|
||||
|
||||
@@ -3112,9 +3130,6 @@ msgstr "выкл."
|
||||
msgid " (temporary server, will not be saved)"
|
||||
msgstr " (временный сервер, не будет сохранён)"
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr "(скрытый)"
|
||||
|
||||
msgid " (temporary)"
|
||||
msgstr " (временный)"
|
||||
|
||||
@@ -4544,6 +4559,10 @@ msgstr "%s DCC: не могу установить неблокирующий р
|
||||
msgid "%s%s: timeout for \"%s\" with %s"
|
||||
msgstr "%s нет аргумента для параметра \"%s\"\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "hidden"
|
||||
#~ msgstr "(скрытый)"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "(MORE)"
|
||||
#~ msgstr "-ДАЛЬШЕ-"
|
||||
|
||||
+21
-7
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-06-22 10:47+0200\n"
|
||||
"POT-Creation-Date: 2008-06-27 17:04+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -77,7 +77,10 @@ msgid "List of bars:"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid " %s%s%s: %s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgid " %s%s%s: %s%s%s (cond: %s), %s, filling: %s, %s: %s"
|
||||
msgstr ""
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr ""
|
||||
|
||||
msgid "height"
|
||||
@@ -148,6 +151,14 @@ msgstr ""
|
||||
msgid "%sError: unable to set option \"%s\" for bar \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now hidden"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Bar \"%s\" is now visible"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%sError: unknown option for \"%s\" command"
|
||||
msgstr ""
|
||||
@@ -499,7 +510,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"[add barname type[,cond1,cond2,...] position size separator item1,item2,...] "
|
||||
"| [del barname] | [set barname name|priority|condition|position|filling|size|"
|
||||
"separator|items value] | [list] | [listitems]"
|
||||
"separator|items value] | [hide|show barname] | [list] | [listitems]"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
@@ -519,7 +530,10 @@ msgid ""
|
||||
"item1,...: items for this bar\n"
|
||||
" del: delete a bar\n"
|
||||
" set: set a value for a bar property\n"
|
||||
" hide: hide a bar\n"
|
||||
" show: show an hidden bar\n"
|
||||
" list: list all bars\n"
|
||||
" listfull: list all bars (verbose)\n"
|
||||
"listitems: list all bar items"
|
||||
msgstr ""
|
||||
|
||||
@@ -646,7 +660,7 @@ msgstr ""
|
||||
|
||||
msgid ""
|
||||
" list: list loaded plugins\n"
|
||||
"listfull: list loaded plugins with detailed info for each plugin\n"
|
||||
"listfull: list loaded plugins (verbose)\n"
|
||||
" load: load a plugin\n"
|
||||
"autoload: autoload plugins in system or user directory\n"
|
||||
" reload: reload one plugin (if no name given, unload all plugins, then "
|
||||
@@ -1373,6 +1387,9 @@ msgid ""
|
||||
"that"
|
||||
msgstr ""
|
||||
|
||||
msgid "true if bar is hidden, false if it is displayed"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar priority (high number means bar displayed first)"
|
||||
msgstr ""
|
||||
|
||||
@@ -2598,9 +2615,6 @@ msgstr ""
|
||||
msgid " (temporary server, will not be saved)"
|
||||
msgstr ""
|
||||
|
||||
msgid "(hidden)"
|
||||
msgstr ""
|
||||
|
||||
msgid " (temporary)"
|
||||
msgstr ""
|
||||
|
||||
|
||||
+144
-34
@@ -58,42 +58,34 @@
|
||||
|
||||
|
||||
/*
|
||||
* command_bar: manage bars
|
||||
* command_bar_list: list bars
|
||||
*/
|
||||
|
||||
int
|
||||
command_bar (void *data, struct t_gui_buffer *buffer,
|
||||
int argc, char **argv, char **argv_eol)
|
||||
void
|
||||
command_bar_list (int full)
|
||||
{
|
||||
int type, position;
|
||||
long number;
|
||||
char *error, *str_type, *pos_condition, str_size[16];
|
||||
struct t_gui_bar *ptr_bar;
|
||||
struct t_gui_bar_item *ptr_item;
|
||||
char str_size[16];
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) buffer;
|
||||
|
||||
/* list of bars */
|
||||
if ((argc == 1)
|
||||
|| ((argc == 2) && (string_strcasecmp (argv[1], "list") == 0)))
|
||||
if (gui_bars)
|
||||
{
|
||||
if (gui_bars)
|
||||
gui_chat_printf (NULL, "");
|
||||
gui_chat_printf (NULL, _("List of bars:"));
|
||||
for (ptr_bar = gui_bars; ptr_bar;
|
||||
ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
gui_chat_printf (NULL, "");
|
||||
gui_chat_printf (NULL, _("List of bars:"));
|
||||
for (ptr_bar = gui_bars; ptr_bar;
|
||||
ptr_bar = ptr_bar->next_bar)
|
||||
snprintf (str_size, sizeof (str_size),
|
||||
"%d", CONFIG_INTEGER(ptr_bar->size));
|
||||
if (full)
|
||||
{
|
||||
snprintf (str_size, sizeof (str_size),
|
||||
"%d", CONFIG_INTEGER(ptr_bar->size));
|
||||
gui_chat_printf (NULL,
|
||||
_(" %s%s%s: %s (cond: %s), %s, filling: %s, "
|
||||
"%s: %s"),
|
||||
_(" %s%s%s: %s%s%s (cond: %s), %s, "
|
||||
"filling: %s, %s: %s"),
|
||||
GUI_COLOR(GUI_COLOR_CHAT_BUFFER),
|
||||
ptr_bar->name,
|
||||
GUI_COLOR(GUI_COLOR_CHAT),
|
||||
(CONFIG_BOOLEAN(ptr_bar->hidden)) ? _("(hidden)") : "",
|
||||
(CONFIG_BOOLEAN(ptr_bar->hidden)) ? " " : "",
|
||||
gui_bar_type_string[CONFIG_INTEGER(ptr_bar->type)],
|
||||
(CONFIG_STRING(ptr_bar->conditions)
|
||||
&& CONFIG_STRING(ptr_bar->conditions)[0]) ?
|
||||
@@ -115,12 +107,59 @@ command_bar (void *data, struct t_gui_buffer *buffer,
|
||||
(CONFIG_INTEGER(ptr_bar->separator)) ?
|
||||
_(", with separator") : "",
|
||||
(ptr_bar->plugin) ? ptr_bar->plugin->name : "-");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
gui_chat_printf (NULL,
|
||||
" %s%s%s: %s%s%s, %s, %s: %s",
|
||||
GUI_COLOR(GUI_COLOR_CHAT_BUFFER),
|
||||
ptr_bar->name,
|
||||
GUI_COLOR(GUI_COLOR_CHAT),
|
||||
(CONFIG_BOOLEAN(ptr_bar->hidden)) ? _("(hidden)") : "",
|
||||
(CONFIG_BOOLEAN(ptr_bar->hidden)) ? " " : "",
|
||||
gui_bar_type_string[CONFIG_INTEGER(ptr_bar->type)],
|
||||
gui_bar_position_string[CONFIG_INTEGER(ptr_bar->position)],
|
||||
((CONFIG_INTEGER(ptr_bar->position) == GUI_BAR_POSITION_BOTTOM)
|
||||
|| (CONFIG_INTEGER(ptr_bar->position) == GUI_BAR_POSITION_TOP)) ?
|
||||
_("height") : _("width"),
|
||||
(CONFIG_INTEGER(ptr_bar->size) == 0) ? _("auto") : str_size);
|
||||
}
|
||||
}
|
||||
else
|
||||
gui_chat_printf (NULL, _("No bar defined"));
|
||||
|
||||
}
|
||||
else
|
||||
gui_chat_printf (NULL, _("No bar defined"));
|
||||
}
|
||||
|
||||
/*
|
||||
* command_bar: manage bars
|
||||
*/
|
||||
|
||||
int
|
||||
command_bar (void *data, struct t_gui_buffer *buffer,
|
||||
int argc, char **argv, char **argv_eol)
|
||||
{
|
||||
int type, position;
|
||||
long number;
|
||||
char *error, *str_type, *pos_condition;
|
||||
struct t_gui_bar *ptr_bar;
|
||||
struct t_gui_bar_item *ptr_item;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) buffer;
|
||||
|
||||
/* list of bars */
|
||||
if ((argc == 1)
|
||||
|| ((argc == 2) && (string_strcasecmp (argv[1], "list") == 0)))
|
||||
{
|
||||
command_bar_list (0);
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/* full list of bars */
|
||||
if ((argc == 2) && (string_strcasecmp (argv[1], "listfull") == 0))
|
||||
{
|
||||
command_bar_list (1);
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
@@ -203,7 +242,8 @@ command_bar (void *data, struct t_gui_buffer *buffer,
|
||||
if (error && !error[0])
|
||||
{
|
||||
/* create bar */
|
||||
if (gui_bar_new (NULL, argv[2], "0", str_type, pos_condition,
|
||||
if (gui_bar_new (NULL, argv[2], "0", "0", str_type,
|
||||
(pos_condition) ? pos_condition : "",
|
||||
argv[4],
|
||||
((position == GUI_BAR_POSITION_LEFT)
|
||||
|| (position == GUI_BAR_POSITION_RIGHT)) ?
|
||||
@@ -297,6 +337,72 @@ command_bar (void *data, struct t_gui_buffer *buffer,
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/* hide a bar */
|
||||
if (string_strcasecmp (argv[1], "hide") == 0)
|
||||
{
|
||||
if (argc < 3)
|
||||
{
|
||||
gui_chat_printf (NULL,
|
||||
_("%sError: missing arguments for \"%s\" "
|
||||
"command"),
|
||||
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
|
||||
"bar");
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
ptr_bar = gui_bar_search (argv[2]);
|
||||
if (!ptr_bar)
|
||||
{
|
||||
gui_chat_printf (NULL,
|
||||
_("%sError: unknown bar \"%s\""),
|
||||
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
|
||||
argv[2]);
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
if (!CONFIG_BOOLEAN(ptr_bar->hidden))
|
||||
{
|
||||
if (gui_bar_set (ptr_bar, "hidden", "1"))
|
||||
{
|
||||
gui_chat_printf (NULL, _("Bar \"%s\" is now hidden"),
|
||||
ptr_bar->name);
|
||||
}
|
||||
}
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/* show a bar */
|
||||
if (string_strcasecmp (argv[1], "show") == 0)
|
||||
{
|
||||
if (argc < 3)
|
||||
{
|
||||
gui_chat_printf (NULL,
|
||||
_("%sError: missing arguments for \"%s\" "
|
||||
"command"),
|
||||
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
|
||||
"bar");
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
ptr_bar = gui_bar_search (argv[2]);
|
||||
if (!ptr_bar)
|
||||
{
|
||||
gui_chat_printf (NULL,
|
||||
_("%sError: unknown bar \"%s\""),
|
||||
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
|
||||
argv[2]);
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
if (CONFIG_BOOLEAN(ptr_bar->hidden))
|
||||
{
|
||||
if (gui_bar_set (ptr_bar, "hidden", "0"))
|
||||
{
|
||||
gui_chat_printf (NULL, _("Bar \"%s\" is now visible"),
|
||||
ptr_bar->name);
|
||||
}
|
||||
}
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
gui_chat_printf (NULL,
|
||||
_("%sError: unknown option for \"%s\" "
|
||||
@@ -2541,7 +2647,8 @@ command_init ()
|
||||
N_("[add barname type[,cond1,cond2,...] position size "
|
||||
"separator item1,item2,...] | [del barname] | "
|
||||
"[set barname name|priority|condition|position|filling|"
|
||||
"size|separator|items value] | [list] | [listitems]"),
|
||||
"size|separator|items value] | [hide|show barname] | "
|
||||
"[list] | [listitems]"),
|
||||
N_(" add: add a new bar\n"
|
||||
" barname: name of bar (must be unique)\n"
|
||||
" type: root: outside windows),\n"
|
||||
@@ -2561,10 +2668,14 @@ command_init ()
|
||||
"item1,...: items for this bar\n"
|
||||
" del: delete a bar\n"
|
||||
" set: set a value for a bar property\n"
|
||||
" hide: hide a bar\n"
|
||||
" show: show an hidden bar\n"
|
||||
" list: list all bars\n"
|
||||
" listfull: list all bars (verbose)\n"
|
||||
"listitems: list all bar items"),
|
||||
"add|del|set|list|listitems %r name|priority|conditions|"
|
||||
"position|filling|size|separator|items",
|
||||
"add|del|set|hide|show|list|listfull|listitems %r "
|
||||
"name|priority|conditions|position|filling|size|separator|"
|
||||
"items",
|
||||
&command_bar, NULL);
|
||||
hook_command (NULL, "buffer",
|
||||
N_("manage buffers"),
|
||||
@@ -2686,8 +2797,7 @@ command_init ()
|
||||
N_("[list [name]] | [listfull [name]] | [load filename] | "
|
||||
"[autoload] | [reload [name]] | [unload [name]]"),
|
||||
N_(" list: list loaded plugins\n"
|
||||
"listfull: list loaded plugins with detailed info for "
|
||||
"each plugin\n"
|
||||
"listfull: list loaded plugins (verbose)\n"
|
||||
" load: load a plugin\n"
|
||||
"autoload: autoload plugins in system or user directory\n"
|
||||
" reload: reload one plugin (if no name given, unload "
|
||||
|
||||
+3
-6
@@ -386,22 +386,19 @@ utf8_char_size_screen (const char *string)
|
||||
}
|
||||
|
||||
/*
|
||||
* utf8_add_offset: moves forward N chars in an UTF-8 string
|
||||
* utf8_add_offset: move forward N chars in an UTF-8 string
|
||||
*/
|
||||
|
||||
char *
|
||||
utf8_add_offset (const char *string, int offset)
|
||||
{
|
||||
int count;
|
||||
|
||||
if (!string)
|
||||
return NULL;
|
||||
|
||||
count = 0;
|
||||
while (string && string[0] && (count < offset))
|
||||
while (string && string[0] && (offset > 0))
|
||||
{
|
||||
string = utf8_next_char (string);
|
||||
count++;
|
||||
offset--;
|
||||
}
|
||||
return (char *)string;
|
||||
}
|
||||
|
||||
+106
-54
@@ -91,7 +91,8 @@ gui_bar_window_set_current_size (struct t_gui_bar *bar, int size)
|
||||
for (ptr_bar_win = GUI_CURSES(ptr_win)->bar_windows;
|
||||
ptr_bar_win; ptr_bar_win = ptr_bar_win->next_bar_window)
|
||||
{
|
||||
ptr_bar_win->current_size = (size == 0) ? 1 : size;
|
||||
if (ptr_bar_win->bar == bar)
|
||||
ptr_bar_win->current_size = (size == 0) ? 1 : size;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -117,25 +118,28 @@ gui_bar_window_get_size (struct t_gui_bar *bar, struct t_gui_window *window,
|
||||
/* stop before bar */
|
||||
if (bar && (ptr_bar_window->bar == bar))
|
||||
return total_size;
|
||||
|
||||
if ((CONFIG_INTEGER(ptr_bar_window->bar->type) != GUI_BAR_TYPE_ROOT)
|
||||
&& (CONFIG_INTEGER(ptr_bar_window->bar->position) == (int)position))
|
||||
|
||||
if (!CONFIG_BOOLEAN(ptr_bar_window->bar->hidden))
|
||||
{
|
||||
switch (position)
|
||||
if ((CONFIG_INTEGER(ptr_bar_window->bar->type) != GUI_BAR_TYPE_ROOT)
|
||||
&& (CONFIG_INTEGER(ptr_bar_window->bar->position) == (int)position))
|
||||
{
|
||||
case GUI_BAR_POSITION_BOTTOM:
|
||||
case GUI_BAR_POSITION_TOP:
|
||||
total_size += ptr_bar_window->height;
|
||||
break;
|
||||
case GUI_BAR_POSITION_LEFT:
|
||||
case GUI_BAR_POSITION_RIGHT:
|
||||
total_size += ptr_bar_window->width;
|
||||
break;
|
||||
case GUI_BAR_NUM_POSITIONS:
|
||||
break;
|
||||
switch (position)
|
||||
{
|
||||
case GUI_BAR_POSITION_BOTTOM:
|
||||
case GUI_BAR_POSITION_TOP:
|
||||
total_size += ptr_bar_window->height;
|
||||
break;
|
||||
case GUI_BAR_POSITION_LEFT:
|
||||
case GUI_BAR_POSITION_RIGHT:
|
||||
total_size += ptr_bar_window->width;
|
||||
break;
|
||||
case GUI_BAR_NUM_POSITIONS:
|
||||
break;
|
||||
}
|
||||
if (CONFIG_INTEGER(ptr_bar_window->bar->separator))
|
||||
total_size++;
|
||||
}
|
||||
if (CONFIG_INTEGER(ptr_bar_window->bar->separator))
|
||||
total_size++;
|
||||
}
|
||||
}
|
||||
return total_size;
|
||||
@@ -202,10 +206,10 @@ gui_bar_window_calculate_pos_size (struct t_gui_bar_window *bar_window,
|
||||
y1 = window->win_y;
|
||||
x2 = x1 + window->win_width - 1;
|
||||
y2 = y1 + window->win_height - 1;
|
||||
add_bottom = gui_bar_window_get_size (bar_window->bar, window, GUI_BAR_POSITION_BOTTOM);
|
||||
add_top = gui_bar_window_get_size (bar_window->bar, window, GUI_BAR_POSITION_TOP);
|
||||
add_left = gui_bar_window_get_size (bar_window->bar, window, GUI_BAR_POSITION_LEFT);
|
||||
add_right = gui_bar_window_get_size (bar_window->bar, window, GUI_BAR_POSITION_RIGHT);
|
||||
add_top = gui_bar_window_get_size (bar_window->bar, window, GUI_BAR_POSITION_TOP);
|
||||
add_bottom = gui_bar_window_get_size (bar_window->bar, window, GUI_BAR_POSITION_BOTTOM);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -237,13 +241,13 @@ gui_bar_window_calculate_pos_size (struct t_gui_bar_window *bar_window,
|
||||
bar_window->x = x1 + add_left;
|
||||
bar_window->y = y1 + add_top;
|
||||
bar_window->width = bar_window->current_size;
|
||||
bar_window->height = y2 - add_top - add_bottom - y1 + 1;
|
||||
bar_window->height = y2 - y1 + 1 - add_top - add_bottom;
|
||||
break;
|
||||
case GUI_BAR_POSITION_RIGHT:
|
||||
bar_window->x = x2 - add_right - bar_window->current_size + 1;
|
||||
bar_window->y = y1 + add_top;
|
||||
bar_window->width = bar_window->current_size;
|
||||
bar_window->height = y2 - y1 + 1;
|
||||
bar_window->height = y2 - y1 + 1 - add_top - add_bottom;
|
||||
break;
|
||||
case GUI_BAR_NUM_POSITIONS:
|
||||
break;
|
||||
@@ -397,6 +401,8 @@ gui_bar_window_new (struct t_gui_bar *bar, struct t_gui_window *window)
|
||||
new_bar_window->y = 0;
|
||||
new_bar_window->width = 1;
|
||||
new_bar_window->height = 1;
|
||||
new_bar_window->cursor_x = -1;
|
||||
new_bar_window->cursor_y = -1;
|
||||
new_bar_window->current_size = (CONFIG_INTEGER(bar->size) == 0) ?
|
||||
1 : CONFIG_INTEGER(bar->size);
|
||||
|
||||
@@ -425,6 +431,9 @@ gui_bar_window_recreate_bar_windows (struct t_gui_bar *bar)
|
||||
struct t_gui_window *ptr_win;
|
||||
struct t_gui_bar_window *ptr_bar_win;
|
||||
|
||||
if (CONFIG_BOOLEAN(bar->hidden))
|
||||
return;
|
||||
|
||||
if (CONFIG_INTEGER(bar->type) == GUI_BAR_TYPE_ROOT)
|
||||
{
|
||||
gui_bar_window_calculate_pos_size (bar->bar_window, NULL);
|
||||
@@ -574,7 +583,8 @@ gui_bar_window_add_missing_bars (struct t_gui_window *window)
|
||||
|
||||
void
|
||||
gui_bar_window_print_string (struct t_gui_bar_window *bar_window,
|
||||
int *x, int *y, const char *string)
|
||||
int *x, int *y,
|
||||
const char *string)
|
||||
{
|
||||
int weechat_color, size_on_screen, fg, bg;
|
||||
char str_fg[3], str_bg[3], utf_char[16], *next_char, *output;
|
||||
@@ -583,7 +593,7 @@ gui_bar_window_print_string (struct t_gui_bar_window *bar_window,
|
||||
return;
|
||||
|
||||
wmove (bar_window->win_bar, *y, *x);
|
||||
|
||||
|
||||
gui_window_set_custom_color_fg_bg (bar_window->win_bar,
|
||||
CONFIG_COLOR(bar_window->bar->color_fg),
|
||||
CONFIG_COLOR(bar_window->bar->color_bg));
|
||||
@@ -595,7 +605,7 @@ gui_bar_window_print_string (struct t_gui_bar_window *bar_window,
|
||||
string++;
|
||||
switch (string[0])
|
||||
{
|
||||
case 'F': /* fg color */
|
||||
case GUI_COLOR_FG_CHAR: /* fg color */
|
||||
if (string[1] && string[2])
|
||||
{
|
||||
str_fg[0] = string[1];
|
||||
@@ -607,7 +617,7 @@ gui_bar_window_print_string (struct t_gui_bar_window *bar_window,
|
||||
string += 3;
|
||||
}
|
||||
break;
|
||||
case 'B': /* bg color */
|
||||
case GUI_COLOR_BG_CHAR: /* bg color */
|
||||
if (string[1] && string[2])
|
||||
{
|
||||
str_bg[0] = string[1];
|
||||
@@ -619,7 +629,7 @@ gui_bar_window_print_string (struct t_gui_bar_window *bar_window,
|
||||
string += 3;
|
||||
}
|
||||
break;
|
||||
case '*': /* fg + bg color */
|
||||
case GUI_COLOR_FG_BG_CHAR: /* fg + bg color */
|
||||
if (string[1] && string[2] && (string[3] == ',')
|
||||
&& string[4] && string[5])
|
||||
{
|
||||
@@ -636,24 +646,35 @@ gui_bar_window_print_string (struct t_gui_bar_window *bar_window,
|
||||
string += 6;
|
||||
}
|
||||
break;
|
||||
case 'b': /* bar color */
|
||||
case GUI_COLOR_BAR_CHAR: /* bar color */
|
||||
switch (string[1])
|
||||
{
|
||||
case 'f': /* bar foreground */
|
||||
case GUI_COLOR_BAR_FG_CHAR:
|
||||
/* bar foreground */
|
||||
gui_window_set_custom_color_fg (bar_window->win_bar,
|
||||
CONFIG_INTEGER(bar_window->bar->color_fg));
|
||||
string += 2;
|
||||
break;
|
||||
case 'd': /* bar delimiter */
|
||||
case GUI_COLOR_BAR_DELIM_CHAR:
|
||||
/* bar delimiter */
|
||||
gui_window_set_custom_color_fg (bar_window->win_bar,
|
||||
CONFIG_INTEGER(bar_window->bar->color_delim));
|
||||
string += 2;
|
||||
break;
|
||||
case 'b': /* bar background */
|
||||
case GUI_COLOR_BAR_BG_CHAR:
|
||||
/* bar background */
|
||||
gui_window_set_custom_color_bg (bar_window->win_bar,
|
||||
CONFIG_INTEGER(bar_window->bar->color_bg));
|
||||
string += 2;
|
||||
break;
|
||||
case GUI_COLOR_BAR_MOVE_CURSOR_CHAR:
|
||||
/* move cursor to current position on screen */
|
||||
getyx (bar_window->win_bar,
|
||||
bar_window->cursor_y, bar_window->cursor_x);
|
||||
bar_window->cursor_x += bar_window->x;
|
||||
bar_window->cursor_y += bar_window->y;
|
||||
string += 2;
|
||||
break;
|
||||
default:
|
||||
string++;
|
||||
break;
|
||||
@@ -720,11 +741,26 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
int x, y, i, items_count, num_lines, line;
|
||||
char *content, *item_value, *item_value2, **items;
|
||||
char space_with_reinit_color[32];
|
||||
int content_length, length, max_length, optimal_number_of_lines;
|
||||
int length_reinit_color, content_length, length, length_on_screen;
|
||||
int max_length, optimal_number_of_lines, chars_available;
|
||||
|
||||
if (!gui_init_ok)
|
||||
return;
|
||||
|
||||
snprintf (space_with_reinit_color,
|
||||
sizeof (space_with_reinit_color),
|
||||
"%c%c%02d,%02d ",
|
||||
GUI_COLOR_COLOR_CHAR,
|
||||
GUI_COLOR_FG_BG_CHAR,
|
||||
CONFIG_COLOR(bar_window->bar->color_fg),
|
||||
CONFIG_COLOR(bar_window->bar->color_bg));
|
||||
length_reinit_color = strlen (space_with_reinit_color);
|
||||
|
||||
/* these values will be overwritten later (by gui_bar_window_print_string)
|
||||
if cursor has to move somewhere in bar window */
|
||||
bar_window->cursor_x = -1;
|
||||
bar_window->cursor_y = -1;
|
||||
|
||||
if (CONFIG_INTEGER(bar_window->bar->size) == 0)
|
||||
{
|
||||
content = NULL;
|
||||
@@ -733,19 +769,13 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
{
|
||||
item_value = gui_bar_item_get_value (bar_window->bar->items_array[i],
|
||||
bar_window->bar, window,
|
||||
0, 0);
|
||||
0, 0, 0);
|
||||
if (item_value)
|
||||
{
|
||||
if (item_value[0])
|
||||
{
|
||||
if (CONFIG_INTEGER(bar_window->bar->filling) == GUI_BAR_FILLING_HORIZONTAL)
|
||||
{
|
||||
snprintf (space_with_reinit_color,
|
||||
sizeof (space_with_reinit_color),
|
||||
"%c*%02d,%02d ",
|
||||
GUI_COLOR_COLOR_CHAR,
|
||||
CONFIG_COLOR(bar_window->bar->color_fg),
|
||||
CONFIG_COLOR(bar_window->bar->color_bg));
|
||||
item_value2 = string_replace (item_value, "\n",
|
||||
space_with_reinit_color);
|
||||
}
|
||||
@@ -760,11 +790,11 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
}
|
||||
else
|
||||
{
|
||||
content_length += 1 +
|
||||
content_length += length_reinit_color +
|
||||
strlen ((item_value2) ? item_value2 : item_value);
|
||||
content = realloc (content, content_length);
|
||||
if (CONFIG_INTEGER(bar_window->bar->filling) == GUI_BAR_FILLING_HORIZONTAL)
|
||||
strcat (content, " ");
|
||||
strcat (content, space_with_reinit_color);
|
||||
else
|
||||
strcat (content, "\n");
|
||||
strcat (content,
|
||||
@@ -793,14 +823,22 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
optimal_number_of_lines = 0;
|
||||
for (line = 0; line < items_count; line++)
|
||||
{
|
||||
length = gui_chat_strlen_screen (items[line]);
|
||||
if (length > max_length)
|
||||
max_length = length;
|
||||
length_on_screen = gui_chat_strlen_screen (items[line]);
|
||||
|
||||
if (length % bar_window->width == 0)
|
||||
num_lines = length / bar_window->width;
|
||||
length = strlen (items[line]);
|
||||
if ((length >= 3)
|
||||
&& (items[line][length - 3] == GUI_COLOR_COLOR_CHAR)
|
||||
&& (items[line][length - 2] == GUI_COLOR_BAR_CHAR)
|
||||
&& (items[line][length - 1] == GUI_COLOR_BAR_MOVE_CURSOR_CHAR))
|
||||
length_on_screen++;
|
||||
|
||||
if (length_on_screen > max_length)
|
||||
max_length = length_on_screen;
|
||||
|
||||
if (length_on_screen % bar_window->width == 0)
|
||||
num_lines = length_on_screen / bar_window->width;
|
||||
else
|
||||
num_lines = (length / bar_window->width) + 1;
|
||||
num_lines = (length_on_screen / bar_window->width) + 1;
|
||||
if (num_lines == 0)
|
||||
num_lines = 1;
|
||||
optimal_number_of_lines += num_lines;
|
||||
@@ -874,22 +912,21 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
|
||||
for (i = 0; i < bar_window->bar->items_count; i++)
|
||||
{
|
||||
chars_available =
|
||||
((bar_window->height - y - 1) * bar_window->width) + /* next lines */
|
||||
(bar_window->width - x - 1); /* chars on current line */
|
||||
|
||||
item_value = gui_bar_item_get_value (bar_window->bar->items_array[i],
|
||||
bar_window->bar, window,
|
||||
bar_window->width,
|
||||
bar_window->height);
|
||||
bar_window->height,
|
||||
chars_available);
|
||||
if (item_value)
|
||||
{
|
||||
if (item_value[0])
|
||||
{
|
||||
if (CONFIG_INTEGER(bar_window->bar->filling) == GUI_BAR_FILLING_HORIZONTAL)
|
||||
{
|
||||
snprintf (space_with_reinit_color,
|
||||
sizeof (space_with_reinit_color),
|
||||
"%c*%02d,%02d ",
|
||||
GUI_COLOR_COLOR_CHAR,
|
||||
CONFIG_COLOR(bar_window->bar->color_fg),
|
||||
CONFIG_COLOR(bar_window->bar->color_bg));
|
||||
item_value2 = string_replace (item_value, "\n",
|
||||
space_with_reinit_color);
|
||||
}
|
||||
@@ -911,8 +948,10 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
y++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gui_bar_window_print_string (bar_window, &x, &y,
|
||||
" ");
|
||||
space_with_reinit_color);
|
||||
}
|
||||
}
|
||||
if (item_value2)
|
||||
free (item_value2);
|
||||
@@ -923,6 +962,14 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* move cursor if it was asked in an item content (input_text does that
|
||||
to move cursor in user input text) */
|
||||
if (window && (gui_current_window == window)
|
||||
&& (bar_window->cursor_x >= 0) && (bar_window->cursor_y >= 0))
|
||||
{
|
||||
move (bar_window->cursor_y, bar_window->cursor_x);
|
||||
}
|
||||
|
||||
wnoutrefresh (bar_window->win_bar);
|
||||
|
||||
@@ -973,6 +1020,9 @@ gui_bar_draw (struct t_gui_bar *bar)
|
||||
struct t_gui_window *ptr_win;
|
||||
struct t_gui_bar_window *ptr_bar_win;
|
||||
|
||||
if (CONFIG_BOOLEAN(bar->hidden))
|
||||
return;
|
||||
|
||||
if (bar->bar_window)
|
||||
{
|
||||
/* root bar */
|
||||
@@ -1009,6 +1059,8 @@ gui_bar_window_print_log (struct t_gui_bar_window *bar_window)
|
||||
log_printf (" y . . . . . . . . : %d", bar_window->y);
|
||||
log_printf (" width . . . . . . : %d", bar_window->width);
|
||||
log_printf (" height. . . . . . : %d", bar_window->height);
|
||||
log_printf (" cursor_x. . . . . : %d", bar_window->cursor_x);
|
||||
log_printf (" cursor_y. . . . . : %d", bar_window->cursor_y);
|
||||
log_printf (" current_size. . . : %d", bar_window->current_size);
|
||||
log_printf (" win_bar . . . . . : 0x%x", bar_window->win_bar);
|
||||
log_printf (" win_separator . . : 0x%x", bar_window->win_separator);
|
||||
|
||||
@@ -263,7 +263,7 @@ gui_chat_string_next_char (struct t_gui_window *window,
|
||||
string++;
|
||||
switch (string[0])
|
||||
{
|
||||
case 'F':
|
||||
case GUI_COLOR_FG_CHAR: /* fg color */
|
||||
if (string[1] && string[2])
|
||||
{
|
||||
if (apply_style)
|
||||
@@ -278,7 +278,7 @@ gui_chat_string_next_char (struct t_gui_window *window,
|
||||
string += 3;
|
||||
}
|
||||
break;
|
||||
case 'B':
|
||||
case GUI_COLOR_BG_CHAR: /* bg color */
|
||||
if (string[1] && string[2])
|
||||
{
|
||||
if (apply_style)
|
||||
@@ -293,7 +293,7 @@ gui_chat_string_next_char (struct t_gui_window *window,
|
||||
string += 3;
|
||||
}
|
||||
break;
|
||||
case '*':
|
||||
case GUI_COLOR_FG_BG_CHAR: /* fg + bg color */
|
||||
if (string[1] && string[2] && (string[3] == ',')
|
||||
&& string[4] && string[5])
|
||||
{
|
||||
@@ -313,6 +313,20 @@ gui_chat_string_next_char (struct t_gui_window *window,
|
||||
string += 6;
|
||||
}
|
||||
break;
|
||||
case GUI_COLOR_BAR_CHAR: /* bar color */
|
||||
switch (string[1])
|
||||
{
|
||||
case GUI_COLOR_BAR_FG_CHAR:
|
||||
case GUI_COLOR_BAR_DELIM_CHAR:
|
||||
case GUI_COLOR_BAR_BG_CHAR:
|
||||
case GUI_COLOR_BAR_MOVE_CURSOR_CHAR:
|
||||
string += 2;
|
||||
break;
|
||||
default:
|
||||
string++;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (isdigit (string[0]) && isdigit (string[1]))
|
||||
{
|
||||
@@ -330,7 +344,7 @@ gui_chat_string_next_char (struct t_gui_window *window,
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case GUI_COLOR_SET_CHAR:
|
||||
case GUI_COLOR_SET_WEECHAT_CHAR:
|
||||
string++;
|
||||
switch (string[0])
|
||||
{
|
||||
@@ -358,7 +372,7 @@ gui_chat_string_next_char (struct t_gui_window *window,
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case GUI_COLOR_REMOVE_CHAR:
|
||||
case GUI_COLOR_REMOVE_WEECHAT_CHAR:
|
||||
string++;
|
||||
switch (string[0])
|
||||
{
|
||||
|
||||
@@ -297,6 +297,7 @@ gui_keyboard_flush ()
|
||||
key_str, -1);
|
||||
if (gui_current_window->buffer->completion)
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 0);
|
||||
gui_input_text_changed_signal ();
|
||||
input_draw = 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -43,6 +43,8 @@ struct t_gui_bar_window
|
||||
struct t_gui_bar *bar; /* pointer to bar */
|
||||
int x, y; /* position of window */
|
||||
int width, height; /* window size */
|
||||
int cursor_x, cursor_y; /* use to move cursor on screen (for */
|
||||
/* input_text item) */
|
||||
WINDOW *win_bar; /* bar Curses window */
|
||||
int current_size; /* current size (width or height) */
|
||||
WINDOW *win_separator; /* separator (optional) */
|
||||
|
||||
@@ -224,7 +224,7 @@ gui_chat_string_next_char (struct t_gui_window *window,
|
||||
}
|
||||
}
|
||||
break;
|
||||
case GUI_COLOR_SET_CHAR:
|
||||
case GUI_COLOR_SET_WEECHAT_CHAR:
|
||||
string++;
|
||||
switch (string[0])
|
||||
{
|
||||
@@ -249,7 +249,7 @@ gui_chat_string_next_char (struct t_gui_window *window,
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case GUI_COLOR_REMOVE_CHAR:
|
||||
case GUI_COLOR_REMOVE_WEECHAT_CHAR:
|
||||
string++;
|
||||
switch (string[0])
|
||||
{
|
||||
|
||||
+279
-47
@@ -32,10 +32,12 @@
|
||||
#include "../core/wee-hook.h"
|
||||
#include "../core/wee-log.h"
|
||||
#include "../core/wee-string.h"
|
||||
#include "../core/wee-utf8.h"
|
||||
#include "../plugins/plugin.h"
|
||||
#include "gui-bar-item.h"
|
||||
#include "gui-bar.h"
|
||||
#include "gui-buffer.h"
|
||||
#include "gui-chat.h"
|
||||
#include "gui-color.h"
|
||||
#include "gui-completion.h"
|
||||
#include "gui-filter.h"
|
||||
@@ -46,8 +48,9 @@
|
||||
struct t_gui_bar_item *gui_bar_items = NULL; /* first bar item */
|
||||
struct t_gui_bar_item *last_gui_bar_item = NULL; /* last bar item */
|
||||
char *gui_bar_item_names[GUI_BAR_NUM_ITEMS] =
|
||||
{ "time", "buffer_count", "buffer_plugin", "buffer_name", "buffer_filter",
|
||||
"nicklist_count", "scroll", "hotlist", "completion"
|
||||
{ "input_prompt", "input_text", "time", "buffer_count", "buffer_plugin",
|
||||
"buffer_name", "buffer_filter", "nicklist_count", "scroll", "hotlist",
|
||||
"completion"
|
||||
};
|
||||
struct t_gui_bar_item_hook *gui_bar_item_hooks = NULL;
|
||||
struct t_hook *gui_bar_item_timer = NULL;
|
||||
@@ -75,6 +78,70 @@ gui_bar_item_search (const char *name)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_item_valid_char_name: return 1 if char is valid for item name
|
||||
* (any letter, digit, "-" or "_")
|
||||
* return 0 otherwise
|
||||
*/
|
||||
|
||||
int
|
||||
gui_bar_item_valid_char_name (char c)
|
||||
{
|
||||
return (((c >= 'a') && (c <= 'z'))
|
||||
|| ((c >= 'A') && (c <= 'Z'))
|
||||
|| ((c >= '0') && (c <= '9'))
|
||||
|| (c == '-')
|
||||
|| (c == '_')) ?
|
||||
1 : 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_item_string_get_item_start: return pointer to beginning of item name
|
||||
* (string may contain special delimiters
|
||||
* at beginning, which are ignored)
|
||||
*/
|
||||
|
||||
const char *
|
||||
gui_bar_item_string_get_item_start (const char *string)
|
||||
{
|
||||
while (string && string[0])
|
||||
{
|
||||
if (gui_bar_item_valid_char_name (string[0]))
|
||||
break;
|
||||
string++;
|
||||
}
|
||||
if (string && string[0])
|
||||
return string;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_item_string_is_item: return 1 if string is item (string may contain
|
||||
* special delimiters at beginning and end of
|
||||
* string, which are ignored)
|
||||
*/
|
||||
|
||||
int
|
||||
gui_bar_item_string_is_item (const char *string, const char *name)
|
||||
{
|
||||
const char *item_start;
|
||||
int length;
|
||||
|
||||
item_start = gui_bar_item_string_get_item_start (string);
|
||||
if (!item_start)
|
||||
return 0;
|
||||
|
||||
length = strlen (name);
|
||||
if (strncmp (item_start, name, length) == 0)
|
||||
{
|
||||
if (!gui_bar_item_valid_char_name (item_start[length]))
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_item_search_with_plugin: search a bar item for a plugin
|
||||
*/
|
||||
@@ -99,20 +166,93 @@ gui_bar_item_search_with_plugin (struct t_weechat_plugin *plugin, const char *na
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_item_valid_char_name: return 1 if char is valid for item name
|
||||
* (any letter, digit, "-" or "_")
|
||||
* return 0 otherwise
|
||||
* gui_bar_item_input_text_update_for_display: update input text item for
|
||||
* display:
|
||||
* - scroll if needed, to see only
|
||||
* the end of input
|
||||
* - insert "move cursor" id to
|
||||
* move cursor to good position
|
||||
*/
|
||||
|
||||
int
|
||||
gui_bar_item_valid_char_name (char c)
|
||||
char *
|
||||
gui_bar_item_input_text_update_for_display (const char *item_content,
|
||||
struct t_gui_window *window,
|
||||
int chars_available)
|
||||
{
|
||||
return (((c >= 'a') && (c <= 'z'))
|
||||
|| ((c >= 'A') && (c <= 'Z'))
|
||||
|| ((c >= '0') && (c <= '9'))
|
||||
|| (c == '-')
|
||||
|| (c == '_')) ?
|
||||
1 : 0;
|
||||
char *buf, str_cursor[16];
|
||||
const char *pos_cursor, *ptr_start;
|
||||
int diff, buf_pos;
|
||||
int length, length_screen_before_cursor, length_screen_after_cursor;
|
||||
int total_length_screen;
|
||||
|
||||
snprintf (str_cursor, sizeof (str_cursor), "%c%c%c",
|
||||
GUI_COLOR_COLOR_CHAR,
|
||||
GUI_COLOR_BAR_CHAR,
|
||||
GUI_COLOR_BAR_MOVE_CURSOR_CHAR);
|
||||
|
||||
ptr_start = item_content;
|
||||
|
||||
pos_cursor = gui_chat_string_add_offset (item_content,
|
||||
window->buffer->input_buffer_pos);
|
||||
|
||||
/* if bar size is fixed (chars_available > 0), then truncate it at
|
||||
beginning if needed */
|
||||
if (chars_available > 0)
|
||||
{
|
||||
length_screen_before_cursor = -1;
|
||||
length_screen_after_cursor = -1;
|
||||
if (pos_cursor && (pos_cursor > item_content))
|
||||
{
|
||||
buf = string_strndup (item_content, pos_cursor - item_content);
|
||||
if (buf)
|
||||
{
|
||||
length_screen_before_cursor = gui_chat_strlen_screen (buf);
|
||||
length_screen_after_cursor = gui_chat_strlen_screen (pos_cursor + strlen (str_cursor));
|
||||
free (buf);
|
||||
}
|
||||
}
|
||||
if ((length_screen_before_cursor < 0) || (length_screen_after_cursor < 0))
|
||||
{
|
||||
length_screen_before_cursor = gui_chat_strlen_screen (item_content);
|
||||
length_screen_after_cursor = 0;
|
||||
}
|
||||
|
||||
total_length_screen = length_screen_before_cursor + length_screen_after_cursor;
|
||||
|
||||
diff = length_screen_before_cursor - chars_available;
|
||||
if (diff > 0)
|
||||
{
|
||||
ptr_start = gui_chat_string_add_offset (item_content, diff);
|
||||
if (pos_cursor && (ptr_start > pos_cursor))
|
||||
ptr_start = pos_cursor;
|
||||
}
|
||||
}
|
||||
|
||||
/* insert "move cursor" id in string and return it */
|
||||
length = 16 + strlen (ptr_start);
|
||||
buf = malloc (length);
|
||||
if (buf)
|
||||
{
|
||||
buf[0] = '\0';
|
||||
buf_pos = 0;
|
||||
|
||||
if (!pos_cursor)
|
||||
pos_cursor = ptr_start;
|
||||
|
||||
/* add beginning of buffer */
|
||||
if (pos_cursor != ptr_start)
|
||||
{
|
||||
memmove (buf, ptr_start, pos_cursor - ptr_start);
|
||||
buf_pos = buf_pos + (pos_cursor - ptr_start);
|
||||
}
|
||||
/* add "move cursor here" identifier in string */
|
||||
snprintf (buf + buf_pos, length - buf_pos, "%s",
|
||||
str_cursor);
|
||||
/* add end of buffer */
|
||||
strcat (buf, pos_cursor);
|
||||
}
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -128,11 +268,12 @@ gui_bar_item_valid_char_name (char c)
|
||||
char *
|
||||
gui_bar_item_get_value (const char *name, struct t_gui_bar *bar,
|
||||
struct t_gui_window *window,
|
||||
int width, int height)
|
||||
int width, int height,
|
||||
int chars_available)
|
||||
{
|
||||
const char *ptr, *start, *end;
|
||||
char *prefix, *item_name, *suffix;
|
||||
char *item_value, delimiter_color[32], bar_color[32];
|
||||
char *item_value, *item_value2, delimiter_color[32], bar_color[32];
|
||||
char *result;
|
||||
int valid_char, length;
|
||||
struct t_gui_bar_item *ptr_item;
|
||||
@@ -180,30 +321,48 @@ gui_bar_item_get_value (const char *name, struct t_gui_bar *bar,
|
||||
ptr_item, window,
|
||||
width,
|
||||
height);
|
||||
if (!item_value || !item_value[0])
|
||||
if (window
|
||||
&& (strncmp (item_name,
|
||||
gui_bar_item_names[GUI_BAR_ITEM_INPUT_TEXT],
|
||||
strlen (gui_bar_item_names[GUI_BAR_ITEM_INPUT_TEXT])) == 0))
|
||||
{
|
||||
if (prefix)
|
||||
chars_available -= gui_chat_strlen_screen (prefix);
|
||||
|
||||
item_value2 = gui_bar_item_input_text_update_for_display (
|
||||
(item_value) ? item_value : "",
|
||||
window,
|
||||
chars_available);
|
||||
|
||||
if (item_value2)
|
||||
{
|
||||
free (prefix);
|
||||
prefix = NULL;
|
||||
}
|
||||
if (suffix)
|
||||
{
|
||||
free (suffix);
|
||||
suffix = NULL;
|
||||
if (item_value)
|
||||
free (item_value);
|
||||
item_value = item_value2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
item_value = strdup (item_name);
|
||||
if (!item_value || !item_value[0])
|
||||
{
|
||||
if (prefix)
|
||||
{
|
||||
free (prefix);
|
||||
prefix = NULL;
|
||||
}
|
||||
if (suffix)
|
||||
{
|
||||
free (suffix);
|
||||
suffix = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
length = 0;
|
||||
if (prefix)
|
||||
length += 64 + strlen (prefix) + 1; /* color + prefix + color */
|
||||
if (item_value && item_value[0])
|
||||
length += strlen (item_value) + 1;
|
||||
length += strlen (item_value) + 16 + 1; /* length + "move cursor" id */
|
||||
if (suffix)
|
||||
length += 32 + strlen (suffix) + 1; /* color + suffix */
|
||||
|
||||
@@ -218,12 +377,14 @@ gui_bar_item_get_value (const char *name, struct t_gui_bar *bar,
|
||||
if (prefix || suffix)
|
||||
{
|
||||
snprintf (delimiter_color, sizeof (delimiter_color),
|
||||
"%cF%02d",
|
||||
"%c%c%02d",
|
||||
GUI_COLOR_COLOR_CHAR,
|
||||
GUI_COLOR_FG_CHAR,
|
||||
CONFIG_COLOR(bar->color_delim));
|
||||
snprintf (bar_color, sizeof (bar_color),
|
||||
"%cF%02d",
|
||||
"%c%c%02d",
|
||||
GUI_COLOR_COLOR_CHAR,
|
||||
GUI_COLOR_FG_CHAR,
|
||||
CONFIG_COLOR(bar->color_fg));
|
||||
}
|
||||
snprintf (result, length,
|
||||
@@ -302,25 +463,15 @@ gui_bar_item_new (struct t_weechat_plugin *plugin, const char *name,
|
||||
int
|
||||
gui_bar_contains_item (struct t_gui_bar *bar, const char *name)
|
||||
{
|
||||
int i, length;
|
||||
char *ptr;
|
||||
int i;
|
||||
|
||||
if (!bar || !name || !name[0])
|
||||
return 0;
|
||||
|
||||
length = strlen (name);
|
||||
|
||||
for (i = 0; i < bar->items_count; i++)
|
||||
{
|
||||
/* skip non letters chars at beginning (prefix) */
|
||||
ptr = bar->items_array[i];
|
||||
while (ptr && ptr[0])
|
||||
{
|
||||
if (gui_bar_item_valid_char_name (ptr[0]))
|
||||
break;
|
||||
ptr++;
|
||||
}
|
||||
if (ptr && ptr[0] && (strncmp (ptr, name, length) == 0))
|
||||
if (gui_bar_item_string_is_item (bar->items_array[i], name))
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -339,8 +490,11 @@ gui_bar_item_update (const char *name)
|
||||
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
if (gui_bar_contains_item (ptr_bar, name))
|
||||
if (!CONFIG_BOOLEAN(ptr_bar->hidden)
|
||||
&& gui_bar_contains_item (ptr_bar, name))
|
||||
{
|
||||
gui_bar_draw (ptr_bar);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -402,6 +556,68 @@ gui_bar_item_free_all_plugin (struct t_weechat_plugin *plugin)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_item_default_input_prompt: default item for input prompt
|
||||
*/
|
||||
|
||||
char *
|
||||
gui_bar_item_default_input_prompt (void *data, struct t_gui_bar_item *item,
|
||||
struct t_gui_window *window,
|
||||
int max_width, int max_height)
|
||||
{
|
||||
char *buf;
|
||||
int length;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) item;
|
||||
(void) max_width;
|
||||
(void) max_height;
|
||||
|
||||
if (!window)
|
||||
window = gui_current_window;
|
||||
|
||||
if (!window->buffer->input_nick)
|
||||
return NULL;
|
||||
|
||||
length = strlen (window->buffer->input_nick);
|
||||
if (length == 0)
|
||||
return NULL;
|
||||
|
||||
length += 64 + 1;
|
||||
buf = malloc (length);
|
||||
if (buf)
|
||||
{
|
||||
snprintf (buf, length, "%s%s",
|
||||
gui_color_get_custom (gui_color_get_name (CONFIG_COLOR(config_color_input_nick))),
|
||||
window->buffer->input_nick);
|
||||
}
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_item_default_input_text: default item for input text
|
||||
*/
|
||||
|
||||
char *
|
||||
gui_bar_item_default_input_text (void *data, struct t_gui_bar_item *item,
|
||||
struct t_gui_window *window,
|
||||
int max_width, int max_height)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) item;
|
||||
(void) max_width;
|
||||
(void) max_height;
|
||||
|
||||
if (!window)
|
||||
window = gui_current_window;
|
||||
|
||||
return (window->buffer->input_buffer) ?
|
||||
strdup (window->buffer->input_buffer) : NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_item_default_time: default item for time
|
||||
*/
|
||||
@@ -501,10 +717,10 @@ gui_bar_item_default_buffer_name (void *data, struct t_gui_bar_item *item,
|
||||
snprintf (buf, sizeof (buf), "%s%d%s:%s%s%s/%s%s",
|
||||
gui_color_get_custom (gui_color_get_name (CONFIG_COLOR(config_color_status_number))),
|
||||
window->buffer->number,
|
||||
GUI_COLOR_BAR_DELIM,
|
||||
GUI_COLOR_CUSTOM_BAR_DELIM,
|
||||
gui_color_get_custom (gui_color_get_name (CONFIG_COLOR(config_color_status_category))),
|
||||
window->buffer->category,
|
||||
GUI_COLOR_BAR_DELIM,
|
||||
GUI_COLOR_CUSTOM_BAR_DELIM,
|
||||
gui_color_get_custom (gui_color_get_name (CONFIG_COLOR(config_color_status_name))),
|
||||
window->buffer->name);
|
||||
|
||||
@@ -664,9 +880,9 @@ gui_bar_item_default_hotlist (void *data, struct t_gui_bar_item *item,
|
||||
{
|
||||
names_count++;
|
||||
|
||||
strcat (buf, GUI_COLOR_BAR_DELIM);
|
||||
strcat (buf, GUI_COLOR_CUSTOM_BAR_DELIM);
|
||||
strcat (buf, ":");
|
||||
strcat (buf, GUI_COLOR_BAR_FG);
|
||||
strcat (buf, GUI_COLOR_CUSTOM_BAR_FG);
|
||||
if (CONFIG_INTEGER(config_look_hotlist_names_length) == 0)
|
||||
snprintf (format, sizeof (format) - 1, "%%s");
|
||||
else
|
||||
@@ -720,11 +936,11 @@ gui_bar_item_default_completion (void *data, struct t_gui_bar_item *item,
|
||||
for (ptr_item = gui_completion_partial_list; ptr_item;
|
||||
ptr_item = ptr_item->next_item)
|
||||
{
|
||||
strcat (buf, GUI_COLOR_BAR_FG);
|
||||
strcat (buf, GUI_COLOR_CUSTOM_BAR_FG);
|
||||
strcat (buf, ptr_item->word);
|
||||
if (ptr_item->count > 0)
|
||||
{
|
||||
strcat (buf, GUI_COLOR_BAR_DELIM);
|
||||
strcat (buf, GUI_COLOR_CUSTOM_BAR_DELIM);
|
||||
strcat (buf, "(");
|
||||
snprintf (number_str, sizeof (number_str),
|
||||
"%d", ptr_item->count);
|
||||
@@ -817,6 +1033,22 @@ gui_bar_item_hook (const char *signal, const char *item)
|
||||
void
|
||||
gui_bar_item_init ()
|
||||
{
|
||||
/* input prompt */
|
||||
gui_bar_item_new (NULL,
|
||||
gui_bar_item_names[GUI_BAR_ITEM_INPUT_PROMPT],
|
||||
&gui_bar_item_default_input_prompt, NULL);
|
||||
gui_bar_item_hook ("input_prompt_changed",
|
||||
gui_bar_item_names[GUI_BAR_ITEM_INPUT_PROMPT]);
|
||||
|
||||
/* input text */
|
||||
gui_bar_item_new (NULL,
|
||||
gui_bar_item_names[GUI_BAR_ITEM_INPUT_TEXT],
|
||||
&gui_bar_item_default_input_text, NULL);
|
||||
gui_bar_item_hook ("input_text_changed",
|
||||
gui_bar_item_names[GUI_BAR_ITEM_INPUT_TEXT]);
|
||||
gui_bar_item_hook ("input_text_cursor_moved",
|
||||
gui_bar_item_names[GUI_BAR_ITEM_INPUT_TEXT]);
|
||||
|
||||
/* time */
|
||||
gui_bar_item_new (NULL,
|
||||
gui_bar_item_names[GUI_BAR_ITEM_TIME],
|
||||
|
||||
@@ -22,7 +22,9 @@
|
||||
|
||||
enum t_gui_bar_item_weechat
|
||||
{
|
||||
GUI_BAR_ITEM_TIME = 0,
|
||||
GUI_BAR_ITEM_INPUT_PROMPT = 0,
|
||||
GUI_BAR_ITEM_INPUT_TEXT,
|
||||
GUI_BAR_ITEM_TIME,
|
||||
GUI_BAR_ITEM_BUFFER_COUNT,
|
||||
GUI_BAR_ITEM_BUFFER_PLUGIN,
|
||||
GUI_BAR_ITEM_BUFFER_NAME,
|
||||
@@ -61,6 +63,7 @@ struct t_gui_bar_item_hook
|
||||
|
||||
extern struct t_gui_bar_item *gui_bar_items;
|
||||
extern struct t_gui_bar_item *last_gui_bar_item;
|
||||
extern char *gui_bar_item_names[];
|
||||
|
||||
/* functions */
|
||||
|
||||
@@ -68,7 +71,8 @@ extern struct t_gui_bar_item *gui_bar_item_search (const char *name);
|
||||
extern char *gui_bar_item_get_value (const char *name,
|
||||
struct t_gui_bar *bar,
|
||||
struct t_gui_window *window,
|
||||
int width, int height);
|
||||
int width, int height,
|
||||
int chars_available);
|
||||
extern struct t_gui_bar_item *gui_bar_item_new (struct t_weechat_plugin *plugin,
|
||||
const char *name,
|
||||
char *(*build_callback)(void *data,
|
||||
|
||||
+127
-42
@@ -39,8 +39,8 @@
|
||||
|
||||
|
||||
char *gui_bar_option_string[GUI_BAR_NUM_OPTIONS] =
|
||||
{ "priority", "type", "conditions", "position", "filling", "size", "size_max",
|
||||
"color_fg", "color_delim", "color_bg", "separator", "items" };
|
||||
{ "hidden", "priority", "type", "conditions", "position", "filling", "size",
|
||||
"size_max", "color_fg", "color_delim", "color_bg", "separator", "items" };
|
||||
char *gui_bar_type_string[GUI_BAR_NUM_TYPES] =
|
||||
{ "root", "window" };
|
||||
char *gui_bar_position_string[GUI_BAR_NUM_POSITIONS] =
|
||||
@@ -230,13 +230,16 @@ gui_bar_root_get_size (struct t_gui_bar *bar, enum t_gui_bar_position position)
|
||||
{
|
||||
if (bar && (ptr_bar == bar))
|
||||
return total_size;
|
||||
|
||||
if ((CONFIG_INTEGER(ptr_bar->type) == GUI_BAR_TYPE_ROOT)
|
||||
&& (CONFIG_INTEGER(ptr_bar->position) == (int)position))
|
||||
|
||||
if (!CONFIG_BOOLEAN(ptr_bar->hidden))
|
||||
{
|
||||
total_size += gui_bar_window_get_current_size (ptr_bar->bar_window);
|
||||
if (CONFIG_INTEGER(ptr_bar->separator))
|
||||
total_size++;
|
||||
if ((CONFIG_INTEGER(ptr_bar->type) == GUI_BAR_TYPE_ROOT)
|
||||
&& (CONFIG_INTEGER(ptr_bar->position) == (int)position))
|
||||
{
|
||||
total_size += gui_bar_window_get_current_size (ptr_bar->bar_window);
|
||||
if (CONFIG_INTEGER(ptr_bar->separator))
|
||||
total_size++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return total_size;
|
||||
@@ -336,6 +339,44 @@ gui_bar_config_check_type (void *data, struct t_config_option *option,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_config_change_hidden: callback when "hidden" flag is changed
|
||||
*/
|
||||
|
||||
void
|
||||
gui_bar_config_change_hidden (void *data, struct t_config_option *option)
|
||||
{
|
||||
struct t_gui_bar *ptr_bar;
|
||||
struct t_gui_window *ptr_win;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
ptr_bar = gui_bar_search_with_option_name (option->name);
|
||||
if (ptr_bar)
|
||||
{
|
||||
/* free bar windows */
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
gui_bar_free_bar_windows (ptr_bar);
|
||||
}
|
||||
|
||||
for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
|
||||
{
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
if (!CONFIG_BOOLEAN(ptr_bar->hidden)
|
||||
&& (CONFIG_INTEGER(ptr_bar->type) != GUI_BAR_TYPE_ROOT))
|
||||
{
|
||||
gui_bar_window_new (ptr_bar, ptr_win);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
gui_window_refresh_needed = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_config_change_priority: callback when priority is changed
|
||||
*/
|
||||
@@ -380,8 +421,11 @@ gui_bar_config_change_priority (void *data, struct t_config_option *option)
|
||||
{
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
if (CONFIG_INTEGER(ptr_bar->type) != GUI_BAR_TYPE_ROOT)
|
||||
if (!CONFIG_BOOLEAN(ptr_bar->hidden)
|
||||
&& (CONFIG_INTEGER(ptr_bar->type) != GUI_BAR_TYPE_ROOT))
|
||||
{
|
||||
gui_bar_window_new (ptr_bar, ptr_win);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -436,7 +480,7 @@ gui_bar_config_change_position (void *data, struct t_config_option *option)
|
||||
(void) data;
|
||||
|
||||
ptr_bar = gui_bar_search_with_option_name (option->name);
|
||||
if (ptr_bar)
|
||||
if (ptr_bar && !CONFIG_BOOLEAN(ptr_bar->hidden))
|
||||
gui_bar_refresh (ptr_bar);
|
||||
|
||||
gui_window_refresh_needed = 1;
|
||||
@@ -455,7 +499,7 @@ gui_bar_config_change_filling (void *data, struct t_config_option *option)
|
||||
(void) data;
|
||||
|
||||
ptr_bar = gui_bar_search_with_option_name (option->name);
|
||||
if (ptr_bar)
|
||||
if (ptr_bar && !CONFIG_BOOLEAN(ptr_bar->hidden))
|
||||
gui_bar_refresh (ptr_bar);
|
||||
|
||||
gui_window_refresh_needed = 1;
|
||||
@@ -515,8 +559,9 @@ gui_bar_config_check_size (void *data, struct t_config_option *option,
|
||||
((CONFIG_INTEGER(ptr_bar->size) == 0)
|
||||
|| (new_value > CONFIG_INTEGER(ptr_bar->size))))
|
||||
{
|
||||
if (!gui_bar_check_size_add (ptr_bar,
|
||||
new_value - CONFIG_INTEGER(ptr_bar->size)))
|
||||
if (!CONFIG_BOOLEAN(ptr_bar->hidden)
|
||||
&& !gui_bar_check_size_add (ptr_bar,
|
||||
new_value - CONFIG_INTEGER(ptr_bar->size)))
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -574,7 +619,7 @@ gui_bar_config_change_color (void *data, struct t_config_option *option)
|
||||
(void) data;
|
||||
|
||||
ptr_bar = gui_bar_search_with_option_name (option->name);
|
||||
if (ptr_bar)
|
||||
if (ptr_bar && !CONFIG_BOOLEAN(ptr_bar->hidden))
|
||||
gui_bar_refresh (ptr_bar);
|
||||
}
|
||||
|
||||
@@ -591,7 +636,7 @@ gui_bar_config_change_separator (void *data, struct t_config_option *option)
|
||||
(void) data;
|
||||
|
||||
ptr_bar = gui_bar_search_with_option_name (option->name);
|
||||
if (ptr_bar)
|
||||
if (ptr_bar && !CONFIG_BOOLEAN(ptr_bar->hidden))
|
||||
gui_bar_refresh (ptr_bar);
|
||||
}
|
||||
|
||||
@@ -624,8 +669,9 @@ gui_bar_config_change_items (void *data, struct t_config_option *option)
|
||||
ptr_bar->items_count = 0;
|
||||
ptr_bar->items_array = NULL;
|
||||
}
|
||||
|
||||
gui_bar_draw (ptr_bar);
|
||||
|
||||
if (!CONFIG_BOOLEAN(ptr_bar->hidden))
|
||||
gui_bar_draw (ptr_bar);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -646,6 +692,8 @@ gui_bar_set_name (struct t_gui_bar *bar, const char *name)
|
||||
option_name = malloc (length);
|
||||
if (option_name)
|
||||
{
|
||||
snprintf (option_name, length, "%s.hidden", name);
|
||||
config_file_option_rename (bar->hidden, option_name);
|
||||
snprintf (option_name, length, "%s.priority", name);
|
||||
config_file_option_rename (bar->priority, option_name);
|
||||
snprintf (option_name, length, "%s.type", name);
|
||||
@@ -811,16 +859,19 @@ gui_bar_set (struct t_gui_bar *bar, const char *property, const char *value)
|
||||
gui_bar_set_name (bar, value);
|
||||
return 1;
|
||||
}
|
||||
else if (string_strcasecmp (property, "hidden") == 0)
|
||||
{
|
||||
config_file_option_set (bar->hidden, value, 1);
|
||||
return 1;
|
||||
}
|
||||
else if (string_strcasecmp (property, "priority") == 0)
|
||||
{
|
||||
gui_bar_set_priority (bar, value);
|
||||
gui_window_refresh_needed = 1;
|
||||
return 1;
|
||||
}
|
||||
else if (string_strcasecmp (property, "conditions") == 0)
|
||||
{
|
||||
config_file_option_set (bar->conditions, value, 1);
|
||||
gui_window_refresh_needed = 1;
|
||||
return 1;
|
||||
}
|
||||
else if (string_strcasecmp (property, "position") == 0)
|
||||
@@ -904,6 +955,14 @@ gui_bar_create_option (const char *bar_name, int index_option, const char *value
|
||||
|
||||
switch (index_option)
|
||||
{
|
||||
case GUI_BAR_OPTION_HIDDEN:
|
||||
ptr_option = config_file_new_option (
|
||||
weechat_config_file, weechat_config_section_bar,
|
||||
option_name, "boolean",
|
||||
N_("true if bar is hidden, false if it is displayed"),
|
||||
NULL, 0, 0, value,
|
||||
NULL, NULL, &gui_bar_config_change_hidden, NULL, NULL, NULL);
|
||||
break;
|
||||
case GUI_BAR_OPTION_PRIORITY:
|
||||
ptr_option = config_file_new_option (
|
||||
weechat_config_file, weechat_config_section_bar,
|
||||
@@ -1038,6 +1097,9 @@ gui_bar_create_option_temp (struct t_gui_bar *temp_bar, int index_option,
|
||||
{
|
||||
switch (index_option)
|
||||
{
|
||||
case GUI_BAR_OPTION_HIDDEN:
|
||||
temp_bar->hidden = new_option;
|
||||
break;
|
||||
case GUI_BAR_OPTION_PRIORITY:
|
||||
temp_bar->priority = new_option;
|
||||
break;
|
||||
@@ -1092,7 +1154,8 @@ gui_bar_alloc (const char *name)
|
||||
{
|
||||
new_bar->plugin = NULL;
|
||||
new_bar->name = strdup (name);
|
||||
new_bar->priority = 0;
|
||||
new_bar->hidden = NULL;
|
||||
new_bar->priority = NULL;
|
||||
new_bar->type = NULL;
|
||||
new_bar->conditions = NULL;
|
||||
new_bar->position = NULL;
|
||||
@@ -1122,6 +1185,7 @@ gui_bar_alloc (const char *name)
|
||||
|
||||
struct t_gui_bar *
|
||||
gui_bar_new_with_options (struct t_weechat_plugin *plugin, const char *name,
|
||||
struct t_config_option *hidden,
|
||||
struct t_config_option *priority,
|
||||
struct t_config_option *type,
|
||||
struct t_config_option *conditions,
|
||||
@@ -1143,6 +1207,7 @@ gui_bar_new_with_options (struct t_weechat_plugin *plugin, const char *name,
|
||||
if (new_bar)
|
||||
{
|
||||
new_bar->plugin = plugin;
|
||||
new_bar->hidden = hidden;
|
||||
new_bar->priority = priority;
|
||||
new_bar->type = type;
|
||||
new_bar->conditions = conditions;
|
||||
@@ -1209,14 +1274,15 @@ gui_bar_new_with_options (struct t_weechat_plugin *plugin, const char *name,
|
||||
|
||||
struct t_gui_bar *
|
||||
gui_bar_new (struct t_weechat_plugin *plugin, const char *name,
|
||||
const char *priority, const char *type, const char *conditions,
|
||||
const char *position, const char *filling, const char *size,
|
||||
const char *size_max, const char *color_fg,
|
||||
const char *color_delim, const char *color_bg,
|
||||
const char *separators, const char *items)
|
||||
const char *hidden, const char *priority, const char *type,
|
||||
const char *conditions, const char *position,
|
||||
const char *filling, const char *size, const char *size_max,
|
||||
const char *color_fg, const char *color_delim,
|
||||
const char *color_bg, const char *separators, const char *items)
|
||||
{
|
||||
struct t_config_option *option_priority, *option_type, *option_conditions;
|
||||
struct t_config_option *option_position, *option_filling, *option_size;
|
||||
struct t_config_option *option_hidden, *option_priority, *option_type;
|
||||
struct t_config_option *option_conditions, *option_position;
|
||||
struct t_config_option *option_filling, *option_size;
|
||||
struct t_config_option *option_size_max, *option_color_fg;
|
||||
struct t_config_option *option_color_delim, *option_color_bg;
|
||||
struct t_config_option *option_separator, *option_items;
|
||||
@@ -1237,6 +1303,8 @@ gui_bar_new (struct t_weechat_plugin *plugin, const char *name,
|
||||
if (gui_bar_search_position (position) < 0)
|
||||
return NULL;
|
||||
|
||||
option_hidden = gui_bar_create_option (name, GUI_BAR_OPTION_HIDDEN,
|
||||
hidden);
|
||||
option_priority = gui_bar_create_option (name, GUI_BAR_OPTION_PRIORITY,
|
||||
priority);
|
||||
option_type = gui_bar_create_option (name, GUI_BAR_OPTION_TYPE,
|
||||
@@ -1262,15 +1330,17 @@ gui_bar_new (struct t_weechat_plugin *plugin, const char *name,
|
||||
"on" : "off");
|
||||
option_items = gui_bar_create_option (name, GUI_BAR_OPTION_ITEMS,
|
||||
items);
|
||||
new_bar = gui_bar_new_with_options (plugin, name, option_priority,
|
||||
option_type,option_conditions,
|
||||
option_position, option_filling,
|
||||
option_size, option_size_max,
|
||||
option_color_fg, option_color_delim,
|
||||
option_color_bg, option_separator,
|
||||
option_items);
|
||||
new_bar = gui_bar_new_with_options (plugin, name, option_hidden,
|
||||
option_priority, option_type,
|
||||
option_conditions, option_position,
|
||||
option_filling, option_size,
|
||||
option_size_max, option_color_fg,
|
||||
option_color_delim, option_color_bg,
|
||||
option_separator, option_items);
|
||||
if (!new_bar)
|
||||
{
|
||||
if (option_hidden)
|
||||
config_file_option_free (option_hidden);
|
||||
if (option_priority)
|
||||
config_file_option_free (option_priority);
|
||||
if (option_type)
|
||||
@@ -1312,6 +1382,10 @@ gui_bar_use_temp_bars ()
|
||||
for (ptr_temp_bar = gui_temp_bars; ptr_temp_bar;
|
||||
ptr_temp_bar = ptr_temp_bar->next_bar)
|
||||
{
|
||||
if (!ptr_temp_bar->hidden)
|
||||
ptr_temp_bar->hidden = gui_bar_create_option (ptr_temp_bar->name,
|
||||
GUI_BAR_OPTION_HIDDEN,
|
||||
"0");
|
||||
if (!ptr_temp_bar->priority)
|
||||
ptr_temp_bar->priority = gui_bar_create_option (ptr_temp_bar->name,
|
||||
GUI_BAR_OPTION_PRIORITY,
|
||||
@@ -1373,14 +1447,17 @@ gui_bar_use_temp_bars ()
|
||||
GUI_BAR_OPTION_ITEMS,
|
||||
"");
|
||||
|
||||
if (ptr_temp_bar->priority && ptr_temp_bar->type
|
||||
&& ptr_temp_bar->conditions && ptr_temp_bar->position
|
||||
&& ptr_temp_bar->filling && ptr_temp_bar->size
|
||||
&& ptr_temp_bar->size_max && ptr_temp_bar->color_fg
|
||||
&& ptr_temp_bar->color_delim && ptr_temp_bar->color_bg
|
||||
&& ptr_temp_bar->separator && ptr_temp_bar->items)
|
||||
if (ptr_temp_bar->hidden && ptr_temp_bar->priority
|
||||
&& ptr_temp_bar->type && ptr_temp_bar->conditions
|
||||
&& ptr_temp_bar->position && ptr_temp_bar->filling
|
||||
&& ptr_temp_bar->size && ptr_temp_bar->size_max
|
||||
&& ptr_temp_bar->color_fg && ptr_temp_bar->color_delim
|
||||
&& ptr_temp_bar->color_bg && ptr_temp_bar->separator
|
||||
&& ptr_temp_bar->items)
|
||||
{
|
||||
gui_bar_new_with_options (NULL, ptr_temp_bar->name,
|
||||
gui_bar_new_with_options (NULL,
|
||||
ptr_temp_bar->name,
|
||||
ptr_temp_bar->hidden,
|
||||
ptr_temp_bar->priority,
|
||||
ptr_temp_bar->type,
|
||||
ptr_temp_bar->conditions,
|
||||
@@ -1396,6 +1473,11 @@ gui_bar_use_temp_bars ()
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ptr_temp_bar->hidden)
|
||||
{
|
||||
config_file_option_free (ptr_temp_bar->hidden);
|
||||
ptr_temp_bar->hidden = NULL;
|
||||
}
|
||||
if (ptr_temp_bar->priority)
|
||||
{
|
||||
config_file_option_free (ptr_temp_bar->priority);
|
||||
@@ -1484,7 +1566,7 @@ gui_bar_update (const char *name)
|
||||
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
if (strcmp (ptr_bar->name, name) == 0)
|
||||
if (!CONFIG_BOOLEAN(ptr_bar->hidden) && (strcmp (ptr_bar->name, name) == 0))
|
||||
gui_bar_draw (ptr_bar);
|
||||
}
|
||||
}
|
||||
@@ -1518,6 +1600,8 @@ gui_bar_free (struct t_gui_bar *bar)
|
||||
/* free data */
|
||||
if (bar->name)
|
||||
free (bar->name);
|
||||
if (bar->hidden)
|
||||
config_file_option_free (bar->hidden);
|
||||
if (bar->priority)
|
||||
config_file_option_free (bar->priority);
|
||||
if (bar->type)
|
||||
@@ -1599,6 +1683,7 @@ gui_bar_print_log ()
|
||||
log_printf ("[bar (addr:0x%x)]", ptr_bar);
|
||||
log_printf (" plugin . . . . . . . . : 0x%x", ptr_bar->plugin);
|
||||
log_printf (" name . . . . . . . . . : '%s'", ptr_bar->name);
|
||||
log_printf (" hidden . . . . . . . . : %d", CONFIG_INTEGER(ptr_bar->hidden));
|
||||
log_printf (" priority . . . . . . . : %d", CONFIG_INTEGER(ptr_bar->priority));
|
||||
log_printf (" type . . . . . . . . . : %d (%s)",
|
||||
CONFIG_INTEGER(ptr_bar->type),
|
||||
|
||||
+6
-3
@@ -25,7 +25,8 @@ struct t_gui_window;
|
||||
|
||||
enum t_gui_bar_option
|
||||
{
|
||||
GUI_BAR_OPTION_PRIORITY = 0,
|
||||
GUI_BAR_OPTION_HIDDEN = 0,
|
||||
GUI_BAR_OPTION_PRIORITY,
|
||||
GUI_BAR_OPTION_TYPE,
|
||||
GUI_BAR_OPTION_CONDITIONS,
|
||||
GUI_BAR_OPTION_POSITION,
|
||||
@@ -72,6 +73,7 @@ struct t_gui_bar
|
||||
/* user choices */
|
||||
struct t_weechat_plugin *plugin; /* plugin */
|
||||
char *name; /* bar name */
|
||||
struct t_config_option *hidden; /* true if bar is hidden */
|
||||
struct t_config_option *priority; /* bar priority */
|
||||
struct t_config_option *type; /* type (root or window) */
|
||||
struct t_config_option *conditions; /* conditions for display */
|
||||
@@ -121,8 +123,9 @@ extern void gui_bar_create_option_temp (struct t_gui_bar *temp_bar,
|
||||
int index_option, const char *value);
|
||||
extern struct t_gui_bar *gui_bar_alloc (const char *name);
|
||||
extern struct t_gui_bar *gui_bar_new (struct t_weechat_plugin *plugin,
|
||||
const char *name, const char *priority,
|
||||
const char *type, const char *conditions,
|
||||
const char *name, const char *hidden,
|
||||
const char *priority, const char *type,
|
||||
const char *conditions,
|
||||
const char *position,
|
||||
const char *filling, const char *size,
|
||||
const char *size_max,
|
||||
|
||||
@@ -600,6 +600,7 @@ gui_buffer_set (struct t_gui_buffer *buffer, const char *property,
|
||||
{
|
||||
gui_input_delete_line (buffer);
|
||||
gui_input_insert_string (buffer, value, 0);
|
||||
gui_input_text_changed_signal ();
|
||||
gui_buffer_ask_input_refresh (buffer, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,6 +136,28 @@ gui_chat_strlen_screen (const char *string)
|
||||
return length;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_chat_string_add_offset: move forward N chars in a string, skipping all
|
||||
* formatting chars (like colors,..)
|
||||
*/
|
||||
|
||||
char *
|
||||
gui_chat_string_add_offset (const char *string, int offset)
|
||||
{
|
||||
while (string && string[0] && (offset > 0))
|
||||
{
|
||||
string = gui_chat_string_next_char (NULL,
|
||||
(unsigned char *)string,
|
||||
0);
|
||||
if (string)
|
||||
{
|
||||
string = utf8_next_char (string);
|
||||
offset--;
|
||||
}
|
||||
}
|
||||
return (char *)string;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_chat_string_real_pos: get real position in string
|
||||
* (ignoring color/bold/.. chars)
|
||||
|
||||
@@ -51,6 +51,7 @@ extern int gui_chat_time_length;
|
||||
extern void gui_chat_prefix_build_empty ();
|
||||
extern void gui_chat_prefix_build ();
|
||||
extern int gui_chat_strlen_screen (const char *string);
|
||||
extern char *gui_chat_string_add_offset (const char *string, int offset);
|
||||
extern int gui_chat_string_real_pos (const char *string, int pos);
|
||||
extern void gui_chat_get_word_info (struct t_gui_window *window,
|
||||
const char *data, int *word_start_offset,
|
||||
|
||||
+18
-12
@@ -125,47 +125,53 @@ gui_color_get_custom (const char *color_name)
|
||||
{
|
||||
snprintf (color[index_color], sizeof (color[index_color]),
|
||||
"%s%s",
|
||||
GUI_COLOR_SET_STR,
|
||||
GUI_COLOR_SET_WEECHAT_STR,
|
||||
GUI_COLOR_ATTR_BOLD_STR);
|
||||
}
|
||||
else if (string_strcasecmp (color_name, "reverse") == 0)
|
||||
{
|
||||
snprintf (color[index_color], sizeof (color[index_color]),
|
||||
"%s%s",
|
||||
GUI_COLOR_SET_STR,
|
||||
GUI_COLOR_SET_WEECHAT_STR,
|
||||
GUI_COLOR_ATTR_REVERSE_STR);
|
||||
}
|
||||
else if (string_strcasecmp (color_name, "italic") == 0)
|
||||
{
|
||||
snprintf (color[index_color], sizeof (color[index_color]),
|
||||
"%s%s",
|
||||
GUI_COLOR_SET_STR,
|
||||
GUI_COLOR_SET_WEECHAT_STR,
|
||||
GUI_COLOR_ATTR_ITALIC_STR);
|
||||
}
|
||||
else if (string_strcasecmp (color_name, "underline") == 0)
|
||||
{
|
||||
snprintf (color[index_color], sizeof (color[index_color]),
|
||||
"%s%s",
|
||||
GUI_COLOR_SET_STR,
|
||||
GUI_COLOR_SET_WEECHAT_STR,
|
||||
GUI_COLOR_ATTR_UNDERLINE_STR);
|
||||
}
|
||||
else if (string_strcasecmp (color_name, "bar_fg") == 0)
|
||||
{
|
||||
snprintf (color[index_color], sizeof (color[index_color]),
|
||||
"%cbf",
|
||||
GUI_COLOR_COLOR_CHAR);
|
||||
"%c%c%c",
|
||||
GUI_COLOR_COLOR_CHAR,
|
||||
GUI_COLOR_BAR_CHAR,
|
||||
GUI_COLOR_BAR_FG_CHAR);
|
||||
}
|
||||
else if (string_strcasecmp (color_name, "bar_delim") == 0)
|
||||
{
|
||||
snprintf (color[index_color], sizeof (color[index_color]),
|
||||
"%cbd",
|
||||
GUI_COLOR_COLOR_CHAR);
|
||||
"%c%c%c",
|
||||
GUI_COLOR_COLOR_CHAR,
|
||||
GUI_COLOR_BAR_CHAR,
|
||||
GUI_COLOR_BAR_DELIM_CHAR);
|
||||
}
|
||||
else if (string_strcasecmp (color_name, "bar_bg") == 0)
|
||||
{
|
||||
snprintf (color[index_color], sizeof (color[index_color]),
|
||||
"%cbb",
|
||||
GUI_COLOR_COLOR_CHAR);
|
||||
"%c%c%c",
|
||||
GUI_COLOR_COLOR_CHAR,
|
||||
GUI_COLOR_BAR_CHAR,
|
||||
GUI_COLOR_BAR_BG_CHAR);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -256,8 +262,8 @@ gui_color_decode (const unsigned char *string)
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case GUI_COLOR_SET_CHAR:
|
||||
case GUI_COLOR_REMOVE_CHAR:
|
||||
case GUI_COLOR_SET_WEECHAT_CHAR:
|
||||
case GUI_COLOR_REMOVE_WEECHAT_CHAR:
|
||||
string++;
|
||||
if (string[0])
|
||||
string++;
|
||||
|
||||
+36
-19
@@ -96,30 +96,47 @@ enum t_gui_color_enum
|
||||
|
||||
/* WeeChat internal color attributes (should never be in protocol messages) */
|
||||
|
||||
#define GUI_COLOR_COLOR_CHAR '\x19'
|
||||
#define GUI_COLOR_COLOR_STR "\x19"
|
||||
#define GUI_COLOR_SET_CHAR '\x1A'
|
||||
#define GUI_COLOR_SET_STR "\x1A"
|
||||
#define GUI_COLOR_REMOVE_CHAR '\x1B'
|
||||
#define GUI_COLOR_REMOVE_STR "\x1B"
|
||||
#define GUI_COLOR_RESET_CHAR '\x1C'
|
||||
#define GUI_COLOR_RESET_STR "\x1C"
|
||||
#define GUI_COLOR_COLOR_CHAR '\x19'
|
||||
#define GUI_COLOR_COLOR_STR "\x19"
|
||||
#define GUI_COLOR_SET_WEECHAT_CHAR '\x1A'
|
||||
#define GUI_COLOR_SET_WEECHAT_STR "\x1A"
|
||||
#define GUI_COLOR_REMOVE_WEECHAT_CHAR '\x1B'
|
||||
#define GUI_COLOR_REMOVE_WEECHAT_STR "\x1B"
|
||||
#define GUI_COLOR_RESET_CHAR '\x1C'
|
||||
#define GUI_COLOR_RESET_STR "\x1C"
|
||||
|
||||
#define GUI_COLOR_ATTR_BOLD_CHAR '\x01'
|
||||
#define GUI_COLOR_ATTR_BOLD_STR "\x01"
|
||||
#define GUI_COLOR_ATTR_REVERSE_CHAR '\x02'
|
||||
#define GUI_COLOR_ATTR_REVERSE_STR "\x02"
|
||||
#define GUI_COLOR_ATTR_ITALIC_CHAR '\x03'
|
||||
#define GUI_COLOR_ATTR_ITALIC_STR "\x03"
|
||||
#define GUI_COLOR_ATTR_UNDERLINE_CHAR '\x04'
|
||||
#define GUI_COLOR_ATTR_UNDERLINE_STR "\x04"
|
||||
#define GUI_COLOR_ATTR_BOLD_CHAR '\x01'
|
||||
#define GUI_COLOR_ATTR_BOLD_STR "\x01"
|
||||
#define GUI_COLOR_ATTR_REVERSE_CHAR '\x02'
|
||||
#define GUI_COLOR_ATTR_REVERSE_STR "\x02"
|
||||
#define GUI_COLOR_ATTR_ITALIC_CHAR '\x03'
|
||||
#define GUI_COLOR_ATTR_ITALIC_STR "\x03"
|
||||
#define GUI_COLOR_ATTR_UNDERLINE_CHAR '\x04'
|
||||
#define GUI_COLOR_ATTR_UNDERLINE_STR "\x04"
|
||||
|
||||
#define GUI_COLOR(color) ((gui_color[color]) ? gui_color[color]->string : "")
|
||||
#define GUI_NO_COLOR GUI_COLOR_RESET_STR
|
||||
|
||||
#define GUI_COLOR_BAR_FG (gui_color_get_custom ("bar_fg"))
|
||||
#define GUI_COLOR_BAR_DELIM (gui_color_get_custom ("bar_delim"))
|
||||
#define GUI_COLOR_BAR_BG (gui_color_get_custom ("bar_bg"))
|
||||
#define GUI_COLOR_CUSTOM_BAR_FG (gui_color_get_custom ("bar_fg"))
|
||||
#define GUI_COLOR_CUSTOM_BAR_DELIM (gui_color_get_custom ("bar_delim"))
|
||||
#define GUI_COLOR_CUSTOM_BAR_BG (gui_color_get_custom ("bar_bg"))
|
||||
|
||||
#define GUI_COLOR_FG_CHAR 'F'
|
||||
#define GUI_COLOR_FG_STR "F"
|
||||
#define GUI_COLOR_BG_CHAR 'B'
|
||||
#define GUI_COLOR_BG_STR "B"
|
||||
#define GUI_COLOR_FG_BG_CHAR '*'
|
||||
#define GUI_COLOR_FG_BG_STR "*"
|
||||
#define GUI_COLOR_BAR_CHAR 'b'
|
||||
#define GUI_COLOR_BAR_STR "b"
|
||||
#define GUI_COLOR_BAR_FG_CHAR 'F'
|
||||
#define GUI_COLOR_BAR_FG_STR "F"
|
||||
#define GUI_COLOR_BAR_DELIM_CHAR 'D'
|
||||
#define GUI_COLOR_BAR_DELIM_STR "D"
|
||||
#define GUI_COLOR_BAR_BG_CHAR 'B'
|
||||
#define GUI_COLOR_BAR_BG_STR "B"
|
||||
#define GUI_COLOR_BAR_MOVE_CURSOR_CHAR '#'
|
||||
#define GUI_COLOR_BAR_MOVE_CURSOR_STR "#"
|
||||
|
||||
/* color structure */
|
||||
|
||||
|
||||
+85
-24
@@ -28,6 +28,7 @@
|
||||
|
||||
#include "../core/weechat.h"
|
||||
#include "../core/wee-config.h"
|
||||
#include "../core/wee-hook.h"
|
||||
#include "../core/wee-input.h"
|
||||
#include "../core/wee-string.h"
|
||||
#include "../core/wee-utf8.h"
|
||||
@@ -46,6 +47,36 @@
|
||||
char *gui_input_clipboard = NULL; /* clipboard content */
|
||||
|
||||
|
||||
/*
|
||||
* gui_input_prompt_changed_signal: send signal "input_prompt_changed"
|
||||
*/
|
||||
|
||||
void
|
||||
gui_input_prompt_changed_signal ()
|
||||
{
|
||||
hook_signal_send ("input_prompr_changed", WEECHAT_HOOK_SIGNAL_STRING, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_input_text_changed_signal: send signal "input_text_changed"
|
||||
*/
|
||||
|
||||
void
|
||||
gui_input_text_changed_signal ()
|
||||
{
|
||||
hook_signal_send ("input_text_changed", WEECHAT_HOOK_SIGNAL_STRING, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_input_text_cursor_moved_signal: send signal "input_text_cursor_moved"
|
||||
*/
|
||||
|
||||
void
|
||||
gui_input_text_cursor_moved_signal ()
|
||||
{
|
||||
hook_signal_send ("input_text_cursor_moved", WEECHAT_HOOK_SIGNAL_STRING, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_input_optimize_size: optimize input buffer size by adding
|
||||
* or deleting data block (predefined size)
|
||||
@@ -285,7 +316,9 @@ gui_input_clipboard_paste ()
|
||||
gui_input_insert_string (gui_current_window->buffer,
|
||||
gui_input_clipboard, -1);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -321,7 +354,8 @@ gui_input_return ()
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_current_window->buffer->ptr_history = NULL;
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
input_data (gui_current_window->buffer, command);
|
||||
free (command);
|
||||
}
|
||||
@@ -440,7 +474,8 @@ gui_input_complete (struct t_gui_buffer *buffer)
|
||||
buffer->completion->position++;
|
||||
}
|
||||
}
|
||||
gui_input_draw (buffer, 0);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -461,6 +496,7 @@ gui_input_complete_next ()
|
||||
utf8_real_pos (gui_current_window->buffer->input_buffer,
|
||||
gui_current_window->buffer->input_buffer_pos));
|
||||
gui_input_complete (gui_current_window->buffer);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -481,6 +517,7 @@ gui_input_complete_previous ()
|
||||
utf8_real_pos (gui_current_window->buffer->input_buffer,
|
||||
gui_current_window->buffer->input_buffer_pos));
|
||||
gui_input_complete (gui_current_window->buffer);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -500,7 +537,7 @@ gui_input_search_text ()
|
||||
{
|
||||
gui_current_window->buffer->text_search_exact ^= 1;
|
||||
gui_window_search_restart (gui_current_window);
|
||||
gui_input_draw (gui_current_window->buffer, 1);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -532,8 +569,9 @@ gui_input_delete_previous_char ()
|
||||
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -564,8 +602,9 @@ gui_input_delete_next_char ()
|
||||
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -624,8 +663,9 @@ gui_input_delete_previous_word ()
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_pos -= length_deleted;
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -664,8 +704,9 @@ gui_input_delete_next_word ()
|
||||
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -701,8 +742,9 @@ gui_input_delete_beginning_of_line ()
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_pos = 0;
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -734,8 +776,9 @@ gui_input_delete_end_of_line (const char *args)
|
||||
gui_current_window->buffer->input_buffer_size = strlen (gui_current_window->buffer->input_buffer);
|
||||
gui_current_window->buffer->input_buffer_length = utf8_strlen (gui_current_window->buffer->input_buffer);
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -755,7 +798,8 @@ gui_input_delete_line ()
|
||||
gui_current_window->buffer->input_buffer_pos = 0;
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -800,8 +844,10 @@ gui_input_transpose_chars ()
|
||||
|
||||
gui_current_window->buffer->input_buffer_pos++;
|
||||
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -818,7 +864,9 @@ gui_input_move_beginning_of_line ()
|
||||
if (gui_current_window->buffer->input_buffer_pos > 0)
|
||||
{
|
||||
gui_current_window->buffer->input_buffer_pos = 0;
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_cursor_moved_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -837,7 +885,9 @@ gui_input_move_end_of_line ()
|
||||
{
|
||||
gui_current_window->buffer->input_buffer_pos =
|
||||
gui_current_window->buffer->input_buffer_length;
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_cursor_moved_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -854,7 +904,9 @@ gui_input_move_previous_char ()
|
||||
if (gui_current_window->buffer->input_buffer_pos > 0)
|
||||
{
|
||||
gui_current_window->buffer->input_buffer_pos--;
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_cursor_moved_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -872,7 +924,9 @@ gui_input_move_next_char ()
|
||||
gui_current_window->buffer->input_buffer_length)
|
||||
{
|
||||
gui_current_window->buffer->input_buffer_pos++;
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_cursor_moved_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -913,7 +967,8 @@ gui_input_move_previous_word ()
|
||||
else
|
||||
gui_current_window->buffer->input_buffer_pos = 0;
|
||||
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_cursor_moved_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -958,7 +1013,8 @@ gui_input_move_next_word ()
|
||||
utf8_pos (gui_current_window->buffer->input_buffer,
|
||||
utf8_prev_char (gui_current_window->buffer->input_buffer, pos) - gui_current_window->buffer->input_buffer);
|
||||
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_cursor_moved_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1020,8 +1076,9 @@ gui_input_history_previous ()
|
||||
strcpy (gui_current_window->buffer->input_buffer,
|
||||
gui_current_window->buffer->ptr_history->text);
|
||||
gui_input_init_color_mask (gui_current_window->buffer);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
}
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1069,7 +1126,7 @@ gui_input_history_next ()
|
||||
gui_current_window->buffer->ptr_history->text);
|
||||
gui_input_init_color_mask (gui_current_window->buffer);
|
||||
}
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1085,9 +1142,10 @@ gui_input_history_next ()
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_current_window->buffer->input_buffer_pos = 0;
|
||||
gui_current_window->buffer->input_buffer_1st_display = 0;
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
}
|
||||
}
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1130,7 +1188,8 @@ gui_input_history_global_previous ()
|
||||
strcpy (gui_current_window->buffer->input_buffer,
|
||||
history_global_ptr->text);
|
||||
gui_input_init_color_mask (gui_current_window->buffer);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1171,7 +1230,8 @@ gui_input_history_global_next ()
|
||||
history_global_ptr->text);
|
||||
gui_input_init_color_mask (gui_current_window->buffer);
|
||||
}
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1346,7 +1406,8 @@ gui_input_insert (const char *args)
|
||||
{
|
||||
args2 = string_convert_hex_chars (args);
|
||||
gui_input_insert_string (gui_current_window->buffer, (args2) ? args2 : args, -1);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
if (args2)
|
||||
free (args2);
|
||||
}
|
||||
|
||||
@@ -28,6 +28,8 @@ extern char *gui_input_clipboard;
|
||||
|
||||
/* input functions */
|
||||
|
||||
extern void gui_input_prompt_changed_signal ();
|
||||
extern void gui_input_text_changed_signal ();
|
||||
extern void gui_input_optimize_size (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_init_color_mask (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_move (struct t_gui_buffer *buffer, char *target,
|
||||
|
||||
@@ -116,6 +116,7 @@ gui_keyboard_grab_end ()
|
||||
if (gui_current_window->buffer->completion)
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_input_draw (gui_current_window->buffer, 0);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
free (expanded_key);
|
||||
}
|
||||
|
||||
@@ -867,6 +867,7 @@ gui_window_search_stop (struct t_gui_window *window)
|
||||
{
|
||||
gui_input_insert_string (window->buffer,
|
||||
window->buffer->text_search_input, -1);
|
||||
gui_input_text_changed_signal ();
|
||||
free (window->buffer->text_search_input);
|
||||
window->buffer->text_search_input = NULL;
|
||||
}
|
||||
|
||||
@@ -4037,8 +4037,8 @@ weechat_lua_api_bar_search (lua_State *L)
|
||||
static int
|
||||
weechat_lua_api_bar_new (lua_State *L)
|
||||
{
|
||||
const char *name, *priority, *type, *conditions, *position, *filling;
|
||||
const char *size, *size_max, *color_fg, *color_delim, *color_bg;
|
||||
const char *name, *hidden, *priority, *type, *conditions, *position;
|
||||
const char *filling, *size, *size_max, *color_fg, *color_delim, *color_bg;
|
||||
const char *separator, *items;
|
||||
char *result;
|
||||
int n;
|
||||
@@ -4053,6 +4053,7 @@ weechat_lua_api_bar_new (lua_State *L)
|
||||
}
|
||||
|
||||
name = NULL;
|
||||
hidden = NULL;
|
||||
priority = NULL;
|
||||
type = NULL;
|
||||
conditions = NULL;
|
||||
@@ -4068,13 +4069,14 @@ weechat_lua_api_bar_new (lua_State *L)
|
||||
|
||||
n = lua_gettop (lua_current_interpreter);
|
||||
|
||||
if (n < 13)
|
||||
if (n < 14)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("bar_new");
|
||||
LUA_RETURN_EMPTY;
|
||||
}
|
||||
|
||||
name = lua_tostring (lua_current_interpreter, -13);
|
||||
name = lua_tostring (lua_current_interpreter, -14);
|
||||
hidden = lua_tostring (lua_current_interpreter, -13);
|
||||
priority = lua_tostring (lua_current_interpreter, -12);
|
||||
type = lua_tostring (lua_current_interpreter, -11);
|
||||
conditions = lua_tostring (lua_current_interpreter, -10);
|
||||
@@ -4089,6 +4091,7 @@ weechat_lua_api_bar_new (lua_State *L)
|
||||
items = lua_tostring (lua_current_interpreter, -1);
|
||||
|
||||
result = script_ptr2str (weechat_bar_new (name,
|
||||
hidden,
|
||||
priority,
|
||||
type,
|
||||
conditions,
|
||||
|
||||
@@ -3353,9 +3353,9 @@ static XS (XS_weechat_bar_search)
|
||||
|
||||
static XS (XS_weechat_bar_new)
|
||||
{
|
||||
char *result, *name, *priority, *type, *conditions, *position, *filling;
|
||||
char *size, *size_max, *color_fg, *color_delim, *color_bg, *separator;
|
||||
char *bar_items;
|
||||
char *result, *name, *hidden, *priority, *type, *conditions, *position;
|
||||
char *filling, *size, *size_max, *color_fg, *color_delim, *color_bg;
|
||||
char *separator, *bar_items;
|
||||
dXSARGS;
|
||||
|
||||
/* make C compiler happy */
|
||||
@@ -3367,26 +3367,28 @@ static XS (XS_weechat_bar_new)
|
||||
PERL_RETURN_EMPTY;
|
||||
}
|
||||
|
||||
if (items < 13)
|
||||
if (items < 14)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("bar_new");
|
||||
PERL_RETURN_EMPTY;
|
||||
}
|
||||
|
||||
name = SvPV (ST (0), PL_na);
|
||||
priority = SvPV (ST (1), PL_na);
|
||||
type = SvPV (ST (2), PL_na);
|
||||
conditions = SvPV (ST (3), PL_na);
|
||||
position = SvPV (ST (4), PL_na);
|
||||
filling = SvPV (ST (5), PL_na);
|
||||
size = SvPV (ST (6), PL_na);
|
||||
size_max = SvPV (ST (7), PL_na);
|
||||
color_fg = SvPV (ST (8), PL_na);
|
||||
color_delim = SvPV (ST (9), PL_na);
|
||||
color_bg = SvPV (ST (10), PL_na);
|
||||
separator = SvPV (ST (11), PL_na);
|
||||
bar_items = SvPV (ST (12), PL_na);
|
||||
hidden = SvPV (ST (1), PL_na);
|
||||
priority = SvPV (ST (2), PL_na);
|
||||
type = SvPV (ST (3), PL_na);
|
||||
conditions = SvPV (ST (4), PL_na);
|
||||
position = SvPV (ST (5), PL_na);
|
||||
filling = SvPV (ST (6), PL_na);
|
||||
size = SvPV (ST (7), PL_na);
|
||||
size_max = SvPV (ST (8), PL_na);
|
||||
color_fg = SvPV (ST (9), PL_na);
|
||||
color_delim = SvPV (ST (10), PL_na);
|
||||
color_bg = SvPV (ST (11), PL_na);
|
||||
separator = SvPV (ST (12), PL_na);
|
||||
bar_items = SvPV (ST (13), PL_na);
|
||||
result = script_ptr2str (weechat_bar_new (name,
|
||||
hidden,
|
||||
priority,
|
||||
type,
|
||||
conditions,
|
||||
|
||||
@@ -3565,9 +3565,9 @@ weechat_python_api_bar_search (PyObject *self, PyObject *args)
|
||||
static PyObject *
|
||||
weechat_python_api_bar_new (PyObject *self, PyObject *args)
|
||||
{
|
||||
char *name, *priority, *type, *conditions, *position, *filling, *size;
|
||||
char *size_max, *color_fg, *color_delim, *color_bg, *separator, *items;
|
||||
char *result;
|
||||
char *name, *hidden, *priority, *type, *conditions, *position, *filling;
|
||||
char *size, *size_max, *color_fg, *color_delim, *color_bg, *separator;
|
||||
char *items, *result;
|
||||
PyObject *object;
|
||||
|
||||
/* make C compiler happy */
|
||||
@@ -3580,6 +3580,7 @@ weechat_python_api_bar_new (PyObject *self, PyObject *args)
|
||||
}
|
||||
|
||||
name = NULL;
|
||||
hidden = NULL;
|
||||
priority = NULL;
|
||||
type = NULL;
|
||||
conditions = NULL;
|
||||
@@ -3593,7 +3594,7 @@ weechat_python_api_bar_new (PyObject *self, PyObject *args)
|
||||
separator = NULL;
|
||||
items = NULL;
|
||||
|
||||
if (!PyArg_ParseTuple (args, "sssssssssssss", &name, &priority,
|
||||
if (!PyArg_ParseTuple (args, "ssssssssssssss", &name, &hidden, &priority,
|
||||
&conditions, &type, &position, &filling, &size,
|
||||
&size_max, &color_fg, &color_delim, &color_bg,
|
||||
&separator, &items))
|
||||
@@ -3603,6 +3604,7 @@ weechat_python_api_bar_new (PyObject *self, PyObject *args)
|
||||
}
|
||||
|
||||
result = script_ptr2str (weechat_bar_new (name,
|
||||
hidden,
|
||||
priority,
|
||||
type,
|
||||
conditions,
|
||||
|
||||
@@ -4093,15 +4093,15 @@ weechat_ruby_api_bar_search (VALUE class, VALUE name)
|
||||
*/
|
||||
|
||||
static VALUE
|
||||
weechat_ruby_api_bar_new (VALUE class, VALUE name, VALUE priority, VALUE type,
|
||||
VALUE conditions, VALUE position, VALUE filling,
|
||||
VALUE size, VALUE size_max, VALUE color_fg,
|
||||
VALUE color_delim, VALUE color_bg, VALUE separator,
|
||||
VALUE items)
|
||||
weechat_ruby_api_bar_new (VALUE class, VALUE name, VALUE hidden,
|
||||
VALUE priority, VALUE type, VALUE conditions,
|
||||
VALUE position, VALUE filling, VALUE size,
|
||||
VALUE size_max, VALUE color_fg, VALUE color_delim,
|
||||
VALUE color_bg, VALUE separator, VALUE items)
|
||||
{
|
||||
char *c_name, *c_priority, *c_type, *c_conditions, *c_position, *c_filling;
|
||||
char *c_size, *c_size_max, *c_color_fg, *c_color_delim, *c_color_bg;
|
||||
char *c_separator, *c_items;
|
||||
char *c_name, *c_hidden, *c_priority, *c_type, *c_conditions, *c_position;
|
||||
char *c_filling, *c_size, *c_size_max, *c_color_fg, *c_color_delim;
|
||||
char *c_color_bg, *c_separator, *c_items;
|
||||
char *result;
|
||||
VALUE return_value;
|
||||
|
||||
@@ -4115,6 +4115,7 @@ weechat_ruby_api_bar_new (VALUE class, VALUE name, VALUE priority, VALUE type,
|
||||
}
|
||||
|
||||
c_name = NULL;
|
||||
c_hidden = NULL;
|
||||
c_priority = NULL;
|
||||
c_type = NULL;
|
||||
c_conditions = NULL;
|
||||
@@ -4128,16 +4129,18 @@ weechat_ruby_api_bar_new (VALUE class, VALUE name, VALUE priority, VALUE type,
|
||||
c_separator = NULL;
|
||||
c_items = NULL;
|
||||
|
||||
if (NIL_P (name) || NIL_P (priority) || NIL_P (type) || NIL_P (conditions)
|
||||
|| NIL_P (position) || NIL_P (filling) || NIL_P (size)
|
||||
|| NIL_P (size_max) || NIL_P (color_fg) || NIL_P (color_delim)
|
||||
|| NIL_P (color_bg) || NIL_P (separator) || NIL_P (items))
|
||||
if (NIL_P (name) || NIL_P (hidden) || NIL_P (priority) || NIL_P (type)
|
||||
|| NIL_P (conditions) || NIL_P (position) || NIL_P (filling)
|
||||
|| NIL_P (size) || NIL_P (size_max) || NIL_P (color_fg)
|
||||
|| NIL_P (color_delim) || NIL_P (color_bg) || NIL_P (separator)
|
||||
|| NIL_P (items))
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("bar_new");
|
||||
RUBY_RETURN_EMPTY;
|
||||
}
|
||||
|
||||
Check_Type (name, T_STRING);
|
||||
Check_Type (hidden, T_STRING);
|
||||
Check_Type (priority, T_STRING);
|
||||
Check_Type (type, T_STRING);
|
||||
Check_Type (conditions, T_STRING);
|
||||
@@ -4152,6 +4155,7 @@ weechat_ruby_api_bar_new (VALUE class, VALUE name, VALUE priority, VALUE type,
|
||||
Check_Type (items, T_STRING);
|
||||
|
||||
c_name = STR2CSTR (name);
|
||||
c_hidden = STR2CSTR (hidden);
|
||||
c_priority = STR2CSTR (priority);
|
||||
c_type = STR2CSTR (type);
|
||||
c_conditions = STR2CSTR (conditions);
|
||||
@@ -4166,6 +4170,7 @@ weechat_ruby_api_bar_new (VALUE class, VALUE name, VALUE priority, VALUE type,
|
||||
c_items = STR2CSTR (items);
|
||||
|
||||
result = script_ptr2str (weechat_bar_new (c_name,
|
||||
c_hidden,
|
||||
c_priority,
|
||||
c_type,
|
||||
c_conditions,
|
||||
@@ -4798,7 +4803,7 @@ weechat_ruby_api_init (VALUE ruby_mWeechat)
|
||||
rb_define_module_function (ruby_mWeechat, "bar_item_update", &weechat_ruby_api_bar_item_update, 1);
|
||||
rb_define_module_function (ruby_mWeechat, "bar_item_remove", &weechat_ruby_api_bar_item_remove, 1);
|
||||
rb_define_module_function (ruby_mWeechat, "bar_search", &weechat_ruby_api_bar_search, 1);
|
||||
rb_define_module_function (ruby_mWeechat, "bar_new", &weechat_ruby_api_bar_new, 13);
|
||||
rb_define_module_function (ruby_mWeechat, "bar_new", &weechat_ruby_api_bar_new, 14);
|
||||
rb_define_module_function (ruby_mWeechat, "bar_set", &weechat_ruby_api_bar_set, 3);
|
||||
rb_define_module_function (ruby_mWeechat, "bar_update", &weechat_ruby_api_bar_update, 1);
|
||||
rb_define_module_function (ruby_mWeechat, "bar_remove", &weechat_ruby_api_bar_remove, 1);
|
||||
|
||||
@@ -424,13 +424,18 @@ struct t_weechat_plugin
|
||||
struct t_gui_bar *(*bar_search) (const char *name);
|
||||
struct t_gui_bar *(*bar_new) (struct t_weechat_plugin *plugin,
|
||||
const char *name,
|
||||
const char *priority, const char *type,
|
||||
const char *hidden,
|
||||
const char *priority,
|
||||
const char *type,
|
||||
const char *condition,
|
||||
const char *position, const char *filling,
|
||||
const char *position,
|
||||
const char *filling,
|
||||
const char *size,
|
||||
const char *size_max, const char *color_fg,
|
||||
const char *size_max,
|
||||
const char *color_fg,
|
||||
const char *color_delim,
|
||||
const char *color_bg, const char *separator,
|
||||
const char *color_bg,
|
||||
const char *separator,
|
||||
const char *items);
|
||||
int (*bar_set) (struct t_gui_bar *bar, const char *property,
|
||||
const char *value);
|
||||
@@ -856,14 +861,16 @@ extern int weechat_plugin_end (struct t_weechat_plugin *plugin);
|
||||
weechat_plugin->bar_item_remove(__item)
|
||||
#define weechat_bar_search(__name) \
|
||||
weechat_plugin->bar_search(__name)
|
||||
#define weechat_bar_new(__name, __priority, __type, __condition, \
|
||||
__position, __filling, __size, __size_max, \
|
||||
__color_fg, __color_delim, __color_bg, \
|
||||
__separator, __items) \
|
||||
weechat_plugin->bar_new(weechat_plugin, __name, __priority, __type, \
|
||||
__condition, __position, __filling, __size, \
|
||||
__size_max, __color_fg, __color_delim, \
|
||||
__color_bg, __separator, __items)
|
||||
#define weechat_bar_new(__name, __hidden, __priority, __type, \
|
||||
__condition, __position, __filling, __size, \
|
||||
__size_max, __color_fg, __color_delim, \
|
||||
__color_bg, \
|
||||
__separator, __items) \
|
||||
weechat_plugin->bar_new(weechat_plugin, __name, __hidden, \
|
||||
__priority, __type, __condition, \
|
||||
__position, __filling, __size, __size_max, \
|
||||
__color_fg, __color_delim, __color_bg, \
|
||||
__separator, __items)
|
||||
#define weechat_bar_set(__bar, __property, __value) \
|
||||
weechat_plugin->bar_set(__bar, __property, __value)
|
||||
#define weechat_bar_update(__name) \
|
||||
|
||||
Reference in New Issue
Block a user