1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-02 07:46:38 +02:00

core: add support of multiple layouts (task #11274)

This commit is contained in:
Sebastien Helleu
2013-03-17 08:28:41 +01:00
parent e1e3109da3
commit 30e6acb00d
35 changed files with 1533 additions and 991 deletions
+2 -1
View File
@@ -1,7 +1,7 @@
WeeChat ChangeLog
=================
Sébastien Helleu <flashcode@flashtux.org>
v0.4.1-dev, 2013-03-13
v0.4.1-dev, 2013-03-17
This document lists all changes for each version.
@@ -14,6 +14,7 @@ http://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
Version 0.4.1 (under dev!)
--------------------------
* core: add support of multiple layouts (task #11274)
* core: add signals nicklist_{group|nick}_removing and hsignals
nicklist_{group|nick}_{added|removing|changed}
* core: add count for groups, nicks, and total in nicklist
@@ -106,6 +106,8 @@
| weechat | keys_contexts | Tastaturkontext
| weechat | layouts_names | names of layouts
| weechat | nicks | Nicks in Nickliste für aktuellen Buffer
| weechat | palette_colors | Farbpalette
+15 -9
View File
@@ -447,17 +447,23 @@ Beispiele:
[[command_weechat_layout]]
[command]*`layout`* Layout für Buffer und Fenster speichern, anwenden oder zurücksetzen::
........................................
/layout save [buffers|windows]
apply [buffers|windows]
reset [buffers|windows]
/layout save [<name>] [buffers|windows]
apply [<name>] [buffers|windows]
leave
reset [<name>] [buffers|windows]
rename <name> <new_name>
save: speichert das aktuelle Layout
apply: das gespeicherte Layout anwenden
reset: das gespeicherte Layout entfernen
buffers: speichert bzw. verwendet nur Buffer (Reihenfolge der Buffer)
windows: speichert bzw. verwendet nur Fenster (Buffer welche im jeweiligen Fenster dargestellt werden)
save: save current layout
apply: apply saved layout
leave: leave current layout (does not update any layout)
reset: reset buffers and/or windows in a saved layout
(if both buffers and windows are reset, the layout is removed)
rename: rename a layout
name: name for saved layout (default is "default")
buffers: save/apply only buffers (order of buffers)
windows: save/apply only windows (buffer displayed by each window)
Wird der Befehl ohne Argumente aufgerufen wird das gespeicherte Layout dargestellt.
Without argument, this command displays saved layouts.
........................................
[[command_weechat_mouse]]
@@ -106,6 +106,8 @@
| weechat | keys_contexts | key contexts
| weechat | layouts_names | names of layouts
| weechat | nicks | nicks in nicklist of current buffer
| weechat | palette_colors | palette colors
+11 -5
View File
@@ -447,17 +447,23 @@ Examples:
[[command_weechat_layout]]
[command]*`layout`* save/apply/reset layout for buffers and windows::
........................................
/layout save [buffers|windows]
apply [buffers|windows]
reset [buffers|windows]
/layout save [<name>] [buffers|windows]
apply [<name>] [buffers|windows]
leave
reset [<name>] [buffers|windows]
rename <name> <new_name>
save: save current layout
apply: apply saved layout
reset: remove saved layout
leave: leave current layout (does not update any layout)
reset: reset buffers and/or windows in a saved layout
(if both buffers and windows are reset, the layout is removed)
rename: rename a layout
name: name for saved layout (default is "default")
buffers: save/apply only buffers (order of buffers)
windows: save/apply only windows (buffer displayed by each window)
Without argument, this command displays saved layout.
Without argument, this command displays saved layouts.
........................................
[[command_weechat_mouse]]
@@ -106,6 +106,8 @@
| weechat | keys_contexts | contextes de touches
| weechat | layouts_names | noms des dispositions
| weechat | nicks | pseudos dans la liste des pseudos du tampon courant
| weechat | palette_colors | couleurs de la palette
+12 -6
View File
@@ -447,17 +447,23 @@ Exemples:
[[command_weechat_layout]]
[command]*`layout`* sauver/appliquer/réinitialiser la disposition des tampons et fenêtres::
........................................
/layout save [buffers|windows]
apply [buffers|windows]
reset [buffers|windows]
/layout save [<nom>] [buffers|windows]
apply [<nom>] [buffers|windows]
leave
reset [<nom>] [buffers|windows]
rename <nom> <nouveau_nom>
save: sauver la disposition courante
apply: appliquer la disposition sauvegardée
reset: supprimer la disposition sauvegardée
apply: appliquer une disposition sauvegardée
leave: quitter la disposition courante (ne met à jour aucune disposition)
reset: réinitialiser les tampons et/ou fenêtres dans une disposition sauvegardée
(si les tampons et fenêtres sont réinitialisées ensemble, la disposition est supprimée)
rename: renommer une disposition
nom: nom pour la disposition sauvegardée (par défaut "default")
buffers: sauver/appliquer seulement pour les tampons (ordre des tampons)
windows: sauver/appliquer seulement pour les fenêtres (le tampon affiché par chaque fenêtre)
Sans paramètre, cette commande affiche la disposition sauvegardée.
Sans paramètre, cette commande affiche les dispositions sauvegardées.
........................................
[[command_weechat_mouse]]
@@ -106,6 +106,8 @@
| weechat | keys_contexts | contesti del tasto
| weechat | layouts_names | names of layouts
| weechat | nicks | nick nella lista nick del buffer corrente
| weechat | palette_colors | Tavolozza dei colori
+15 -9
View File
@@ -447,17 +447,23 @@ Esempi:
[[command_weechat_layout]]
[command]*`layout`* salva/applica/ripristina il layout per i buffer e le finestre::
........................................
/layout save [buffers|windows]
apply [buffers|windows]
reset [buffers|windows]
/layout save [<name>] [buffers|windows]
apply [<name>] [buffers|windows]
leave
reset [<name>] [buffers|windows]
rename <name> <new_name>
save: salva il layout corrente
apply: applica il layout salvato
reset: elimina il layout salvato
buffers: salva/applica modifiche solo ai buffer (ordine dei buffer)
windows: salva/applica modifiche solo alle finestre (buffer visualizzato da ogni finestra)
save: save current layout
apply: apply saved layout
leave: leave current layout (does not update any layout)
reset: reset buffers and/or windows in a saved layout
(if both buffers and windows are reset, the layout is removed)
rename: rename a layout
name: name for saved layout (default is "default")
buffers: save/apply only buffers (order of buffers)
windows: save/apply only windows (buffer displayed by each window)
Senza argomenti, il comando visualizza il layout salvato.
Without argument, this command displays saved layouts.
........................................
[[command_weechat_mouse]]
@@ -106,6 +106,8 @@
| weechat | keys_contexts | キーコンテキスト
| weechat | layouts_names | names of layouts
| weechat | nicks | 現在のバッファのニックネームリストに含まれるニックネーム
| weechat | palette_colors | パレットカラー
+15 -9
View File
@@ -447,17 +447,23 @@ listdefault: デフォルトキーをリストアップ
[[command_weechat_layout]]
[command]*`layout`* バッファとウィンドウのレイアウトを保存/適用/リセット::
........................................
/layout save [buffers|windows]
apply [buffers|windows]
reset [buffers|windows]
/layout save [<name>] [buffers|windows]
apply [<name>] [buffers|windows]
leave
reset [<name>] [buffers|windows]
rename <name> <new_name>
save: 現在のレイアウトを保存
apply: 保存されたレイアウトを適用
reset: 保存されたレイアウトを削除
buffers: バッファのみに対してレイアウトを保存/適用 (バッファの順番)
windows: ウィンドウのみに対してレイアウトを保存/適用 (それぞれのウィンドウに表示されるバッファ)
save: save current layout
apply: apply saved layout
leave: leave current layout (does not update any layout)
reset: reset buffers and/or windows in a saved layout
(if both buffers and windows are reset, the layout is removed)
rename: rename a layout
name: name for saved layout (default is "default")
buffers: save/apply only buffers (order of buffers)
windows: save/apply only windows (buffer displayed by each window)
引数無しでは、保存されたレイアウトを表示します。
Without argument, this command displays saved layouts.
........................................
[[command_weechat_mouse]]
+57 -37
View File
@@ -20,11 +20,11 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2013-03-12 13:52+0100\n"
"PO-Revision-Date: 2013-02-23 11:11+0100\n"
"POT-Creation-Date: 2013-03-16 16:35+0100\n"
"PO-Revision-Date: 2013-03-16 17:49+0100\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Czech\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -182,7 +182,8 @@ msgstr "Všechny pole byly smazány"
msgid "%sError: unknown bar \"%s\""
msgstr "%sChyba: neznámé pole \"%s\""
msgid "Bar deleted"
#, fuzzy, c-format
msgid "Bar \"%s\" deleted"
msgstr "Pole bylo smazáno"
#, c-format
@@ -461,41 +462,53 @@ msgstr[0] "přidána %d nová klávesa"
msgstr[1] "přidány %d nové klávesy"
msgstr[2] "přidáno %d nových kláves"
#, c-format
msgid "leaf: id: %d, parent: %d, plugin: \"%s\", buffer: \"%s\""
msgstr "list: id: %d, rodič: %d, plugin: \"%s\", buffer: \"%s\""
#, c-format
msgid "node: id: %d, parent: %d, child1: %d, child2: %d, size: %d%% (%s)"
msgstr ""
"uzel: id: %d, rodič: %d, potomek1: %d, potomek2: %d, velikost: %d%% (%s)"
msgid "horizontal split"
msgstr "horizontální rozdělení"
msgid "vertical split"
msgstr "vertikální rozdělení"
msgid "Saved layout for buffers:"
#, fuzzy
msgid "Saved layouts:"
msgstr "Uložené rozložení bufferů:"
msgid "Saved layout for windows:"
msgstr "Uložené rozložení oken:"
#, fuzzy
msgid " (current layout)"
msgstr "aktuální hodnota"
msgid "No layout saved"
msgstr "Nebylo uloženo žádné rozložení"
msgid "Layout saved for buffers (order of buffers)"
msgstr "Rozložení bufferů uloženo (pořadí bufferů)"
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s saved in \"%s\" (current layout: %s)"
msgstr ""
msgid "Layout saved for windows (buffer displayed by each window)"
msgstr "Rozložení oken uloženo (buffer zobrazený v každém okně)"
#, fuzzy
msgid "buffers"
msgstr "řídit buffery"
msgid "Layout reset for buffers"
msgstr "Rozložení bufferů resetováno"
#, fuzzy
msgid "windows"
msgstr "spravuje okna"
msgid "Layout reset for windows"
msgstr "Rozložení oken resetováno"
msgid "Layout of buffers+windows reset (current layout: -)"
msgstr ""
#, c-format
msgid "Layout \"%s\" deleted (current layout: %s)"
msgstr ""
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, fuzzy, c-format
msgid "Layout of %s%s%s reset in \"%s\""
msgstr "%sTéma pro %s%s%s nastaveno %s"
#, fuzzy, c-format
msgid "%sError: unknown layout \"%s\""
msgstr "%sChyba: neznámé pole \"%s\""
#, fuzzy, c-format
msgid "%sError: layout \"%s\" already exists for \"%s\" command"
msgstr "%s%s: server \"%s\" pro příkaz \"%s\" již existuje"
#, fuzzy, c-format
msgid "Layout \"%s\" has been renamed to \"%s\""
msgstr "Filtr \"%s\" přejmenován na \"%s\""
#, fuzzy
msgid "Mouse enabled"
@@ -1635,19 +1648,26 @@ msgstr ""
msgid "save/apply/reset layout for buffers and windows"
msgstr "uložit/použít/resetovat rozložení bufferů a oken"
#, fuzzy
msgid ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
"save [<name>] [buffers|windows] || apply [<name>] [buffers|windows] || leave "
"|| reset [<name>] [buffers|windows] || rename <name> <new_name>"
msgstr ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
#, fuzzy
msgid ""
" save: save current layout\n"
" apply: apply saved layout\n"
" reset: remove saved layout\n"
" leave: leave current layout (does not update any layout)\n"
" reset: reset buffers and/or windows in a saved layout\n"
" (if both buffers and windows are reset, the layout is removed)\n"
" rename: rename a layout\n"
" name: name for saved layout (default is \"default\")\n"
"buffers: save/apply only buffers (order of buffers)\n"
"windows: save/apply only windows (buffer displayed by each window)\n"
"\n"
"Without argument, this command displays saved layout."
"Without argument, this command displays saved layouts."
msgstr ""
" save: uložit aktuální rozložení\n"
" apply: aplikovat uložené rozložení\n"
@@ -2300,6 +2320,10 @@ msgstr ""
msgid "areas (\"chat\" or bar name) for free cursor movement"
msgstr ""
#, fuzzy
msgid "names of layouts"
msgstr "jména polí"
msgid ""
"Warning: you should now issue /save to write \"save_config_on_exit\" option "
"in configuration file"
@@ -9374,7 +9398,3 @@ msgstr ""
msgid "Constants"
msgstr ""
#, fuzzy
#~ msgid "%s: script \"%s\" is now autoloaded"
#~ msgstr "%s%s: skript \"%s\" nenačten"
+58 -206
View File
@@ -22,11 +22,11 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2013-03-12 13:52+0100\n"
"PO-Revision-Date: 2013-03-10 09:40+0100\n"
"POT-Creation-Date: 2013-03-16 16:35+0100\n"
"PO-Revision-Date: 2013-03-17 08:20+0100\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <weechatter@arcor.de>\n"
"Language: \n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -196,7 +196,8 @@ msgstr "Alle Infobars wurden entfernt"
msgid "%sError: unknown bar \"%s\""
msgstr "%sFehler: Infobar \"%s\" ist unbekannt"
msgid "Bar deleted"
#, fuzzy, c-format
msgid "Bar \"%s\" deleted"
msgstr "Infobar entfernt"
#, c-format
@@ -483,41 +484,54 @@ msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "(%d) neue Taste hinzugefügt"
msgstr[1] "(%d) neue Tasten hinzugefügt (Kontext: \"%s\")"
#, c-format
msgid "leaf: id: %d, parent: %d, plugin: \"%s\", buffer: \"%s\""
msgstr "Blatt: id: %d, Stamm: %d, Erweiterung: \"%s\", Buffer: \"%s\""
#, c-format
msgid "node: id: %d, parent: %d, child1: %d, child2: %d, size: %d%% (%s)"
msgstr "Node: id: %d, Stamm: %d, Kind1: %d, Kind2: %d, Größe: %d%% (%s)"
msgid "horizontal split"
msgstr "horizontale Aufteilung"
msgid "vertical split"
msgstr "vertikale Aufteilung"
msgid "Saved layout for buffers:"
#, fuzzy
msgid "Saved layouts:"
msgstr "gespeicherte Layouts für Buffer:"
msgid "Saved layout for windows:"
msgstr "gespeicherte Layouts für Fenster:"
#, fuzzy
msgid " (current layout)"
msgstr "aktueller Wert"
msgid "No layout saved"
msgstr "Kein Layout gespeichert"
msgid "Layout saved for buffers (order of buffers)"
msgstr "Layout der Buffer gesichert (Reihenfolge der Buffer)"
msgid "Layout saved for windows (buffer displayed by each window)"
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s saved in \"%s\" (current layout: %s)"
msgstr ""
"Layout der Fenster gesichert (Buffer werden durch jedes Fenster dargestellt)"
msgid "Layout reset for buffers"
msgstr "Zurücksetzen des Bufferlayouts"
#, fuzzy
msgid "buffers"
msgstr "Buffer"
msgid "Layout reset for windows"
msgstr "Zurücksetzen des Fensterlayouts"
#, fuzzy
msgid "windows"
msgstr "Fenster"
msgid "Layout of buffers+windows reset (current layout: -)"
msgstr ""
#, c-format
msgid "Layout \"%s\" deleted (current layout: %s)"
msgstr ""
# "%s" nach "on" ist ein Datum
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, fuzzy, c-format
msgid "Layout of %s%s%s reset in \"%s\""
msgstr "%sDas Thema von %s%s%s wurde festgelegt am: %s"
#, fuzzy, c-format
msgid "%sError: unknown layout \"%s\""
msgstr "%sFehler: Infobar \"%s\" ist unbekannt"
#, fuzzy, c-format
msgid "%sError: layout \"%s\" already exists for \"%s\" command"
msgstr "%s%s: Server \"%s\" für den Befehl \"%s\" existiert bereits"
#, fuzzy, c-format
msgid "Layout \"%s\" has been renamed to \"%s\""
msgstr "Filter \"%s\" wurde umbenannt. Der neue Name lautet \"%s\""
msgid "Mouse enabled"
msgstr "Maus ist aktiviert"
@@ -1828,19 +1842,26 @@ msgstr ""
msgid "save/apply/reset layout for buffers and windows"
msgstr "Layout für Buffer und Fenster speichern, anwenden oder zurücksetzen"
#, fuzzy
msgid ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
"save [<name>] [buffers|windows] || apply [<name>] [buffers|windows] || leave "
"|| reset [<name>] [buffers|windows] || rename <name> <new_name>"
msgstr ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
#, fuzzy
msgid ""
" save: save current layout\n"
" apply: apply saved layout\n"
" reset: remove saved layout\n"
" leave: leave current layout (does not update any layout)\n"
" reset: reset buffers and/or windows in a saved layout\n"
" (if both buffers and windows are reset, the layout is removed)\n"
" rename: rename a layout\n"
" name: name for saved layout (default is \"default\")\n"
"buffers: save/apply only buffers (order of buffers)\n"
"windows: save/apply only windows (buffer displayed by each window)\n"
"\n"
"Without argument, this command displays saved layout."
"Without argument, this command displays saved layouts."
msgstr ""
" save: speichert das aktuelle Layout\n"
" apply: das gespeicherte Layout anwenden\n"
@@ -2574,6 +2595,10 @@ msgstr ""
"Bereiche in denen der Cursor frei bewegt werden kann (\"chat\" oder Name "
"einer Bar)"
#, fuzzy
msgid "names of layouts"
msgstr "Namen der Infobars"
msgid ""
"Warning: you should now issue /save to write \"save_config_on_exit\" option "
"in configuration file"
@@ -10255,176 +10280,3 @@ msgstr "Type"
msgid "Constants"
msgstr "Konstanten"
#~ msgid "hide password displayed by nickserv"
#~ msgstr "Passwörter verstecken die durch NickServ angezeigt werden"
#~ msgid "%s%s: error: name is not required for protocol \"%s\""
#~ msgstr "%s%s: Fehler: ein Name ist für das Protokoll \"%s\" nicht notwendig"
#~ msgid "%s%s: not enough memory to create new speller"
#~ msgstr "%s%s: Nicht genug Speicher um neue Rechtschreibung zu erstellen"
#~ msgid "%s%s: cannot set socket option \"SO_REUSEADDR\""
#~ msgstr "%s%s Fehler beim Erstellen der Socket-Option \"SO_REUSEADDR\""
#~ msgid "%s%s: cannot set socket option \"IPV6_V6ONLY\" to value %d"
#~ msgstr ""
#~ "%s%s der Wert %d kann nicht für die Socket-Option, \"IPV6_V6ONLY\", "
#~ "gesetzt werden"
#~ msgid "%s%s: cannot set socket option \"SO_KEEPALIVE\""
#~ msgstr "%s%s Fehler beim Erstellen der Socket-Option \"SO_KEEPALIVE\""
#~ msgid "%s%s: cannot create socket for xfer"
#~ msgstr "%s%s: Für den Transfer konnte kein Socket angelegt werden"
#~ msgid "%s%s: not enough memory to parse file \"%s\""
#~ msgstr "%s%s: Nicht genug Speicher um Datei \"%s\" zu analysieren"
#~ msgid "%s%s: unable to run file \"%s\""
#~ msgstr "%s%s: Kann Datei \"%s\" nicht ausführen"
#~ msgid "%s%s: unknown error while loading file \"%s\""
#~ msgstr "%s%s: unbekannter Fehler beim Laden der Datei \"%s\""
#~ msgid "%s: error loading script \"%s\" (bad name, spaces are forbidden)"
#~ msgstr ""
#~ "%s: Fehler beim Laden des Skriptes \"%s\" (fehlerhafter Name: Leerzeichen "
#~ "sind nicht erlaubt)"
#~ msgid "%s%s: cannot create socket"
#~ msgstr "%s%s: Socket konnte nicht angelegt werden"
#~ msgid "background color for window separators (when split)"
#~ msgstr ""
#~ "Hintergrundfarbe der Fenster-Separatoren im Chatfenster (bei geteiltem "
#~ "Bildschirm)"
#~ msgid "No configuration option found"
#~ msgstr "Konfigurationsoption nicht gefunden"
#~ msgid "%s%d%s configuration option found"
#~ msgid_plural "%s%d%s configuration options found"
#~ msgstr[0] "%s%d%s Konfigurationsoption gefunden"
#~ msgstr[1] "%s%d%s Konfigurationsoptionen gefunden"
#~ msgid "%sError: configuration option \"%s\" not found"
#~ msgstr "%sFehler: Konfigurationsoption \"%s\" nicht gefunden"
#~ msgid "[<option> [<value>]]"
#~ msgstr "[<option> [<value>]]"
#~ msgid "automatically rejoin channels after kick"
#~ msgstr "Channels automatisch betreten, falls man rausgeworfen wurde"
#~ msgid "prefix for error messages"
#~ msgstr "Präfix für Fehlermeldungen"
#~ msgid "prefix for network messages"
#~ msgstr "Präfix für Netzwerkmeldungen"
#~ msgid "prefix for action messages"
#~ msgstr "Präfix für Action-Nachrichten"
#~ msgid "prefix for join messages"
#~ msgstr "Präfix für Join-Nachrichten"
#~ msgid "prefix for quit messages"
#~ msgstr "Präfix für Quit-Nachrichten"
#~ msgid ""
#~ "condition(s) for displaying bar (for bars of type \"window\"): \"active\" "
#~ "= window must be active, \"inactive\" = window must be inactive, "
#~ "\"nicklist\" = buffer must have a nicklist"
#~ msgstr ""
#~ "Bedingung(en) um eine Bar anzuzeigen (gilt für Bars des Typs \"window\"): "
#~ "\"active\" = window muss aktiv sein \"inactive\" = window muss inaktiv "
#~ "sein, \"nicklist\" = Buffer muss über eine Nickliste verfügen"
#~ msgid ""
#~ "server: server name\n"
#~ " nick: nick (may be a mask)"
#~ msgstr ""
#~ "server: Servername\n"
#~ " nick: Nickname (oder eine Maske)"
#~ msgid "use IPv6 protocol for server communication"
#~ msgstr "Server über IPv6 ansprechen"
#~ msgid "global decoding charset"
#~ msgstr "globaler Zeichensatz zum dekodieren"
#~ msgid "global encoding charset"
#~ msgstr "globaler Zeichensatz zum kodieren"
#~ msgid "alt+d=back to list"
#~ msgstr "alt+d=zurück zur Auswahl"
#~ msgid "%s: connecting to server %s/%d%s%s..."
#~ msgstr "%s: Verbinden zum Server %s/%d%s%s..."
#~ msgid "%s: disconnected from server"
#~ msgstr "%s: Vom Server getrennt!"
#~ msgid "display nick mode ((half)op/voice) before each nick"
#~ msgstr ""
#~ "vor dem Nicknamen wird der entsprechende Nickmode ((half)op/voice [@%+]) "
#~ "angezeigt"
#~ msgid "%s: script \"%s\" held"
#~ msgstr "%s: Skript \"%s\" kann nicht überschrieben werden"
#~ msgid ""
#~ "%s%s: cannot authenticate with SASL and mechanism DH-BLOWFISH because "
#~ "WeeChat was not built with libgcrypt support"
#~ msgstr ""
#~ "%s%s Authentifizierung mittels SASL und DH-BLOWFISH Mechanismus nicht "
#~ "möglich, da WeeChat nicht mit libgcrypt Unterstützung erstellt wurde"
#~ msgid "smart completion for nicks (completes first with last speakers)"
#~ msgstr ""
#~ "intelligente Vervollständigung von Nicknamen (vervollständigt zuerst den "
#~ "letzten Nick, mit dem gesprochen wurde)"
#~ msgid "ended on: "
#~ msgstr "geendet am: "
#~ msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
#~ msgstr "%s%-26s Id: %d, Protokoll: %s, empfangen: %s, gesendet: %s"
#~ msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"
#~ msgstr "%s: neuer Client von %s%s%s an Port %d (id: %d, Relaying: %s%s%s)"
#~ msgid "text color"
#~ msgstr "Textfarbe"
#~ msgid "background color"
#~ msgstr "Hintergrundfarbe"
#~ msgid "text color of selected xfer line"
#~ msgstr "Farbe der ausgewählten Transfer-Zeile"
#~ msgid "display message when (un)marking as away"
#~ msgstr "bei Abwesenheit und Rückkehr eine Nachricht anzeigen"
#~ msgid "display channel modes in \"buffer_name\" bar item"
#~ msgstr "zeigt die Channel-Modi mittels \"buffer_name\" in der Bar-Item an"
#~ msgid "%sError: name can not start with \"#\""
#~ msgstr "%sFehler: Name darf nicht mit \"#\"beginnen"
#~ msgid "%s%s: name can not start with \"#\""
#~ msgstr "%s%s: Name darf nicht mit \"#\" beginnen"
#~ msgid "string inserted after nick completion"
#~ msgstr "Nach Nick-Vervollständigung anzufügende Zeichenfolge"
#~ msgid "display '+' if prefix is truncated"
#~ msgstr "Anzeige eines '+' falls das Präfix abgeschnitten ist"
#~ msgid "<nick> <channel>"
#~ msgstr "<nick> <channel>"
#~ msgid "mechanism for SASL authentication"
#~ msgstr "Vorrichtung zur SASL Authentifizierung"
+57 -36
View File
@@ -22,11 +22,11 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2013-03-12 13:52+0100\n"
"PO-Revision-Date: 2013-02-23 11:11+0100\n"
"POT-Creation-Date: 2013-03-16 16:35+0100\n"
"PO-Revision-Date: 2013-03-17 08:20+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Spanish\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -187,7 +187,8 @@ msgstr "Todas la barras fueron eliminadas"
msgid "%sError: unknown bar \"%s\""
msgstr "%sError: barra \"%s\" desconocida"
msgid "Bar deleted"
#, fuzzy, c-format
msgid "Bar \"%s\" deleted"
msgstr "Barra eliminada"
#, c-format
@@ -468,40 +469,53 @@ msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "%d nuevo atajo agregado"
msgstr[1] "%d nuevos atajos agregados (contexto: \"%s\")"
#, c-format
msgid "leaf: id: %d, parent: %d, plugin: \"%s\", buffer: \"%s\""
msgstr "hoja: id: %d, pariente: %d, plugin: \"%s\", buffer: \"%s\""
#, c-format
msgid "node: id: %d, parent: %d, child1: %d, child2: %d, size: %d%% (%s)"
msgstr "nodo: id: %d, pariente: %d, hijo1: %d, hijo2: %d, tamaño: %d%% (%s)"
msgid "horizontal split"
msgstr "dividir horizontalmente"
msgid "vertical split"
msgstr "dividir verticalmente"
msgid "Saved layout for buffers:"
#, fuzzy
msgid "Saved layouts:"
msgstr "Esquema de buffers guardado:"
msgid "Saved layout for windows:"
msgstr "Esquema de ventanas guardado:"
#, fuzzy
msgid " (current layout)"
msgstr "valor actual"
msgid "No layout saved"
msgstr "Ningún esquema guardado"
msgid "Layout saved for buffers (order of buffers)"
msgstr "Esquema de buffers guardado (orden de los buffers)"
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s saved in \"%s\" (current layout: %s)"
msgstr ""
msgid "Layout saved for windows (buffer displayed by each window)"
msgstr "Esquema de ventanas guardado (buffer mostrado por cada ventana)"
#, fuzzy
msgid "buffers"
msgstr "buffer"
msgid "Layout reset for buffers"
msgstr "Esquema de buffers reiniciado"
#, fuzzy
msgid "windows"
msgstr "ventana"
msgid "Layout reset for windows"
msgstr "Esquema de ventanas reiniciado"
msgid "Layout of buffers+windows reset (current layout: -)"
msgstr ""
#, c-format
msgid "Layout \"%s\" deleted (current layout: %s)"
msgstr ""
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, fuzzy, c-format
msgid "Layout of %s%s%s reset in \"%s\""
msgstr "%sTema para %s%s%s establecido el %s"
#, fuzzy, c-format
msgid "%sError: unknown layout \"%s\""
msgstr "%sError: barra \"%s\" desconocida"
#, fuzzy, c-format
msgid "%sError: layout \"%s\" already exists for \"%s\" command"
msgstr "%s%s: ya existe el servidor \"%s\" para el comando \"%s\""
#, fuzzy, c-format
msgid "Layout \"%s\" has been renamed to \"%s\""
msgstr "Filtro \"%s\" renombrado a \"%s\""
msgid "Mouse enabled"
msgstr "Ratón activado"
@@ -1716,19 +1730,26 @@ msgstr ""
msgid "save/apply/reset layout for buffers and windows"
msgstr "guardar/aplicar/reiniciar el esquema de las ventanas y buffers"
#, fuzzy
msgid ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
"save [<name>] [buffers|windows] || apply [<name>] [buffers|windows] || leave "
"|| reset [<name>] [buffers|windows] || rename <name> <new_name>"
msgstr ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
#, fuzzy
msgid ""
" save: save current layout\n"
" apply: apply saved layout\n"
" reset: remove saved layout\n"
" leave: leave current layout (does not update any layout)\n"
" reset: reset buffers and/or windows in a saved layout\n"
" (if both buffers and windows are reset, the layout is removed)\n"
" rename: rename a layout\n"
" name: name for saved layout (default is \"default\")\n"
"buffers: save/apply only buffers (order of buffers)\n"
"windows: save/apply only windows (buffer displayed by each window)\n"
"\n"
"Without argument, this command displays saved layout."
"Without argument, this command displays saved layouts."
msgstr ""
" save: guarda el esquema actual\n"
" apply: aplica el esquema guardado\n"
@@ -2423,6 +2444,10 @@ msgstr ""
msgid "areas (\"chat\" or bar name) for free cursor movement"
msgstr "áreas (\"chat\" o nombre de barra) para movimiento libre del cursor"
#, fuzzy
msgid "names of layouts"
msgstr "nombres de barras"
msgid ""
"Warning: you should now issue /save to write \"save_config_on_exit\" option "
"in configuration file"
@@ -9617,7 +9642,3 @@ msgstr "Tipo"
msgid "Constants"
msgstr "Constantes"
#, fuzzy
#~ msgid "%s: script \"%s\" is now autoloaded"
#~ msgstr "%s: el script \"%s\" no está cargado"
+63 -42
View File
@@ -21,11 +21,11 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2013-03-12 18:32+0100\n"
"PO-Revision-Date: 2013-03-12 13:54+0100\n"
"POT-Creation-Date: 2013-03-16 16:35+0100\n"
"PO-Revision-Date: 2013-03-16 17:49+0100\n"
"Last-Translator: Sebastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: French\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -187,8 +187,9 @@ msgstr "Toutes les barres ont été supprimées"
msgid "%sError: unknown bar \"%s\""
msgstr "%sErreur: barre \"%s\" inconnue"
msgid "Bar deleted"
msgstr "Barre supprimée"
#, c-format
msgid "Bar \"%s\" deleted"
msgstr "Barre \"%s\" supprimée"
#, c-format
msgid "%sError: unable to set option \"%s\" for bar \"%s\""
@@ -470,42 +471,50 @@ msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "%d nouvelle touche ajoutée (contexte: \"%s\")"
msgstr[1] "%d nouvelles touches ajoutées (contexte: \"%s\")"
#, c-format
msgid "leaf: id: %d, parent: %d, plugin: \"%s\", buffer: \"%s\""
msgstr "feuille: id: %d, parent: %d, extension: \"%s\", tampon: \"%s\""
msgid "Saved layouts:"
msgstr "Dispositions sauvegardées:"
#, c-format
msgid "node: id: %d, parent: %d, child1: %d, child2: %d, size: %d%% (%s)"
msgstr "noeud: id: %d, parent: %d, enfant1: %d, enfant2: %d, taille: %d%% (%s)"
msgid "horizontal split"
msgstr "découpage horizontal"
msgid "vertical split"
msgstr "découpage vertical"
msgid "Saved layout for buffers:"
msgstr "Disposition sauvegardée pour les tampons:"
msgid "Saved layout for windows:"
msgstr "Disposition sauvegardée pour les fenêtres:"
msgid " (current layout)"
msgstr " (disposition courante)"
msgid "No layout saved"
msgstr "Pas de disposition sauvée"
msgid "Layout saved for buffers (order of buffers)"
msgstr "Disposition sauvegardée pour les tampons (ordre des tampons)"
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s saved in \"%s\" (current layout: %s)"
msgstr "Disposition des %s%s%s sauvée dans \"%s\" (disposition courante: %s)"
msgid "Layout saved for windows (buffer displayed by each window)"
msgid "buffers"
msgstr "tampons"
msgid "windows"
msgstr "fenêtres"
msgid "Layout of buffers+windows reset (current layout: -)"
msgstr ""
"Disposition sauvegardée pour les fenêtres (le tampon affiché par chaque "
"fenêtre)"
"Disposition des tampons+fenêtres réinitialisée (disposition courante: -)"
msgid "Layout reset for buffers"
msgstr "Disposition réinitialisée pour les tampons"
#, c-format
msgid "Layout \"%s\" deleted (current layout: %s)"
msgstr "Disposition \"%s\" supprimée (disposition courante: %s)"
msgid "Layout reset for windows"
msgstr "Disposition réinitialisée pour les fenêtres"
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s reset in \"%s\""
msgstr "Disposition pour %s%s%s réinitialisée dans \"%s\""
#, c-format
msgid "%sError: unknown layout \"%s\""
msgstr "%sErreur: disposition \"%s\" inconnue"
#, c-format
msgid "%sError: layout \"%s\" already exists for \"%s\" command"
msgstr "%sErreur: la disposition \"%s\" existe déjà pour la commande \"%s\""
#, c-format
msgid "Layout \"%s\" has been renamed to \"%s\""
msgstr "La disposition \"%s\" a été renommée en \"%s\""
msgid "Mouse enabled"
msgstr "Souris activée"
@@ -1780,27 +1789,39 @@ msgid "save/apply/reset layout for buffers and windows"
msgstr "sauver/appliquer/réinitialiser la disposition des tampons et fenêtres"
msgid ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
"save [<name>] [buffers|windows] || apply [<name>] [buffers|windows] || leave "
"|| reset [<name>] [buffers|windows] || rename <name> <new_name>"
msgstr ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
"save [<nom>] [buffers|windows] || apply [<nom>] [buffers|windows] || leave "
"|| reset [<nom>] [buffers|windows] || rename <nom> <nouveau_nom>"
msgid ""
" save: save current layout\n"
" apply: apply saved layout\n"
" reset: remove saved layout\n"
" leave: leave current layout (does not update any layout)\n"
" reset: reset buffers and/or windows in a saved layout\n"
" (if both buffers and windows are reset, the layout is removed)\n"
" rename: rename a layout\n"
" name: name for saved layout (default is \"default\")\n"
"buffers: save/apply only buffers (order of buffers)\n"
"windows: save/apply only windows (buffer displayed by each window)\n"
"\n"
"Without argument, this command displays saved layout."
"Without argument, this command displays saved layouts."
msgstr ""
" save: sauver la disposition courante\n"
" apply: appliquer la disposition sauvegardée\n"
" reset: supprimer la disposition sauvegardée\n"
" apply: appliquer une disposition sauvegardée\n"
" leave: quitter la disposition courante (ne met à jour aucune disposition)\n"
" reset: réinitialiser les tampons et/ou fenêtres dans une disposition "
"sauvegardée\n"
" (si les tampons et fenêtres sont réinitialisées ensemble, la "
"disposition est supprimée)\n"
" rename: renommer une disposition\n"
" nom: nom pour la disposition sauvegardée (par défaut \"default\")\n"
"buffers: sauver/appliquer seulement pour les tampons (ordre des tampons)\n"
"windows: sauver/appliquer seulement pour les fenêtres (le tampon affiché par "
"chaque fenêtre)\n"
"\n"
"Sans paramètre, cette commande affiche la disposition sauvegardée."
"Sans paramètre, cette commande affiche les dispositions sauvegardées."
msgid "mouse control"
msgstr "contrôle de la souris"
@@ -2502,6 +2523,9 @@ msgstr ""
msgid "areas (\"chat\" or bar name) for free cursor movement"
msgstr "zones (\"chat\" ou un nom de barre) pour le mouvement libre du curseur"
msgid "names of layouts"
msgstr "noms des dispositions"
msgid ""
"Warning: you should now issue /save to write \"save_config_on_exit\" option "
"in configuration file"
@@ -9993,6 +10017,3 @@ msgstr "Type"
msgid "Constants"
msgstr "Constantes"
#~ msgid "%s: script \"%s\" is now autoloaded"
#~ msgstr "%s: le script \"%s\" est maintenant automatiquement chargé"
+51 -38
View File
@@ -20,11 +20,11 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2013-03-12 13:52+0100\n"
"PO-Revision-Date: 2013-02-23 11:11+0100\n"
"POT-Creation-Date: 2013-03-16 16:35+0100\n"
"PO-Revision-Date: 2013-03-16 17:50+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Hungarian\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -184,8 +184,8 @@ msgstr "a felhasználók le lettek tiltva"
msgid "%sError: unknown bar \"%s\""
msgstr "%s ismeretlen billentyűparancs \"%s\"\n"
#, fuzzy
msgid "Bar deleted"
#, fuzzy, c-format
msgid "Bar \"%s\" deleted"
msgstr "a felhasználók le lettek tiltva"
#, fuzzy, c-format
@@ -477,44 +477,52 @@ msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "Nincs mellőzés megadva.\n"
msgstr[1] "Nincs mellőzés megadva.\n"
#, c-format
msgid "leaf: id: %d, parent: %d, plugin: \"%s\", buffer: \"%s\""
msgstr ""
#, c-format
msgid "node: id: %d, parent: %d, child1: %d, child2: %d, size: %d%% (%s)"
msgstr ""
msgid "horizontal split"
msgstr ""
msgid "vertical split"
msgstr ""
#, fuzzy
msgid "Saved layout for buffers:"
msgid "Saved layouts:"
msgstr "a pufferek időbélyege"
#, fuzzy
msgid "Saved layout for windows:"
msgstr "a /who lista vége"
msgid " (current layout)"
msgstr ""
msgid "No layout saved"
msgstr ""
msgid "Layout saved for buffers (order of buffers)"
msgstr ""
msgid "Layout saved for windows (buffer displayed by each window)"
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s saved in \"%s\" (current layout: %s)"
msgstr ""
#, fuzzy
msgid "Layout reset for buffers"
msgstr "a pufferek időbélyege"
msgid "buffers"
msgstr "pufferek kezelése"
#, fuzzy
msgid "Layout reset for windows"
msgstr "a /who lista vége"
msgid "windows"
msgstr "ablakok kezelése"
msgid "Layout of buffers+windows reset (current layout: -)"
msgstr ""
#, c-format
msgid "Layout \"%s\" deleted (current layout: %s)"
msgstr ""
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, fuzzy, c-format
msgid "Layout of %s%s%s reset in \"%s\""
msgstr "A %s%s%s szoba témája: "
#, fuzzy, c-format
msgid "%sError: unknown layout \"%s\""
msgstr "%s ismeretlen billentyűparancs \"%s\"\n"
#, fuzzy, c-format
msgid "%sError: layout \"%s\" already exists for \"%s\" command"
msgstr "%s a \"%s\" szerver már létezik a(z) \"%s\" parancshoz\n"
#, fuzzy, c-format
msgid "Layout \"%s\" has been renamed to \"%s\""
msgstr "a felhasználók le lettek tiltva"
#, fuzzy
msgid "Mouse enabled"
@@ -1450,17 +1458,22 @@ msgid "save/apply/reset layout for buffers and windows"
msgstr ""
msgid ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
"save [<name>] [buffers|windows] || apply [<name>] [buffers|windows] || leave "
"|| reset [<name>] [buffers|windows] || rename <name> <new_name>"
msgstr ""
msgid ""
" save: save current layout\n"
" apply: apply saved layout\n"
" reset: remove saved layout\n"
" leave: leave current layout (does not update any layout)\n"
" reset: reset buffers and/or windows in a saved layout\n"
" (if both buffers and windows are reset, the layout is removed)\n"
" rename: rename a layout\n"
" name: name for saved layout (default is \"default\")\n"
"buffers: save/apply only buffers (order of buffers)\n"
"windows: save/apply only windows (buffer displayed by each window)\n"
"\n"
"Without argument, this command displays saved layout."
"Without argument, this command displays saved layouts."
msgstr ""
msgid "mouse control"
@@ -1989,6 +2002,10 @@ msgstr "Billentyűparancsok:\n"
msgid "areas (\"chat\" or bar name) for free cursor movement"
msgstr ""
#, fuzzy
msgid "names of layouts"
msgstr "Aliaszok listája:\n"
#, fuzzy
msgid ""
"Warning: you should now issue /save to write \"save_config_on_exit\" option "
@@ -8850,7 +8867,3 @@ msgstr ""
msgid "Constants"
msgstr ""
#, fuzzy
#~ msgid "%s: script \"%s\" is now autoloaded"
#~ msgstr "%s a \"%s\" szerver nem található\n"
+57 -37
View File
@@ -20,11 +20,11 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2013-03-12 13:52+0100\n"
"PO-Revision-Date: 2013-02-23 11:11+0100\n"
"POT-Creation-Date: 2013-03-16 16:35+0100\n"
"PO-Revision-Date: 2013-03-17 08:20+0100\n"
"Last-Translator: Marco Paolone <marcopaolone@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Italian\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -184,7 +184,8 @@ msgstr "Tutte le barre sono state eliminate"
msgid "%sError: unknown bar \"%s\""
msgstr "%sErrore: barra \"%s\" sconosciuta"
msgid "Bar deleted"
#, fuzzy, c-format
msgid "Bar \"%s\" deleted"
msgstr "Barra eliminata"
#, c-format
@@ -464,41 +465,53 @@ msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "%d nuovo tasto aggiunto (contesto: \"%s\")"
msgstr[1] "%d nuovi tasti aggiunti (contesto: \"%s\")"
#, c-format
msgid "leaf: id: %d, parent: %d, plugin: \"%s\", buffer: \"%s\""
msgstr "pannello: id: %d, genitore, %d, plugin: \"%s\", buffer: \"%s\""
#, c-format
msgid "node: id: %d, parent: %d, child1: %d, child2: %d, size: %d%% (%s)"
msgstr ""
"nodo: id: %d, genitore: %d, figlio1: %d, figlio2: %d, dimensione: %d%% (%s)"
msgid "horizontal split"
msgstr "divisione orizzontale"
msgid "vertical split"
msgstr "divisione verticale"
msgid "Saved layout for buffers:"
#, fuzzy
msgid "Saved layouts:"
msgstr "Layout salvato per i buffer:"
msgid "Saved layout for windows:"
msgstr "Layout salvato per le finestre:"
#, fuzzy
msgid " (current layout)"
msgstr "valore attivo"
msgid "No layout saved"
msgstr "Nessun layout salvato"
msgid "Layout saved for buffers (order of buffers)"
msgstr "Layout salvati per i buffer (ordine dei buffer)"
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s saved in \"%s\" (current layout: %s)"
msgstr ""
msgid "Layout saved for windows (buffer displayed by each window)"
msgstr "Layout salvato per le finestre (buffer visualizzati su ogni finestra)"
#, fuzzy
msgid "buffers"
msgstr "buffer"
msgid "Layout reset for buffers"
msgstr "Reset del layout per i buffer"
#, fuzzy
msgid "windows"
msgstr "finestra"
msgid "Layout reset for windows"
msgstr "Reset del layout per le finestre"
msgid "Layout of buffers+windows reset (current layout: -)"
msgstr ""
#, c-format
msgid "Layout \"%s\" deleted (current layout: %s)"
msgstr ""
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, fuzzy, c-format
msgid "Layout of %s%s%s reset in \"%s\""
msgstr "%sArgomento per %s%s%s impostato il %s"
#, fuzzy, c-format
msgid "%sError: unknown layout \"%s\""
msgstr "%sErrore: barra \"%s\" sconosciuta"
#, fuzzy, c-format
msgid "%sError: layout \"%s\" already exists for \"%s\" command"
msgstr "%s%s: il server \"%s\" esiste già per il comando \"%s\""
#, fuzzy, c-format
msgid "Layout \"%s\" has been renamed to \"%s\""
msgstr "Filtro \"%s\" rinominato in \"%s\""
msgid "Mouse enabled"
msgstr "Mouse abilitato"
@@ -1703,19 +1716,26 @@ msgstr ""
msgid "save/apply/reset layout for buffers and windows"
msgstr "salva/applica/ripristina il layout per i buffer e le finestre"
#, fuzzy
msgid ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
"save [<name>] [buffers|windows] || apply [<name>] [buffers|windows] || leave "
"|| reset [<name>] [buffers|windows] || rename <name> <new_name>"
msgstr ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
#, fuzzy
msgid ""
" save: save current layout\n"
" apply: apply saved layout\n"
" reset: remove saved layout\n"
" leave: leave current layout (does not update any layout)\n"
" reset: reset buffers and/or windows in a saved layout\n"
" (if both buffers and windows are reset, the layout is removed)\n"
" rename: rename a layout\n"
" name: name for saved layout (default is \"default\")\n"
"buffers: save/apply only buffers (order of buffers)\n"
"windows: save/apply only windows (buffer displayed by each window)\n"
"\n"
"Without argument, this command displays saved layout."
"Without argument, this command displays saved layouts."
msgstr ""
" save: salva il layout corrente\n"
" apply: applica il layout salvato\n"
@@ -2409,6 +2429,10 @@ msgstr ""
msgid "areas (\"chat\" or bar name) for free cursor movement"
msgstr "aree (\"chat\" o nome barra) per il movimento libero del cursore"
#, fuzzy
msgid "names of layouts"
msgstr "nomi delle barre"
msgid ""
"Warning: you should now issue /save to write \"save_config_on_exit\" option "
"in configuration file"
@@ -9649,7 +9673,3 @@ msgstr "Tipo"
msgid "Constants"
msgstr "Costanti"
#, fuzzy
#~ msgid "%s: script \"%s\" is now autoloaded"
#~ msgstr "%s: script \"%s\" non caricato"
+56 -36
View File
@@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2013-03-12 13:52+0100\n"
"PO-Revision-Date: 2013-02-23 11:11+0100\n"
"POT-Creation-Date: 2013-03-16 16:35+0100\n"
"PO-Revision-Date: 2013-03-17 08:20+0100\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/WeeChat>\n"
"Language: ja\n"
@@ -184,7 +184,8 @@ msgstr "全てのバーを削除しました。"
msgid "%sError: unknown bar \"%s\""
msgstr "%sエラー: バー \"%s\" は未定義です。"
msgid "Bar deleted"
#, fuzzy, c-format
msgid "Bar \"%s\" deleted"
msgstr "バーを削除しました"
#, c-format
@@ -464,41 +465,53 @@ msgid "%d new key added"
msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "%d 個の新しいキーを追加しました (コンテキスト: \"%s\")"
#, c-format
msgid "leaf: id: %d, parent: %d, plugin: \"%s\", buffer: \"%s\""
msgstr "葉ノード: id: %d、親: %d、プラグイン: \"%s\"、バッファ: \"%s\""
#, c-format
msgid "node: id: %d, parent: %d, child1: %d, child2: %d, size: %d%% (%s)"
msgstr "ノード: id: %d, 親: %d, 子1: %d, 子2: %d, サイズ: %d%% (%s)"
msgid "horizontal split"
msgstr "水平分割"
msgid "vertical split"
msgstr "垂直分割"
msgid "Saved layout for buffers:"
#, fuzzy
msgid "Saved layouts:"
msgstr "保存されたバッファのレイアウト:"
msgid "Saved layout for windows:"
msgstr "保存されたウィンドウのレイアウト:"
#, fuzzy
msgid " (current layout)"
msgstr "現在の値"
msgid "No layout saved"
msgstr "レイアウトが保存されていません"
msgid "Layout saved for buffers (order of buffers)"
msgstr "バッファのレイアウト (バッファの順番) を保存しました"
msgid "Layout saved for windows (buffer displayed by each window)"
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s saved in \"%s\" (current layout: %s)"
msgstr ""
"ウィンドウのレイアウト (ウィンドウに表示されているバッファ) を保存しました"
msgid "Layout reset for buffers"
msgstr "バッファのレイアウトをリセットしました"
#, fuzzy
msgid "buffers"
msgstr "バッファ"
msgid "Layout reset for windows"
msgstr "ウィンドウのレイアウトをリセットしました"
#, fuzzy
msgid "windows"
msgstr "ウィンドウ"
msgid "Layout of buffers+windows reset (current layout: -)"
msgstr ""
#, c-format
msgid "Layout \"%s\" deleted (current layout: %s)"
msgstr ""
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, fuzzy, c-format
msgid "Layout of %s%s%s reset in \"%s\""
msgstr "%s%s%s%s のトピックは %s 設定されました"
#, fuzzy, c-format
msgid "%sError: unknown layout \"%s\""
msgstr "%sエラー: バー \"%s\" は未定義です。"
#, fuzzy, c-format
msgid "%sError: layout \"%s\" already exists for \"%s\" command"
msgstr "%1$s%2$s: \"%4$s\" コマンドのサーバ \"%3$s\" は既に存在しています"
#, fuzzy, c-format
msgid "Layout \"%s\" has been renamed to \"%s\""
msgstr "フィルタ \"%s\" の名前を \"%s\" に変更しました"
msgid "Mouse enabled"
msgstr "マウスを有効化しました"
@@ -1734,19 +1747,26 @@ msgstr ""
msgid "save/apply/reset layout for buffers and windows"
msgstr "バッファとウィンドウのレイアウトを保存/適用/リセット"
#, fuzzy
msgid ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
"save [<name>] [buffers|windows] || apply [<name>] [buffers|windows] || leave "
"|| reset [<name>] [buffers|windows] || rename <name> <new_name>"
msgstr ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
#, fuzzy
msgid ""
" save: save current layout\n"
" apply: apply saved layout\n"
" reset: remove saved layout\n"
" leave: leave current layout (does not update any layout)\n"
" reset: reset buffers and/or windows in a saved layout\n"
" (if both buffers and windows are reset, the layout is removed)\n"
" rename: rename a layout\n"
" name: name for saved layout (default is \"default\")\n"
"buffers: save/apply only buffers (order of buffers)\n"
"windows: save/apply only windows (buffer displayed by each window)\n"
"\n"
"Without argument, this command displays saved layout."
"Without argument, this command displays saved layouts."
msgstr ""
" save: 現在のレイアウトを保存\n"
" apply: 保存されたレイアウトを適用\n"
@@ -2444,6 +2464,10 @@ msgstr "リセットできるキーコード (追加、再定義、削除され
msgid "areas (\"chat\" or bar name) for free cursor movement"
msgstr "カーソルを自由に動かせるエリア (\"chat\" またはバーの名前)"
#, fuzzy
msgid "names of layouts"
msgstr "バーの名前"
msgid ""
"Warning: you should now issue /save to write \"save_config_on_exit\" option "
"in configuration file"
@@ -9637,7 +9661,3 @@ msgstr "タイプ"
msgid "Constants"
msgstr "定数"
#, fuzzy
#~ msgid "%s: script \"%s\" is now autoloaded"
#~ msgstr "%s: スクリプト \"%s\" はロードされていません"
+58 -39
View File
@@ -21,16 +21,15 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2013-03-12 13:52+0100\n"
"PO-Revision-Date: 2013-02-23 11:11+0100\n"
"POT-Creation-Date: 2013-03-16 16:35+0100\n"
"PO-Revision-Date: 2013-03-17 08:20+0100\n"
"Last-Translator: Krzysztof Korościk <soltys@szluug.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Polish\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
@@ -187,7 +186,8 @@ msgstr "Wszystkie paski zostały usunięte"
msgid "%sError: unknown bar \"%s\""
msgstr "%sBłąd: nieznany pasek \"%s\""
msgid "Bar deleted"
#, fuzzy, c-format
msgid "Bar \"%s\" deleted"
msgstr "Pasek usunięty"
#, c-format
@@ -469,41 +469,53 @@ msgstr[0] "dodano %d nowy klawisz"
msgstr[1] "dodano %d nowe klawisze (kontekst: \"%s\")"
msgstr[2] "dodano %d nowych klawiszy (kontekst: \"%s\")"
#, c-format
msgid "leaf: id: %d, parent: %d, plugin: \"%s\", buffer: \"%s\""
msgstr "arkusz: id: %d, rodzic: %d, wtyczka: \"%s\", bufor: \"%s\""
#, c-format
msgid "node: id: %d, parent: %d, child1: %d, child2: %d, size: %d%% (%s)"
msgstr ""
"węzeł: id: %d, rodzic: %d, potomek1: %d, potomek2: %d, rozmiar: %d%% (%s)"
msgid "horizontal split"
msgstr "podział poziomy"
msgid "vertical split"
msgstr "podział pionowy"
msgid "Saved layout for buffers:"
#, fuzzy
msgid "Saved layouts:"
msgstr "Zapisano układ dla buforów:"
msgid "Saved layout for windows:"
msgstr "Zapisano układ dla okien:"
#, fuzzy
msgid " (current layout)"
msgstr "aktualna wartość"
msgid "No layout saved"
msgstr "Nie zapisano żadnego układu"
msgid "Layout saved for buffers (order of buffers)"
msgstr "Zapisano układ dla buforów (kolejność buforów)"
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s saved in \"%s\" (current layout: %s)"
msgstr ""
msgid "Layout saved for windows (buffer displayed by each window)"
msgstr "Zapisano układ dla okien (bufor wyświetlany w każdym oknie)"
#, fuzzy
msgid "buffers"
msgstr "bufor"
msgid "Layout reset for buffers"
msgstr "Zresetowano układ dla buforów"
#, fuzzy
msgid "windows"
msgstr "okno"
msgid "Layout reset for windows"
msgstr "Zresetowano układ dla okien"
msgid "Layout of buffers+windows reset (current layout: -)"
msgstr ""
#, c-format
msgid "Layout \"%s\" deleted (current layout: %s)"
msgstr ""
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, fuzzy, c-format
msgid "Layout of %s%s%s reset in \"%s\""
msgstr "%sTemat kanału %s%s%s to %s"
#, fuzzy, c-format
msgid "%sError: unknown layout \"%s\""
msgstr "%sBłąd: nieznany pasek \"%s\""
#, fuzzy, c-format
msgid "%sError: layout \"%s\" already exists for \"%s\" command"
msgstr "%s%s: serwer \"%s\" już istnieje dla komendy \"%s\""
#, fuzzy, c-format
msgid "Layout \"%s\" has been renamed to \"%s\""
msgstr "Zmieniono nazwę filtru z \"%s\" na \"%s\""
msgid "Mouse enabled"
msgstr "Obsługa myszy włączona"
@@ -1776,19 +1788,26 @@ msgstr ""
msgid "save/apply/reset layout for buffers and windows"
msgstr "zapisz/zatwierdź/zresetuj układ buforów i okien"
#, fuzzy
msgid ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
"save [<name>] [buffers|windows] || apply [<name>] [buffers|windows] || leave "
"|| reset [<name>] [buffers|windows] || rename <name> <new_name>"
msgstr ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
#, fuzzy
msgid ""
" save: save current layout\n"
" apply: apply saved layout\n"
" reset: remove saved layout\n"
" leave: leave current layout (does not update any layout)\n"
" reset: reset buffers and/or windows in a saved layout\n"
" (if both buffers and windows are reset, the layout is removed)\n"
" rename: rename a layout\n"
" name: name for saved layout (default is \"default\")\n"
"buffers: save/apply only buffers (order of buffers)\n"
"windows: save/apply only windows (buffer displayed by each window)\n"
"\n"
"Without argument, this command displays saved layout."
"Without argument, this command displays saved layouts."
msgstr ""
" save: zapisuje obecny układ\n"
" apply: stosuje zapisany układ\n"
@@ -2494,6 +2513,10 @@ msgid "areas (\"chat\" or bar name) for free cursor movement"
msgstr ""
"obszary (\"chat\" albo nazwa paska) dla wolnego przemieszczania się kursora"
#, fuzzy
msgid "names of layouts"
msgstr "nazwy pasków"
msgid ""
"Warning: you should now issue /save to write \"save_config_on_exit\" option "
"in configuration file"
@@ -9791,7 +9814,3 @@ msgstr "Typ"
msgid "Constants"
msgstr "Stałe"
#, fuzzy
#~ msgid "%s: script \"%s\" is now autoloaded"
#~ msgstr "%s: skrypt \"%s\" nie załadowany"
+57 -36
View File
@@ -21,11 +21,11 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2013-03-12 13:52+0100\n"
"PO-Revision-Date: 2013-02-23 11:12+0100\n"
"POT-Creation-Date: 2013-03-16 16:35+0100\n"
"PO-Revision-Date: 2013-03-17 08:20+0100\n"
"Last-Translator: Sergio Durigan Junior <sergiosdj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Portuguese\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -208,7 +208,8 @@ msgstr "Todas as barras foram excluídas"
msgid "%sError: unknown bar \"%s\""
msgstr "%sErro: barra desconhecida \"%s\""
msgid "Bar deleted"
#, fuzzy, c-format
msgid "Bar \"%s\" deleted"
msgstr "Barra excluída"
#, c-format
@@ -496,40 +497,53 @@ msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "%d nova tecla adicionada"
msgstr[1] "%d novas teclas adicionadas (context: \"%s\")"
#, c-format
msgid "leaf: id: %d, parent: %d, plugin: \"%s\", buffer: \"%s\""
msgstr "folha: id: %d, pai: %d, plugin: \"%s\", buffer: \"%s\""
#, c-format
msgid "node: id: %d, parent: %d, child1: %d, child2: %d, size: %d%% (%s)"
msgstr "nó: id: %d, pai: %d, filho1: %d, filho2: %d, tamanho: %d%% (%s)"
msgid "horizontal split"
msgstr "divisão horizontal"
msgid "vertical split"
msgstr "divisão vertical"
msgid "Saved layout for buffers:"
#, fuzzy
msgid "Saved layouts:"
msgstr "Disposição dos buffers salva:"
msgid "Saved layout for windows:"
msgstr "Disposição das janelas salva:"
#, fuzzy
msgid " (current layout)"
msgstr "valor atual"
msgid "No layout saved"
msgstr "Nenhuma disposição salva"
msgid "Layout saved for buffers (order of buffers)"
msgstr "Disposição dos buffers salva (ordem dos buffers)"
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s saved in \"%s\" (current layout: %s)"
msgstr ""
msgid "Layout saved for windows (buffer displayed by each window)"
msgstr "Disposição salva para as janelas (buffer mostrado por cada janela)"
#, fuzzy
msgid "buffers"
msgstr "buffer"
msgid "Layout reset for buffers"
msgstr "Restauração da disposição dos buffers"
#, fuzzy
msgid "windows"
msgstr "janela"
msgid "Layout reset for windows"
msgstr "Restauração da disposição das janelas"
msgid "Layout of buffers+windows reset (current layout: -)"
msgstr ""
#, c-format
msgid "Layout \"%s\" deleted (current layout: %s)"
msgstr ""
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, fuzzy, c-format
msgid "Layout of %s%s%s reset in \"%s\""
msgstr "%sTópico para o canal %s%s%s definido em %s"
#, fuzzy, c-format
msgid "%sError: unknown layout \"%s\""
msgstr "%sErro: barra desconhecida \"%s\""
#, fuzzy, c-format
msgid "%sError: layout \"%s\" already exists for \"%s\" command"
msgstr "%sErro: outro comando \"%s\" já existe para o plugin \"%s\""
#, fuzzy, c-format
msgid "Layout \"%s\" has been renamed to \"%s\""
msgstr "Filtro \"%s\" renomeado para \"%s\""
msgid "Mouse enabled"
msgstr "Mouse habilitado"
@@ -1712,19 +1726,26 @@ msgstr ""
msgid "save/apply/reset layout for buffers and windows"
msgstr "salvar/aplicar/resetar a disposição dos buffers e janelas"
#, fuzzy
msgid ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
"save [<name>] [buffers|windows] || apply [<name>] [buffers|windows] || leave "
"|| reset [<name>] [buffers|windows] || rename <name> <new_name>"
msgstr ""
"save [buffers|janelas] || apply [buffers|janelas] || reset [buffers|janelas]"
#, fuzzy
msgid ""
" save: save current layout\n"
" apply: apply saved layout\n"
" reset: remove saved layout\n"
" leave: leave current layout (does not update any layout)\n"
" reset: reset buffers and/or windows in a saved layout\n"
" (if both buffers and windows are reset, the layout is removed)\n"
" rename: rename a layout\n"
" name: name for saved layout (default is \"default\")\n"
"buffers: save/apply only buffers (order of buffers)\n"
"windows: save/apply only windows (buffer displayed by each window)\n"
"\n"
"Without argument, this command displays saved layout."
"Without argument, this command displays saved layouts."
msgstr ""
" save: salvar a disposição atual\n"
" apply: aplicar a disposição salva\n"
@@ -2374,6 +2395,10 @@ msgstr ""
msgid "areas (\"chat\" or bar name) for free cursor movement"
msgstr ""
#, fuzzy
msgid "names of layouts"
msgstr "nomes das barras"
msgid ""
"Warning: you should now issue /save to write \"save_config_on_exit\" option "
"in configuration file"
@@ -9005,7 +9030,3 @@ msgstr ""
msgid "Constants"
msgstr ""
#, fuzzy
#~ msgid "%s: script \"%s\" is now autoloaded"
#~ msgstr "%s%s: script \"%s\" não carregado"
+53 -40
View File
@@ -21,16 +21,15 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2013-03-12 13:52+0100\n"
"PO-Revision-Date: 2013-02-23 11:12+0100\n"
"POT-Creation-Date: 2013-03-16 16:35+0100\n"
"PO-Revision-Date: 2013-03-16 17:50+0100\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Russian\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Poedit-Bookmarks: -1,-1,608,-1,-1,-1,-1,-1,-1,-1\n"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
@@ -188,8 +187,8 @@ msgstr "команда users отключена"
msgid "%sError: unknown bar \"%s\""
msgstr "%s неизвестная функция клавиши \"%s\"\n"
#, fuzzy
msgid "Bar deleted"
#, fuzzy, c-format
msgid "Bar \"%s\" deleted"
msgstr "команда users отключена"
#, fuzzy, c-format
@@ -486,44 +485,53 @@ msgstr[0] "Игнорирования не заданы.\n"
msgstr[1] "Игнорирования не заданы.\n"
msgstr[2] "Игнорирования не заданы.\n"
#, c-format
msgid "leaf: id: %d, parent: %d, plugin: \"%s\", buffer: \"%s\""
msgstr ""
#, c-format
msgid "node: id: %d, parent: %d, child1: %d, child2: %d, size: %d%% (%s)"
msgstr ""
msgid "horizontal split"
msgstr "горизонтальное разделение"
msgid "vertical split"
msgstr "вертикальное разделение"
#, fuzzy
msgid "Saved layout for buffers:"
msgid "Saved layouts:"
msgstr "время в буферах"
#, fuzzy
msgid "Saved layout for windows:"
msgstr "конец списка /who"
msgid " (current layout)"
msgstr "текущее значение"
msgid "No layout saved"
msgstr "Нет сохранённых раскладок"
msgid "Layout saved for buffers (order of buffers)"
msgstr "Раскладка сохранена для буферов (порядок буферов)"
msgid "Layout saved for windows (buffer displayed by each window)"
msgstr "Раскладка сохранена для окон (буфер показан по каждому окну)"
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s saved in \"%s\" (current layout: %s)"
msgstr ""
#, fuzzy
msgid "Layout reset for buffers"
msgstr "время в буферах"
msgid "buffers"
msgstr "управление буферами"
#, fuzzy
msgid "Layout reset for windows"
msgstr "конец списка /who"
msgid "windows"
msgstr "управление окнами"
msgid "Layout of buffers+windows reset (current layout: -)"
msgstr ""
#, c-format
msgid "Layout \"%s\" deleted (current layout: %s)"
msgstr ""
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, fuzzy, c-format
msgid "Layout of %s%s%s reset in \"%s\""
msgstr "Тема канала %s%s%s: "
#, fuzzy, c-format
msgid "%sError: unknown layout \"%s\""
msgstr "%s неизвестная функция клавиши \"%s\"\n"
#, fuzzy, c-format
msgid "%sError: layout \"%s\" already exists for \"%s\" command"
msgstr "%s сервер \"%s\" уже существует для команды \"%s\"\n"
#, fuzzy, c-format
msgid "Layout \"%s\" has been renamed to \"%s\""
msgstr "команда users отключена"
#, fuzzy
msgid "Mouse enabled"
@@ -1471,17 +1479,22 @@ msgid "save/apply/reset layout for buffers and windows"
msgstr ""
msgid ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
"save [<name>] [buffers|windows] || apply [<name>] [buffers|windows] || leave "
"|| reset [<name>] [buffers|windows] || rename <name> <new_name>"
msgstr ""
msgid ""
" save: save current layout\n"
" apply: apply saved layout\n"
" reset: remove saved layout\n"
" leave: leave current layout (does not update any layout)\n"
" reset: reset buffers and/or windows in a saved layout\n"
" (if both buffers and windows are reset, the layout is removed)\n"
" rename: rename a layout\n"
" name: name for saved layout (default is \"default\")\n"
"buffers: save/apply only buffers (order of buffers)\n"
"windows: save/apply only windows (buffer displayed by each window)\n"
"\n"
"Without argument, this command displays saved layout."
"Without argument, this command displays saved layouts."
msgstr ""
msgid "mouse control"
@@ -2010,6 +2023,10 @@ msgstr "Комбинации клавиш:\n"
msgid "areas (\"chat\" or bar name) for free cursor movement"
msgstr ""
#, fuzzy
msgid "names of layouts"
msgstr "Список сокращений:\n"
#, fuzzy
msgid ""
"Warning: you should now issue /save to write \"save_config_on_exit\" option "
@@ -8867,7 +8884,3 @@ msgstr ""
msgid "Constants"
msgstr ""
#, fuzzy
#~ msgid "%s: script \"%s\" is now autoloaded"
#~ msgstr "%s сервер \"%s\" не найден\n"
+43 -25
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2013-03-12 13:52+0100\n"
"POT-Creation-Date: 2013-03-16 16:35+0100\n"
"PO-Revision-Date: 2013-02-14 18:20+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -161,7 +161,8 @@ msgstr ""
msgid "%sError: unknown bar \"%s\""
msgstr ""
msgid "Bar deleted"
#, c-format
msgid "Bar \"%s\" deleted"
msgstr ""
#, c-format
@@ -432,39 +433,48 @@ msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] ""
msgstr[1] ""
#, c-format
msgid "leaf: id: %d, parent: %d, plugin: \"%s\", buffer: \"%s\""
msgid "Saved layouts:"
msgstr ""
#, c-format
msgid "node: id: %d, parent: %d, child1: %d, child2: %d, size: %d%% (%s)"
msgstr ""
msgid "horizontal split"
msgstr ""
msgid "vertical split"
msgstr ""
msgid "Saved layout for buffers:"
msgstr ""
msgid "Saved layout for windows:"
msgid " (current layout)"
msgstr ""
msgid "No layout saved"
msgstr ""
msgid "Layout saved for buffers (order of buffers)"
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s saved in \"%s\" (current layout: %s)"
msgstr ""
msgid "Layout saved for windows (buffer displayed by each window)"
msgid "buffers"
msgstr ""
msgid "Layout reset for buffers"
msgid "windows"
msgstr ""
msgid "Layout reset for windows"
msgid "Layout of buffers+windows reset (current layout: -)"
msgstr ""
#, c-format
msgid "Layout \"%s\" deleted (current layout: %s)"
msgstr ""
#. TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows"
#, c-format
msgid "Layout of %s%s%s reset in \"%s\""
msgstr ""
#, c-format
msgid "%sError: unknown layout \"%s\""
msgstr ""
#, c-format
msgid "%sError: layout \"%s\" already exists for \"%s\" command"
msgstr ""
#, c-format
msgid "Layout \"%s\" has been renamed to \"%s\""
msgstr ""
msgid "Mouse enabled"
@@ -1307,17 +1317,22 @@ msgid "save/apply/reset layout for buffers and windows"
msgstr ""
msgid ""
"save [buffers|windows] || apply [buffers|windows] || reset [buffers|windows]"
"save [<name>] [buffers|windows] || apply [<name>] [buffers|windows] || leave "
"|| reset [<name>] [buffers|windows] || rename <name> <new_name>"
msgstr ""
msgid ""
" save: save current layout\n"
" apply: apply saved layout\n"
" reset: remove saved layout\n"
" leave: leave current layout (does not update any layout)\n"
" reset: reset buffers and/or windows in a saved layout\n"
" (if both buffers and windows are reset, the layout is removed)\n"
" rename: rename a layout\n"
" name: name for saved layout (default is \"default\")\n"
"buffers: save/apply only buffers (order of buffers)\n"
"windows: save/apply only windows (buffer displayed by each window)\n"
"\n"
"Without argument, this command displays saved layout."
"Without argument, this command displays saved layouts."
msgstr ""
msgid "mouse control"
@@ -1769,6 +1784,9 @@ msgstr ""
msgid "areas (\"chat\" or bar name) for free cursor movement"
msgstr ""
msgid "names of layouts"
msgstr ""
msgid ""
"Warning: you should now issue /save to write \"save_config_on_exit\" option "
"in configuration file"
+202 -81
View File
@@ -161,7 +161,7 @@ COMMAND_CALLBACK(bar)
{
int i, type, position, number;
long value;
char *error, *str_type, *pos_condition;
char *error, *str_type, *pos_condition, *name;
struct t_gui_bar *ptr_bar;
struct t_gui_bar_item *ptr_item;
struct t_gui_window *ptr_window;
@@ -333,8 +333,11 @@ COMMAND_CALLBACK(bar)
argv[2]);
return WEECHAT_RC_OK;
}
name = strdup (ptr_bar->name);
gui_bar_free (ptr_bar);
gui_chat_printf (NULL, _("Bar deleted"));
gui_chat_printf (NULL, _("Bar \"%s\" deleted"), name);
if (name)
free (name);
gui_bar_create_default_input ();
}
@@ -3100,38 +3103,24 @@ command_layout_display_tree (struct t_gui_layout_window *layout_window,
{
/* leaf */
snprintf (format, sizeof (format), "%%-%ds%s",
indent * 2,
_("leaf: id: %d, parent: %d, plugin: \"%s\", "
"buffer: \"%s\""));
(indent + 1) * 2,
"|-- %s.%s");
gui_chat_printf (NULL, format,
" ",
layout_window->internal_id,
(layout_window->parent_node) ?
layout_window->parent_node->internal_id : 0,
(layout_window->plugin_name) ?
layout_window->plugin_name : "-",
(layout_window->buffer_name) ?
layout_window->buffer_name : "-");
(layout_window->plugin_name) ? layout_window->plugin_name : "-",
(layout_window->buffer_name) ? layout_window->buffer_name : "-");
}
else
{
/* node */
snprintf (format, sizeof (format), "%%-%ds%s",
indent * 2,
_("node: id: %d, parent: %d, child1: %d, child2: %d, "
"size: %d%% (%s)"));
(indent + 1) * 2,
"%s== %d%% (split%s)");
gui_chat_printf (NULL, format,
" ",
layout_window->internal_id,
(layout_window->parent_node) ?
layout_window->parent_node->internal_id : 0,
(layout_window->child1) ?
layout_window->child1->internal_id : 0,
(layout_window->child2) ?
layout_window->child2->internal_id : 0,
(indent == 1) ? "\\" : "|",
layout_window->split_pct,
(layout_window->split_horiz) ?
_("horizontal split") : _("vertical split"));
(layout_window->split_horiz) ? "h" : "v");
}
if (layout_window->child1)
@@ -3143,43 +3132,86 @@ command_layout_display_tree (struct t_gui_layout_window *layout_window,
}
/*
* Callback for command "/layout": saves/applies buffers/windows layout.
* Gets arguments for /layout command (if option is save/apply/reset).
*/
void
command_layout_get_arguments (int argc, char **argv,
const char **layout_name,
struct t_gui_layout **ptr_layout,
int *flag_buffers, int *flag_windows)
{
int i;
*layout_name = NULL;
*ptr_layout = NULL;
*flag_buffers = 1;
*flag_windows = 1;
for (i = 2; i < argc; i++)
{
if (string_strcasecmp (argv[i], "buffers") == 0)
*flag_windows = 0;
else if (string_strcasecmp (argv[i], "windows") == 0)
*flag_buffers = 0;
else if (!*layout_name)
*layout_name = argv[i];
}
if (*layout_name)
*ptr_layout = gui_layout_search (*layout_name);
else
{
*ptr_layout = gui_layout_current;
if (!*ptr_layout)
*ptr_layout = gui_layout_search (GUI_LAYOUT_DEFAULT_NAME);
}
}
/*
* Callback for command "/layout": manages layouts.
*/
COMMAND_CALLBACK(layout)
{
struct t_gui_layout *ptr_layout, *ptr_layout2;
struct t_gui_layout_buffer *ptr_layout_buffer;
int flag_buffers, flag_windows;
const char *layout_name;
char *name;
int flag_buffers, flag_windows, layout_is_current;
/* make C compiler happy */
(void) data;
(void) buffer;
(void) argv_eol;
/* display all key bindings */
/* display all layouts */
if (argc == 1)
{
if (gui_layout_buffers || gui_layout_windows)
/* display saved layouts */
if (gui_layouts)
{
if (gui_layout_buffers)
gui_chat_printf (NULL, "");
gui_chat_printf (NULL, _("Saved layouts:"));
for (ptr_layout = gui_layouts; ptr_layout;
ptr_layout = ptr_layout->next_layout)
{
gui_chat_printf (NULL, "");
gui_chat_printf (NULL, _("Saved layout for buffers:"));
for (ptr_layout_buffer = gui_layout_buffers;
gui_chat_printf (NULL, " %s%s%s%s:",
GUI_COLOR(GUI_COLOR_CHAT_BUFFER),
ptr_layout->name,
GUI_COLOR(GUI_COLOR_CHAT),
(ptr_layout == gui_layout_current) ? _(" (current layout)") : "");
for (ptr_layout_buffer = ptr_layout->layout_buffers;
ptr_layout_buffer;
ptr_layout_buffer = ptr_layout_buffer->next_layout)
{
gui_chat_printf (NULL, " %d. %s / %s",
gui_chat_printf (NULL, " %d. %s.%s",
ptr_layout_buffer->number,
ptr_layout_buffer->plugin_name,
ptr_layout_buffer->buffer_name);
}
}
if (gui_layout_windows)
{
gui_chat_printf (NULL, "");
gui_chat_printf (NULL, _("Saved layout for windows:"));
command_layout_display_tree (gui_layout_windows, 1);
if (ptr_layout->layout_windows)
command_layout_display_tree (ptr_layout->layout_windows, 1);
}
}
else
@@ -3188,33 +3220,31 @@ COMMAND_CALLBACK(layout)
return WEECHAT_RC_OK;
}
flag_buffers = 1;
flag_windows = 1;
if (argc > 2)
{
if (string_strcasecmp (argv[2], "buffers") == 0)
flag_windows = 0;
else if (string_strcasecmp (argv[2], "windows") == 0)
flag_buffers = 0;
}
/* save layout */
if (string_strcasecmp (argv[1], "save") == 0)
{
command_layout_get_arguments (argc, argv, &layout_name, &ptr_layout,
&flag_buffers, &flag_windows);
if (!ptr_layout)
{
ptr_layout = gui_layout_alloc ((layout_name) ? layout_name : GUI_LAYOUT_DEFAULT_NAME);
if (!ptr_layout)
return WEECHAT_RC_ERROR;
gui_layout_add (ptr_layout);
}
if (flag_buffers)
{
gui_layout_buffer_save (&gui_layout_buffers, &last_gui_layout_buffer);
gui_chat_printf (NULL,
_("Layout saved for buffers (order of buffers)"));
}
gui_layout_buffer_save (ptr_layout);
if (flag_windows)
{
gui_layout_window_save (&gui_layout_windows);
gui_chat_printf (NULL,
_("Layout saved for windows (buffer displayed by "
"each window)"));
}
gui_layout_window_save (ptr_layout);
gui_layout_current = ptr_layout;
gui_chat_printf (NULL,
/* TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows" */
_("Layout of %s%s%s saved in \"%s\" (current layout: %s)"),
(flag_buffers) ? _("buffers") : "",
(flag_buffers && flag_windows) ? "+" : "",
(flag_windows) ? _("windows") : "",
ptr_layout->name,
ptr_layout->name);
return WEECHAT_RC_OK;
}
@@ -3222,10 +3252,30 @@ COMMAND_CALLBACK(layout)
/* apply layout */
if (string_strcasecmp (argv[1], "apply") == 0)
{
if (flag_buffers)
gui_layout_buffer_apply (gui_layout_buffers);
if (flag_windows)
gui_layout_window_apply (gui_layout_windows, -1);
command_layout_get_arguments (argc, argv, &layout_name, &ptr_layout,
&flag_buffers, &flag_windows);
if (ptr_layout)
{
if (flag_buffers)
gui_layout_buffer_apply (ptr_layout);
if (flag_windows)
gui_layout_window_apply (ptr_layout, -1);
gui_layout_current = ptr_layout;
}
return WEECHAT_RC_OK;
}
/* leave current layout */
if (string_strcasecmp (argv[1], "leave") == 0)
{
gui_layout_buffer_reset ();
gui_layout_window_reset ();
gui_layout_current = NULL;
gui_chat_printf (NULL,
_("Layout of buffers+windows reset (current layout: -)"));
return WEECHAT_RC_OK;
}
@@ -3233,22 +3283,82 @@ COMMAND_CALLBACK(layout)
/* reset layout */
if (string_strcasecmp (argv[1], "reset") == 0)
{
if (flag_buffers)
command_layout_get_arguments (argc, argv, &layout_name, &ptr_layout,
&flag_buffers, &flag_windows);
if (ptr_layout)
{
gui_layout_buffer_reset (&gui_layout_buffers, &last_gui_layout_buffer);
gui_chat_printf (NULL,
_("Layout reset for buffers"));
}
if (flag_windows)
{
gui_layout_window_reset (&gui_layout_windows);
gui_chat_printf (NULL,
_("Layout reset for windows"));
layout_is_current = (ptr_layout == gui_layout_current);
if (flag_buffers && flag_windows)
{
name = strdup (ptr_layout->name);
gui_layout_remove (ptr_layout);
if (layout_is_current)
{
gui_layout_buffer_reset ();
gui_layout_window_reset ();
}
gui_chat_printf (NULL,
_("Layout \"%s\" deleted (current layout: %s)"),
name,
(gui_layout_current) ? gui_layout_current->name : "-");
if (name)
free (name);
}
else
{
if (flag_buffers)
{
gui_layout_buffer_remove_all (ptr_layout);
if (layout_is_current)
gui_layout_buffer_reset ();
}
else if (flag_windows)
{
gui_layout_window_remove_all (ptr_layout);
if (layout_is_current)
gui_layout_window_reset ();
}
gui_chat_printf (NULL,
/* TRANSLATORS: %s%s%s is "buffers" or "windows" or "buffers+windows" */
_("Layout of %s%s%s reset in \"%s\""),
(flag_buffers) ? _("buffers") : "",
(flag_buffers && flag_windows) ? "+" : "",
(flag_windows) ? _("windows") : "",
ptr_layout->name);
}
}
return WEECHAT_RC_OK;
}
/* rename layout */
if (string_strcasecmp (argv[1], "rename") == 0)
{
COMMAND_MIN_ARGS(4, "layout rename");
ptr_layout = gui_layout_search (argv[2]);
if (!ptr_layout)
{
gui_chat_printf (NULL,
_("%sError: unknown layout \"%s\""),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
argv[2]);
return WEECHAT_RC_OK;
}
ptr_layout2 = gui_layout_search (argv[3]);
if (ptr_layout2)
{
gui_chat_printf (NULL,
_("%sError: layout \"%s\" already exists for "
"\"%s\" command"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
argv[3], "layout rename");
return WEECHAT_RC_OK;
}
gui_layout_rename (ptr_layout, argv[3]);
gui_chat_printf (NULL, _("Layout \"%s\" has been renamed to \"%s\""),
argv[2], argv[3]);
}
return WEECHAT_RC_OK;
}
@@ -6300,17 +6410,28 @@ command_init ()
&command_key, NULL);
hook_command (NULL, "layout",
N_("save/apply/reset layout for buffers and windows"),
N_("save [buffers|windows]"
" || apply [buffers|windows]"
" || reset [buffers|windows]"),
N_("save [<name>] [buffers|windows]"
" || apply [<name>] [buffers|windows]"
" || leave"
" || reset [<name>] [buffers|windows]"
" || rename <name> <new_name>"),
N_(" save: save current layout\n"
" apply: apply saved layout\n"
" reset: remove saved layout\n"
" leave: leave current layout (does not update any layout)\n"
" reset: reset buffers and/or windows in a saved layout\n"
" (if both buffers and windows are reset, the "
"layout is removed)\n"
" rename: rename a layout\n"
" name: name for saved layout (default is \"default\")\n"
"buffers: save/apply only buffers (order of buffers)\n"
"windows: save/apply only windows (buffer displayed by "
"each window)\n\n"
"Without argument, this command displays saved layout."),
"save|apply|reset buffers|windows",
"Without argument, this command displays saved layouts."),
"save %(layouts_names)|buffers|windows buffers|windows"
" || apply %(layouts_names)|buffers|windows buffers|windows"
" || leave"
" || reset %(layouts_names)|buffers|windows buffers|windows"
" || rename %(layouts_names) %(layouts_names)",
&command_layout, NULL);
hook_command (NULL, "mouse",
N_("mouse control"),
+32 -1
View File
@@ -46,6 +46,7 @@
#include "../gui/gui-buffer.h"
#include "../gui/gui-color.h"
#include "../gui/gui-filter.h"
#include "../gui/gui-layout.h"
#include "../gui/gui-key.h"
#include "../gui/gui-nicklist.h"
#include "../gui/gui-window.h"
@@ -295,7 +296,7 @@ completion_list_map_add_palette_color_cb (void *data,
(void) value;
gui_completion_list_add ((struct t_gui_completion *)data,
(char *)key,
(const char *)key,
0, WEECHAT_LIST_POS_SORT);
}
@@ -1269,6 +1270,33 @@ completion_list_add_cursor_areas_cb (void *data,
return WEECHAT_RC_OK;
}
/*
* Adds layout names to completion list.
*/
int
completion_list_add_layouts_names_cb (void *data,
const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
struct t_gui_layout *ptr_layout;
/* make C compiler happy */
(void) data;
(void) completion_item;
(void) buffer;
for (ptr_layout = gui_layouts; ptr_layout;
ptr_layout = ptr_layout->next_layout)
{
gui_completion_list_add (completion, ptr_layout->name,
0, WEECHAT_LIST_POS_SORT);
}
return WEECHAT_RC_OK;
}
/*
* Adds hooks for completions done by WeeChat core.
*/
@@ -1361,4 +1389,7 @@ completion_init ()
hook_completion (NULL, "cursor_areas",
N_("areas (\"chat\" or bar name) for free cursor movement"),
&completion_list_add_cursor_areas_cb, NULL);
hook_completion (NULL, "layouts_names",
N_("names of layouts"),
&completion_list_add_layouts_names_cb, NULL);
}
+146 -75
View File
@@ -817,9 +817,10 @@ config_weechat_reload_cb (void *data, struct t_config_file *config_file)
/* remove all bars */
gui_bar_free_all ();
/* remove layout */
gui_layout_buffer_reset (&gui_layout_buffers, &last_gui_layout_buffer);
gui_layout_window_reset (&gui_layout_windows);
/* remove layouts and reset layout stuff in buffers/windows */
gui_layout_remove_all ();
gui_layout_buffer_reset ();
gui_layout_window_reset ();
/* remove all notify levels */
config_file_section_free_options (weechat_config_section_notify);
@@ -1266,9 +1267,11 @@ config_weechat_layout_read_cb (void *data, struct t_config_file *config_file,
struct t_config_section *section,
const char *option_name, const char *value)
{
int argc;
char **argv, *error1, *error2, *error3, *error4;
int argc, force_current_layout;
char **argv, *pos, *layout_name, *error1, *error2, *error3, *error4;
const char *ptr_option_name;
long number1, number2, number3, number4;
struct t_gui_layout *ptr_layout;
struct t_gui_layout_window *parent;
/* make C compiler happy */
@@ -1276,75 +1279,121 @@ config_weechat_layout_read_cb (void *data, struct t_config_file *config_file,
(void) config_file;
(void) section;
if (option_name && value && value[0])
if (!option_name || !value || !value[0])
return WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE;
force_current_layout = 0;
pos = strrchr (option_name, '.');
if (pos)
{
if (string_strcasecmp (option_name, "buffer") == 0)
layout_name = string_strndup (option_name, pos - option_name);
ptr_option_name = pos + 1;
}
else
{
/*
* old config file (WeeChat <= 0.4.0): no "." in name, use default
* layout name
*/
layout_name = strdup (GUI_LAYOUT_DEFAULT_NAME);
ptr_option_name = option_name;
force_current_layout = 1;
}
if (!layout_name)
return WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE;
ptr_layout = gui_layout_search (layout_name);
if (!ptr_layout)
{
ptr_layout = gui_layout_alloc (layout_name);
if (!ptr_layout)
{
argv = string_split (value, ";", 0, 0, &argc);
if (argv)
{
if (argc >= 3)
{
error1 = NULL;
number1 = strtol (argv[2], &error1, 10);
if (error1 && !error1[0])
{
gui_layout_buffer_add (&gui_layout_buffers,
&last_gui_layout_buffer,
argv[0], argv[1], number1);
}
}
string_free_split (argv);
}
free (layout_name);
return WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE;
}
else if (string_strcasecmp (option_name, "window") == 0)
gui_layout_add (ptr_layout);
}
if (string_strcasecmp (ptr_option_name, "buffer") == 0)
{
argv = string_split (value, ";", 0, 0, &argc);
if (argv)
{
argv = string_split (value, ";", 0, 0, &argc);
if (argv)
if (argc >= 3)
{
if (argc >= 6)
{
error1 = NULL;
number1 = strtol (argv[0], &error1, 10);
error2 = NULL;
number2 = strtol (argv[1], &error2, 10);
error3 = NULL;
number3 = strtol (argv[2], &error3, 10);
error4 = NULL;
number4 = strtol (argv[3], &error4, 10);
if (error1 && !error1[0] && error2 && !error2[0]
&& error3 && !error3[0] && error4 && !error4[0])
{
parent = gui_layout_window_search_by_id (gui_layout_windows,
number2);
gui_layout_window_add (&gui_layout_windows,
number1,
parent,
number3,
number4,
(strcmp (argv[4], "-") != 0) ?
argv[4] : NULL,
(strcmp (argv[4], "-") != 0) ?
argv[5] : NULL);
}
}
string_free_split (argv);
error1 = NULL;
number1 = strtol (argv[2], &error1, 10);
if (error1 && !error1[0])
gui_layout_buffer_add (ptr_layout, argv[0], argv[1], number1);
}
string_free_split (argv);
}
}
else if (string_strcasecmp (ptr_option_name, "window") == 0)
{
argv = string_split (value, ";", 0, 0, &argc);
if (argv)
{
if (argc >= 6)
{
error1 = NULL;
number1 = strtol (argv[0], &error1, 10);
error2 = NULL;
number2 = strtol (argv[1], &error2, 10);
error3 = NULL;
number3 = strtol (argv[2], &error3, 10);
error4 = NULL;
number4 = strtol (argv[3], &error4, 10);
if (error1 && !error1[0] && error2 && !error2[0]
&& error3 && !error3[0] && error4 && !error4[0])
{
parent = gui_layout_window_search_by_id (ptr_layout->layout_windows,
number2);
gui_layout_window_add (&ptr_layout->layout_windows,
number1,
parent,
number3,
number4,
(strcmp (argv[4], "-") != 0) ?
argv[4] : NULL,
(strcmp (argv[4], "-") != 0) ?
argv[5] : NULL);
}
}
string_free_split (argv);
}
}
else if (string_strcasecmp (ptr_option_name, "current") == 0)
{
if (config_file_string_to_boolean (value))
gui_layout_current = ptr_layout;
}
if (force_current_layout)
gui_layout_current = ptr_layout;
free (layout_name);
return WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE;
}
/*
* Writes layout of windows in WeeChat configuration file.
*
* Returns:
* 1: OK
* 0: write error
*/
int
config_weechat_layout_write_tree (struct t_config_file *config_file,
const char *option_name,
struct t_gui_layout_window *layout_window)
{
if (!config_file_write_line (config_file, "window", "\"%d;%d;%d;%d;%s;%s\"",
if (!config_file_write_line (config_file, option_name,
"\"%d;%d;%d;%d;%s;%s\"",
layout_window->internal_id,
(layout_window->parent_node) ?
layout_window->parent_node->internal_id : 0,
@@ -1354,23 +1403,23 @@ config_weechat_layout_write_tree (struct t_config_file *config_file,
layout_window->plugin_name : "-",
(layout_window->buffer_name) ?
layout_window->buffer_name : "-"))
return WEECHAT_CONFIG_WRITE_ERROR;
return 0;
if (layout_window->child1)
{
if (config_weechat_layout_write_tree (config_file,
layout_window->child1) != WEECHAT_CONFIG_WRITE_OK)
return WEECHAT_CONFIG_WRITE_ERROR;
if (!config_weechat_layout_write_tree (config_file, option_name,
layout_window->child1))
return 0;
}
if (layout_window->child2)
{
if (config_weechat_layout_write_tree (config_file,
layout_window->child2) != WEECHAT_CONFIG_WRITE_OK)
return WEECHAT_CONFIG_WRITE_ERROR;
if (!config_weechat_layout_write_tree (config_file, option_name,
layout_window->child2))
return 0;
}
return WEECHAT_CONFIG_WRITE_OK;
return 1;
}
/*
@@ -1381,7 +1430,9 @@ int
config_weechat_layout_write_cb (void *data, struct t_config_file *config_file,
const char *section_name)
{
struct t_gui_layout *ptr_layout;
struct t_gui_layout_buffer *ptr_layout_buffer;
char option_name[1024];
/* make C compiler happy */
(void) data;
@@ -1389,21 +1440,41 @@ config_weechat_layout_write_cb (void *data, struct t_config_file *config_file,
if (!config_file_write_line (config_file, section_name, NULL))
return WEECHAT_CONFIG_WRITE_ERROR;
for (ptr_layout_buffer = gui_layout_buffers; ptr_layout_buffer;
ptr_layout_buffer = ptr_layout_buffer->next_layout)
for (ptr_layout = gui_layouts; ptr_layout;
ptr_layout = ptr_layout->next_layout)
{
if (!config_file_write_line (config_file, "buffer", "\"%s;%s;%d\"",
ptr_layout_buffer->plugin_name,
ptr_layout_buffer->buffer_name,
ptr_layout_buffer->number))
return WEECHAT_CONFIG_WRITE_ERROR;
}
/* write layout for buffers */
for (ptr_layout_buffer = ptr_layout->layout_buffers; ptr_layout_buffer;
ptr_layout_buffer = ptr_layout_buffer->next_layout)
{
snprintf (option_name, sizeof (option_name),
"%s.buffer", ptr_layout->name);
if (!config_file_write_line (config_file, option_name,
"\"%s;%s;%d\"",
ptr_layout_buffer->plugin_name,
ptr_layout_buffer->buffer_name,
ptr_layout_buffer->number))
return WEECHAT_CONFIG_WRITE_ERROR;
}
if (gui_layout_windows)
{
if (config_weechat_layout_write_tree (config_file,
gui_layout_windows) != WEECHAT_CONFIG_WRITE_OK)
return WEECHAT_CONFIG_WRITE_ERROR;
/* write layout for windows */
if (ptr_layout->layout_windows)
{
snprintf (option_name, sizeof (option_name),
"%s.window", ptr_layout->name);
if (!config_weechat_layout_write_tree (config_file, option_name,
ptr_layout->layout_windows))
return WEECHAT_CONFIG_WRITE_ERROR;
}
/* write "current = on" if it is current layout */
if (ptr_layout == gui_layout_current)
{
snprintf (option_name, sizeof (option_name),
"%s.current", ptr_layout->name);
if (!config_file_write_line (config_file, option_name, "on"))
return WEECHAT_CONFIG_WRITE_ERROR;
}
}
return WEECHAT_CONFIG_WRITE_OK;
+23 -25
View File
@@ -50,9 +50,7 @@ struct t_gui_buffer *upgrade_current_buffer = NULL;
struct t_gui_buffer *upgrade_set_current_buffer = NULL;
int upgrade_set_current_window = 0;
int hotlist_reset = 0;
struct t_gui_layout_buffer *upgrade_layout_buffers = NULL;
struct t_gui_layout_buffer *last_upgrade_layout_buffer = NULL;
struct t_gui_layout_window *upgrade_layout_windows = NULL;
struct t_gui_layout *upgrade_layout = NULL;
/*
@@ -345,17 +343,21 @@ upgrade_weechat_save_layout_window_tree (struct t_upgrade_file *upgrade_file,
int
upgrade_weechat_save_layout_window (struct t_upgrade_file *upgrade_file)
{
struct t_gui_layout_window *layout_windows;
struct t_gui_layout *ptr_layout;
int rc;
/* get current layout for windows */
layout_windows = NULL;
gui_layout_window_save (&layout_windows);
ptr_layout = gui_layout_alloc (GUI_LAYOUT_UPGRADE);
/* save tree with layout of windows */
rc = upgrade_weechat_save_layout_window_tree (upgrade_file, layout_windows);
if (ptr_layout)
{
gui_layout_window_save (ptr_layout);
gui_layout_window_remove_all (&layout_windows);
/* save tree with layout of windows */
rc = upgrade_weechat_save_layout_window_tree (upgrade_file, ptr_layout->layout_windows);
gui_layout_free (ptr_layout);
}
return rc;
}
@@ -434,8 +436,7 @@ upgrade_weechat_read_cb (void *data,
case UPGRADE_WEECHAT_TYPE_BUFFER:
plugin_name = infolist_string (infolist, "plugin_name");
name = infolist_string (infolist, "name");
gui_layout_buffer_add (&upgrade_layout_buffers,
&last_upgrade_layout_buffer,
gui_layout_buffer_add (upgrade_layout,
plugin_name, name,
infolist_integer (infolist, "number"));
if (gui_buffer_is_main (plugin_name, name))
@@ -686,9 +687,9 @@ upgrade_weechat_read_cb (void *data,
}
break;
case UPGRADE_WEECHAT_TYPE_LAYOUT_WINDOW:
gui_layout_window_add (&upgrade_layout_windows,
gui_layout_window_add (&upgrade_layout->layout_windows,
infolist_integer (infolist, "internal_id"),
gui_layout_window_search_by_id (upgrade_layout_windows,
gui_layout_window_search_by_id (upgrade_layout->layout_windows,
infolist_integer (infolist, "parent_id")),
infolist_integer (infolist, "split_pct"),
infolist_integer (infolist, "split_horiz"),
@@ -715,6 +716,8 @@ upgrade_weechat_load ()
int rc;
struct t_upgrade_file *upgrade_file;
upgrade_layout = gui_layout_alloc (GUI_LAYOUT_UPGRADE);
upgrade_file = upgrade_file_new (WEECHAT_UPGRADE_FILENAME, 0);
rc = upgrade_file_read (upgrade_file, &upgrade_weechat_read_cb, NULL);
@@ -724,18 +727,13 @@ upgrade_weechat_load ()
gui_color_buffer_assign ();
gui_color_buffer_display ();
if (upgrade_layout_buffers)
{
gui_layout_buffer_apply (upgrade_layout_buffers);
gui_layout_buffer_remove_all (&upgrade_layout_buffers,
&last_upgrade_layout_buffer);
}
if (upgrade_layout->layout_buffers)
gui_layout_buffer_apply (upgrade_layout);
if (upgrade_layout->layout_windows)
gui_layout_window_apply (upgrade_layout, -1);
if (upgrade_layout_windows)
{
gui_layout_window_apply (upgrade_layout_windows, -1);
gui_layout_window_remove_all (&upgrade_layout_windows);
}
gui_layout_free (upgrade_layout);
upgrade_layout = NULL;
if (upgrade_set_current_window > 0)
gui_window_switch_by_number (upgrade_set_current_window);
@@ -746,7 +744,7 @@ upgrade_weechat_load ()
upgrade_set_current_buffer, 0);
}
gui_layout_buffer_get_number_all (gui_layout_buffers);
gui_layout_buffer_get_number_all (gui_layout_current);
return rc;
}
+2 -2
View File
@@ -69,9 +69,9 @@
#include "../gui/gui-chat.h"
#include "../gui/gui-color.h"
#include "../gui/gui-completion.h"
#include "../gui/gui-key.h"
#include "../gui/gui-layout.h"
#include "../gui/gui-main.h"
#include "../gui/gui-key.h"
#include "../plugins/plugin.h"
@@ -507,7 +507,7 @@ main (int argc, char *argv[])
argc, argv);
command_startup (1); /* commands executed after plugins */
if (!weechat_upgrading)
gui_layout_window_apply (gui_layout_windows, -1); /* apply win layout */
gui_layout_window_apply (gui_layout_current, -1);
if (weechat_upgrading)
upgrade_weechat_end (); /* remove .upgrade files + signal */
+2 -3
View File
@@ -431,9 +431,8 @@ gui_main_end (int clean_exit)
if (gui_input_clipboard)
free (gui_input_clipboard);
/* delete layout saved */
gui_layout_window_remove_all (&gui_layout_windows);
gui_layout_buffer_remove_all (&gui_layout_buffers, &last_gui_layout_buffer);
/* delete layouts */
gui_layout_remove_all ();
/* delete all windows */
while (gui_windows)
+4 -3
View File
@@ -1580,6 +1580,7 @@ gui_window_refresh_windows ()
struct t_gui_window *ptr_win, *old_current_window;
struct t_gui_bar_window *ptr_bar_win;
struct t_gui_bar *ptr_bar;
struct t_gui_layout *ptr_layout;
int add_bottom, add_top, add_left, add_right;
if (!gui_init_ok)
@@ -1608,11 +1609,11 @@ gui_window_refresh_windows ()
gui_window_get_height () - add_top - add_bottom,
0) < 0)
{
if (gui_window_layout_before_zoom)
ptr_layout = gui_layout_search (GUI_LAYOUT_ZOOM);
if (ptr_layout)
{
/* remove zoom saved, to force a new zoom */
gui_layout_window_remove_all (&gui_window_layout_before_zoom);
gui_window_layout_id_current_window = -1;
gui_layout_remove (ptr_layout);
}
gui_window_zoom (gui_current_window);
}
+3 -6
View File
@@ -460,7 +460,7 @@ gui_buffer_new (struct t_weechat_plugin *plugin,
new_buffer->plugin_name_for_upgrade = NULL;
/* number will be set later (when inserting buffer in list) */
gui_layout_buffer_get_number (gui_layout_buffers,
gui_layout_buffer_get_number (gui_layout_current,
plugin_get_name (plugin),
name,
&(new_buffer->layout_number),
@@ -578,11 +578,8 @@ gui_buffer_new (struct t_weechat_plugin *plugin,
/* set notify level */
new_buffer->notify = gui_buffer_notify_get (new_buffer);
/*
* check if this buffer should be assigned to a window,
* according to windows layout saved
*/
gui_layout_window_check_buffer (new_buffer);
/* assign this buffer to windows of layout */
gui_layout_window_assign_buffer (new_buffer);
if (first_buffer_creation)
{
+1 -1
View File
@@ -1916,8 +1916,8 @@ gui_key_print_log (struct t_gui_buffer *buffer)
{
for (i = 0; i < GUI_KEY_NUM_CONTEXTS; i++)
{
log_printf ("[keys for context: %s]", gui_key_context_string[i]);
log_printf ("");
log_printf ("[keys for context: %s]", gui_key_context_string[i]);
log_printf (" keys . . . . . . . . : 0x%lx", gui_keys[i]);
log_printf (" last_key . . . . . . : 0x%lx", last_gui_key[i]);
log_printf (" keys_count . . . . . : %d", gui_keys_count[i]);
+362 -138
View File
@@ -37,76 +37,168 @@
#include "gui-window.h"
struct t_gui_layout_buffer *gui_layout_buffers = NULL;
struct t_gui_layout_buffer *last_gui_layout_buffer = NULL;
struct t_gui_layout_window *gui_layout_windows = NULL;
/* used to attribute a unique id for each window in tree */
int gui_layout_internal_id = 0;
/* internal id of current window, when saving windows layout */
int gui_layout_internal_id_current_window = 0;
/* pointer to current window, found when applying windows layout */
struct t_gui_window *gui_layout_ptr_current_window = NULL;
struct t_gui_layout *gui_layouts = NULL;
struct t_gui_layout *last_gui_layout = NULL;
struct t_gui_layout *gui_layout_current = NULL;
/*
* Removes a buffer layout.
* Searches a layout by name.
*
* Returns pointer to layout found, NULL if not found.
*/
struct t_gui_layout *
gui_layout_search (const char *name)
{
struct t_gui_layout *ptr_layout;
for (ptr_layout = gui_layouts; ptr_layout;
ptr_layout = ptr_layout->next_layout)
{
if (strcmp (ptr_layout->name, name) == 0)
return ptr_layout;
}
/* layout not found */
return NULL;
}
/*
* Allocates a new layout.
*
* Note: the layout is not added to the list (a call to gui_layout_add() will do
* that).
*
* Returns pointer to new layout, NULL if error.
*/
struct t_gui_layout *
gui_layout_alloc (const char *name)
{
struct t_gui_layout *new_layout;
if (!name || !name[0])
return NULL;
/* create new layout */
new_layout = malloc (sizeof (*new_layout));
if (!new_layout)
return NULL;
new_layout->name = strdup (name);
new_layout->layout_buffers = NULL;
new_layout->last_layout_buffer = NULL;
new_layout->layout_windows = NULL;
new_layout->internal_id = 0;
new_layout->internal_id_current_window = 0;
new_layout->prev_layout = NULL;
new_layout->next_layout = NULL;
return new_layout;
}
/*
* Adds a layout in "gui_layouts".
*
* Returns:
* 1: layout added
* 0: layout not added (another layout exists with same name)
*/
int
gui_layout_add (struct t_gui_layout *layout)
{
struct t_gui_layout *ptr_layout;
if (!layout)
return 0;
ptr_layout = gui_layout_search (layout->name);
if (ptr_layout)
return 0;
layout->prev_layout = last_gui_layout;
layout->next_layout = NULL;
if (gui_layouts)
last_gui_layout->next_layout = layout;
else
gui_layouts = layout;
last_gui_layout = layout;
return 1;
}
/*
* Renames a layout.
*/
void
gui_layout_buffer_remove (struct t_gui_layout_buffer **layout_buffers,
struct t_gui_layout_buffer **last_layout_buffer,
gui_layout_rename (struct t_gui_layout *layout, const char *new_name)
{
if (!layout || !new_name || !new_name[0])
return;
if (layout->name)
free (layout->name);
layout->name = strdup (new_name);
}
/*
* Removes a buffer layout from a layout.
*/
void
gui_layout_buffer_remove (struct t_gui_layout *layout,
struct t_gui_layout_buffer *layout_buffer)
{
/* free data */
if (layout_buffer->plugin_name)
free (layout_buffer->plugin_name);
if (layout_buffer->buffer_name)
free (layout_buffer->buffer_name);
if (!layout)
return;
/* remove layout from list */
if (layout_buffer->prev_layout)
(layout_buffer->prev_layout)->next_layout = layout_buffer->next_layout;
if (layout_buffer->next_layout)
(layout_buffer->next_layout)->prev_layout = layout_buffer->prev_layout;
if (*layout_buffers == layout_buffer)
*layout_buffers = layout_buffer->next_layout;
if (*last_layout_buffer == layout_buffer)
*last_layout_buffer = layout_buffer->prev_layout;
if (layout->layout_buffers == layout_buffer)
layout->layout_buffers = layout_buffer->next_layout;
if (layout->last_layout_buffer == layout_buffer)
layout->last_layout_buffer = layout_buffer->prev_layout;
/* free data */
if (layout_buffer->plugin_name)
free (layout_buffer->plugin_name);
if (layout_buffer->buffer_name)
free (layout_buffer->buffer_name);
free (layout_buffer);
}
/*
* Removes all buffer layouts.
* Removes all buffer layouts from a layout.
*/
void
gui_layout_buffer_remove_all (struct t_gui_layout_buffer **layout_buffers,
struct t_gui_layout_buffer **last_layout_buffer)
gui_layout_buffer_remove_all (struct t_gui_layout *layout)
{
while (*layout_buffers)
if (!layout)
return;
while (layout->layout_buffers)
{
gui_layout_buffer_remove (layout_buffers, last_layout_buffer,
*layout_buffers);
gui_layout_buffer_remove (layout, layout->layout_buffers);
}
}
/*
* Resets layout for buffers.
* Resets layout_number in all buffers.
*/
void
gui_layout_buffer_reset (struct t_gui_layout_buffer **layout_buffers,
struct t_gui_layout_buffer **last_layout_buffer)
gui_layout_buffer_reset ()
{
struct t_gui_buffer *ptr_buffer;
gui_layout_buffer_remove_all (layout_buffers, last_layout_buffer);
for (ptr_buffer = gui_buffers; ptr_buffer;
ptr_buffer = ptr_buffer->next_buffer)
{
@@ -115,19 +207,21 @@ gui_layout_buffer_reset (struct t_gui_layout_buffer **layout_buffers,
}
/*
* Adds a buffer layout.
* Adds a buffer layout in a layout.
*
* Returns pointer to buffer layout, NULL if error.
*/
struct t_gui_layout_buffer *
gui_layout_buffer_add (struct t_gui_layout_buffer **layout_buffers,
struct t_gui_layout_buffer **last_layout_buffer,
gui_layout_buffer_add (struct t_gui_layout *layout,
const char *plugin_name, const char *buffer_name,
int number)
{
struct t_gui_layout_buffer *new_layout_buffer;
if (!layout || !plugin_name || !buffer_name)
return NULL;
new_layout_buffer = malloc (sizeof (*new_layout_buffer));
if (new_layout_buffer)
{
@@ -137,12 +231,12 @@ gui_layout_buffer_add (struct t_gui_layout_buffer **layout_buffers,
new_layout_buffer->number = number;
/* add layout buffer to list */
new_layout_buffer->prev_layout = *last_layout_buffer;
if (*layout_buffers)
(*last_layout_buffer)->next_layout = new_layout_buffer;
new_layout_buffer->prev_layout = layout->last_layout_buffer;
if (layout->layout_buffers)
(layout->last_layout_buffer)->next_layout = new_layout_buffer;
else
*layout_buffers = new_layout_buffer;
*last_layout_buffer = new_layout_buffer;
layout->layout_buffers = new_layout_buffer;
layout->last_layout_buffer = new_layout_buffer;
new_layout_buffer->next_layout = NULL;
}
@@ -154,7 +248,7 @@ gui_layout_buffer_add (struct t_gui_layout_buffer **layout_buffers,
*/
void
gui_layout_buffer_get_number (struct t_gui_layout_buffer *layout_buffers,
gui_layout_buffer_get_number (struct t_gui_layout *layout,
const char *plugin_name, const char *buffer_name,
int *layout_number,
int *layout_number_merge_order)
@@ -165,10 +259,13 @@ gui_layout_buffer_get_number (struct t_gui_layout_buffer *layout_buffers,
*layout_number = 0;
*layout_number_merge_order = 0;
if (!layout)
return;
old_number = -1;
merge_order = 0;
for (ptr_layout_buffer = layout_buffers; ptr_layout_buffer;
for (ptr_layout_buffer = layout->layout_buffers; ptr_layout_buffer;
ptr_layout_buffer = ptr_layout_buffer->next_layout)
{
if (ptr_layout_buffer->number != old_number)
@@ -194,17 +291,14 @@ gui_layout_buffer_get_number (struct t_gui_layout_buffer *layout_buffers,
*/
void
gui_layout_buffer_get_number_all (struct t_gui_layout_buffer *layout_buffers)
gui_layout_buffer_get_number_all (struct t_gui_layout *layout)
{
struct t_gui_buffer *ptr_buffer;
if (!layout_buffers)
return;
for (ptr_buffer = gui_buffers; ptr_buffer;
ptr_buffer = ptr_buffer->next_buffer)
{
gui_layout_buffer_get_number (layout_buffers,
gui_layout_buffer_get_number (layout,
gui_buffer_get_plugin_name (ptr_buffer),
ptr_buffer->name,
&(ptr_buffer->layout_number),
@@ -213,31 +307,30 @@ gui_layout_buffer_get_number_all (struct t_gui_layout_buffer *layout_buffers)
}
/*
* Saves current layout for buffers.
* Saves current layout for buffers in a layout.
*/
void
gui_layout_buffer_save (struct t_gui_layout_buffer **layout_buffers,
struct t_gui_layout_buffer **last_layout_buffer)
gui_layout_buffer_save (struct t_gui_layout *layout)
{
struct t_gui_buffer *ptr_buffer;
if (!layout_buffers || !last_layout_buffer)
if (!layout)
return;
gui_layout_buffer_remove_all (layout_buffers, last_layout_buffer);
gui_layout_buffer_remove_all (layout);
for (ptr_buffer = gui_buffers; ptr_buffer;
ptr_buffer = ptr_buffer->next_buffer)
{
gui_layout_buffer_add (layout_buffers, last_layout_buffer,
gui_layout_buffer_add (layout,
gui_buffer_get_plugin_name (ptr_buffer),
ptr_buffer->name,
ptr_buffer->number);
}
/* get layout number for all buffers */
gui_layout_buffer_get_number_all (*layout_buffers);
gui_layout_buffer_get_number_all (layout);
}
/*
@@ -245,13 +338,16 @@ gui_layout_buffer_save (struct t_gui_layout_buffer **layout_buffers,
*/
void
gui_layout_buffer_apply (struct t_gui_layout_buffer *layout_buffers)
gui_layout_buffer_apply (struct t_gui_layout *layout)
{
struct t_gui_buffer *ptr_buffer, *ptr_next_buffer;
int number, count_merged;
if (!layout)
return;
/* get layout number for all buffers */
gui_layout_buffer_get_number_all (layout_buffers);
gui_layout_buffer_get_number_all (layout);
/* unmerge all buffers */
gui_buffer_unmerge_all ();
@@ -298,6 +394,9 @@ gui_layout_buffer_apply (struct t_gui_layout_buffer *layout_buffers)
void
gui_layout_window_remove (struct t_gui_layout_window *layout_window)
{
if (!layout_window)
return;
/* first free children */
if (layout_window->child1)
gui_layout_window_remove (layout_window->child1);
@@ -314,30 +413,32 @@ gui_layout_window_remove (struct t_gui_layout_window *layout_window)
}
/*
* Removes all window layouts.
* Removes all window layouts from a layout.
*/
void
gui_layout_window_remove_all (struct t_gui_layout_window **layout_windows)
gui_layout_window_remove_all (struct t_gui_layout *layout)
{
if (*layout_windows)
if (!layout)
return;
if (layout->layout_windows)
{
gui_layout_window_remove (*layout_windows);
*layout_windows = NULL;
gui_layout_window_remove (layout->layout_windows);
layout->layout_windows = NULL;
}
}
/*
* Resets layout for windows.
*/
void
gui_layout_window_reset (struct t_gui_layout_window **layout_windows)
gui_layout_window_reset ()
{
struct t_gui_window *ptr_win;
gui_layout_window_remove_all (layout_windows);
for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
{
if (ptr_win->layout_plugin_name)
@@ -354,33 +455,33 @@ gui_layout_window_reset (struct t_gui_layout_window **layout_windows)
}
/*
* Searches for a window layout by internal id in a layout.
* Searches for a window layout by internal id.
*
* Returns pointer to window layout found, NULL if not found.
*/
struct t_gui_layout_window *
gui_layout_window_search_by_id (struct t_gui_layout_window *layout_windows,
gui_layout_window_search_by_id (struct t_gui_layout_window *layout_window,
int id)
{
struct t_gui_layout_window *res;
if (!layout_windows)
if (!layout_window)
return NULL;
if (layout_windows->internal_id == id)
return layout_windows;
if (layout_window->internal_id == id)
return layout_window;
if (layout_windows->child1)
if (layout_window->child1)
{
res = gui_layout_window_search_by_id (layout_windows->child1, id);
res = gui_layout_window_search_by_id (layout_window->child1, id);
if (res)
return res;
}
if (layout_windows->child2)
if (layout_window->child2)
{
res = gui_layout_window_search_by_id (layout_windows->child2, id);
res = gui_layout_window_search_by_id (layout_window->child2, id);
if (res)
return res;
}
@@ -395,7 +496,7 @@ gui_layout_window_search_by_id (struct t_gui_layout_window *layout_windows,
*/
struct t_gui_layout_window *
gui_layout_window_add (struct t_gui_layout_window **layout_windows,
gui_layout_window_add (struct t_gui_layout_window **layout_window,
int internal_id,
struct t_gui_layout_window *parent,
int split_pct, int split_horiz,
@@ -403,6 +504,9 @@ gui_layout_window_add (struct t_gui_layout_window **layout_windows,
{
struct t_gui_layout_window *new_layout_window;
if (!layout_window)
return NULL;
new_layout_window = malloc (sizeof (*new_layout_window));
if (new_layout_window)
{
@@ -427,7 +531,7 @@ gui_layout_window_add (struct t_gui_layout_window **layout_windows,
else
{
/* no parent? => it's root! */
*layout_windows = new_layout_window;
*layout_window = new_layout_window;
}
}
@@ -439,7 +543,8 @@ gui_layout_window_add (struct t_gui_layout_window **layout_windows,
*/
void
gui_layout_window_save_tree (struct t_gui_layout_window **layout_windows,
gui_layout_window_save_tree (struct t_gui_layout *layout,
struct t_gui_layout_window **layout_windows,
struct t_gui_layout_window *parent_layout,
struct t_gui_window_tree *tree)
{
@@ -448,10 +553,10 @@ gui_layout_window_save_tree (struct t_gui_layout_window **layout_windows,
if (tree->window)
{
if (tree->window == gui_current_window)
gui_layout_internal_id_current_window = gui_layout_internal_id;
layout->internal_id_current_window = layout->internal_id;
layout_window = gui_layout_window_add (layout_windows,
gui_layout_internal_id,
layout->internal_id,
parent_layout,
0, 0,
gui_buffer_get_plugin_name (tree->window->buffer),
@@ -460,7 +565,7 @@ gui_layout_window_save_tree (struct t_gui_layout_window **layout_windows,
else
{
layout_window = gui_layout_window_add (layout_windows,
gui_layout_internal_id,
layout->internal_id,
parent_layout,
tree->split_pct,
tree->split_horizontal,
@@ -468,42 +573,48 @@ gui_layout_window_save_tree (struct t_gui_layout_window **layout_windows,
NULL);
}
gui_layout_internal_id++;
layout->internal_id++;
if (tree->child1)
gui_layout_window_save_tree (layout_windows,
{
gui_layout_window_save_tree (layout, layout_windows,
layout_window, tree->child1);
}
if (tree->child2)
gui_layout_window_save_tree (layout_windows,
{
gui_layout_window_save_tree (layout, layout_windows,
layout_window, tree->child2);
}
}
/*
* Saves current layout for windows.
* Saves current layout for windows in a layout.
*
* Returns internal id of current window.
*/
int
gui_layout_window_save (struct t_gui_layout_window **layout_windows)
void
gui_layout_window_save (struct t_gui_layout *layout)
{
gui_layout_window_remove_all (layout_windows);
if (!layout)
return;
gui_layout_internal_id = 1;
gui_layout_internal_id_current_window = -1;
gui_layout_window_remove (layout->layout_windows);
gui_layout_window_save_tree (layout_windows, NULL, gui_windows_tree);
layout->internal_id = 1;
layout->internal_id_current_window = -1;
return gui_layout_internal_id_current_window;
gui_layout_window_save_tree (layout, &layout->layout_windows, NULL,
gui_windows_tree);
}
/*
* Checks if buffer can be assigned to one window.
* Assigns a buffer to windows.
*/
void
gui_layout_window_check_buffer (struct t_gui_buffer *buffer)
gui_layout_window_assign_buffer (struct t_gui_buffer *buffer)
{
struct t_gui_window *ptr_win;
const char *plugin_name;
@@ -529,7 +640,7 @@ gui_layout_window_check_buffer (struct t_gui_buffer *buffer)
*/
void
gui_layout_window_check_all_buffers ()
gui_layout_window_assign_all_buffers ()
{
struct t_gui_window *ptr_win;
struct t_gui_buffer *ptr_buffer;
@@ -559,7 +670,8 @@ gui_layout_window_check_all_buffers ()
void
gui_layout_window_apply_tree (struct t_gui_layout_window *layout_window,
int internal_id_current_window)
int internal_id_current_window,
struct t_gui_window **current_window)
{
struct t_gui_window *old_window;
@@ -580,21 +692,27 @@ gui_layout_window_apply_tree (struct t_gui_layout_window *layout_window,
}
if (layout_window->child2)
{
gui_layout_window_apply_tree (layout_window->child2,
internal_id_current_window);
internal_id_current_window,
current_window);
}
if (old_window != gui_current_window)
gui_window_switch (old_window);
if (layout_window->child1)
{
gui_layout_window_apply_tree (layout_window->child1,
internal_id_current_window);
internal_id_current_window,
current_window);
}
}
else
{
/* leaf */
if (layout_window->internal_id == internal_id_current_window)
gui_layout_ptr_current_window = gui_current_window;
*current_window = gui_current_window;
gui_window_set_layout_plugin_name (gui_current_window,
layout_window->plugin_name);
@@ -608,26 +726,26 @@ gui_layout_window_apply_tree (struct t_gui_layout_window *layout_window,
*/
void
gui_layout_window_apply (struct t_gui_layout_window *layout_windows,
gui_layout_window_apply (struct t_gui_layout *layout,
int internal_id_current_window)
{
struct t_gui_window *old_window;
struct t_gui_window *old_window, *ptr_current_window;
if (!layout_windows)
if (!layout || !layout->layout_windows)
return;
gui_window_merge_all (gui_current_window);
old_window = gui_current_window;
gui_layout_ptr_current_window = NULL;
ptr_current_window = NULL;
gui_layout_window_apply_tree (layout_windows,
internal_id_current_window);
gui_layout_window_apply_tree (layout->layout_windows,
internal_id_current_window,
&ptr_current_window);
gui_layout_window_check_all_buffers ();
gui_layout_window_assign_all_buffers ();
gui_window_switch ((gui_layout_ptr_current_window) ?
gui_layout_ptr_current_window : old_window);
gui_window_switch ((ptr_current_window) ? ptr_current_window : old_window);
}
/*
@@ -637,21 +755,113 @@ gui_layout_window_apply (struct t_gui_layout_window *layout_windows,
void
gui_layout_save_on_exit ()
{
/* save layout on exit */
struct t_gui_layout *ptr_layout;
if (CONFIG_BOOLEAN(config_look_save_layout_on_exit) == CONFIG_LOOK_SAVE_LAYOUT_ON_EXIT_NONE)
return;
ptr_layout = gui_layout_current;
if (!ptr_layout)
{
/* create a "default" layout if needed */
ptr_layout = gui_layout_search (GUI_LAYOUT_DEFAULT_NAME);
if (!ptr_layout)
{
ptr_layout = gui_layout_alloc (GUI_LAYOUT_DEFAULT_NAME);
if (!ptr_layout)
return;
gui_layout_add (ptr_layout);
}
}
/* save current layout */
switch (CONFIG_BOOLEAN(config_look_save_layout_on_exit))
{
case CONFIG_LOOK_SAVE_LAYOUT_ON_EXIT_NONE:
break;
case CONFIG_LOOK_SAVE_LAYOUT_ON_EXIT_BUFFERS:
gui_layout_buffer_save (&gui_layout_buffers, &last_gui_layout_buffer);
gui_layout_buffer_save (ptr_layout);
break;
case CONFIG_LOOK_SAVE_LAYOUT_ON_EXIT_WINDOWS:
gui_layout_window_save (&gui_layout_windows);
gui_layout_window_save (ptr_layout);
break;
case CONFIG_LOOK_SAVE_LAYOUT_ON_EXIT_ALL:
gui_layout_buffer_save (&gui_layout_buffers, &last_gui_layout_buffer);
gui_layout_window_save (&gui_layout_windows);
gui_layout_buffer_save (ptr_layout);
gui_layout_window_save (ptr_layout);
break;
default:
break;
}
}
/*
* Frees a layout.
*/
void
gui_layout_free (struct t_gui_layout *layout)
{
if (!layout)
return;
/* remove current layout if this is the layout we are removing */
if (gui_layout_current == layout)
gui_layout_current = NULL;
/* remove buffers and windows */
gui_layout_buffer_remove_all (layout);
gui_layout_window_remove (layout->layout_windows);
/* free data */
if (layout->name)
free (layout->name);
free (layout);
}
/*
* Removes a layout from hashtable "gui_layouts".
*/
void
gui_layout_remove (struct t_gui_layout *layout)
{
struct t_gui_layout *new_gui_layouts;
if (!layout)
return;
/* remove current layout if this is the layout we are removing */
if (gui_layout_current == layout)
gui_layout_current = NULL;
/* remove alias from list */
if (last_gui_layout == layout)
last_gui_layout = layout->prev_layout;
if (layout->prev_layout)
{
(layout->prev_layout)->next_layout = layout->next_layout;
new_gui_layouts = gui_layouts;
}
else
new_gui_layouts = layout->next_layout;
if (layout->next_layout)
(layout->next_layout)->prev_layout = layout->prev_layout;
/* free data */
gui_layout_free (layout);
gui_layouts = new_gui_layouts;
}
/*
* Removes all layouts from "gui_layouts".
*/
void
gui_layout_remove_all ()
{
while (gui_layouts)
{
gui_layout_remove (gui_layouts);
}
}
@@ -740,19 +950,19 @@ gui_layout_print_log_window (struct t_gui_layout_window *layout_window,
int level)
{
log_printf ("");
log_printf ("[layout window (addr:0x%lx) (%s) (level %d)]",
log_printf (" [layout window (addr:0x%lx) (%s) (level %d)]",
layout_window,
(layout_window->plugin_name) ? "leaf" : "node",
level);
log_printf (" internal_id. . . . . . : %d", layout_window->internal_id);
log_printf (" parent_node. . . . . . : 0x%lx", layout_window->parent_node);
log_printf (" split_pct. . . . . . . : %d", layout_window->split_pct);
log_printf (" split_horiz. . . . . . : %d", layout_window->split_horiz);
log_printf (" child1 . . . . . . . . : 0x%lx", layout_window->child1);
log_printf (" child2 . . . . . . . . : 0x%lx", layout_window->child2);
log_printf (" plugin_name. . . . . . : '%s'", layout_window->plugin_name);
log_printf (" buffer_name. . . . . . : '%s'", layout_window->buffer_name);
log_printf (" internal_id. . . . . : %d", layout_window->internal_id);
log_printf (" parent_node. . . . . : 0x%lx", layout_window->parent_node);
log_printf (" split_pct. . . . . . : %d", layout_window->split_pct);
log_printf (" split_horiz. . . . . : %d", layout_window->split_horiz);
log_printf (" child1 . . . . . . . : 0x%lx", layout_window->child1);
log_printf (" child2 . . . . . . . : 0x%lx", layout_window->child2);
log_printf (" plugin_name. . . . . : '%s'", layout_window->plugin_name);
log_printf (" buffer_name. . . . . : '%s'", layout_window->buffer_name);
if (layout_window->child1)
gui_layout_print_log_window (layout_window->child1, level + 1);
@@ -762,28 +972,42 @@ gui_layout_print_log_window (struct t_gui_layout_window *layout_window,
}
/*
* Prints layout infos in WeeChat log file (usually for crash dump).
* Prints layouts in WeeChat log file (usually for crash dump).
*/
void
gui_layout_print_log ()
{
struct t_gui_layout *ptr_layout;
struct t_gui_layout_buffer *ptr_layout_buffer;
log_printf ("");
log_printf ("gui_layouts . . . . . . . . . : 0x%lx", gui_layouts);
log_printf ("last_gui_layout . . . . . . . : 0x%lx", last_gui_layout);
log_printf ("gui_layout_current. . . . . . : 0x%lx", gui_layout_current);
for (ptr_layout_buffer = gui_layout_buffers; ptr_layout_buffer;
ptr_layout_buffer = ptr_layout_buffer->next_layout)
for (ptr_layout = gui_layouts; ptr_layout;
ptr_layout = ptr_layout->next_layout)
{
log_printf ("");
log_printf ("[layout buffer (addr:0x%lx)]", ptr_layout_buffer);
log_printf (" plugin_name. . . . . . : '%s'", ptr_layout_buffer->plugin_name);
log_printf (" buffer_name. . . . . . : '%s'", ptr_layout_buffer->buffer_name);
log_printf (" number . . . . . . . . : %d", ptr_layout_buffer->number);
log_printf (" prev_layout. . . . . . : 0x%lx", ptr_layout_buffer->prev_layout);
log_printf (" next_layout. . . . . . : 0x%lx", ptr_layout_buffer->next_layout);
log_printf ("[layout \"%s\" (addr:0x%lx)]", ptr_layout->name, ptr_layout);
log_printf (" layout_buffers . . . . : 0x%lx", ptr_layout->layout_buffers);
log_printf (" last_layout_buffer . . : 0x%lx", ptr_layout->last_layout_buffer);
log_printf (" layout_windows . . . . : 0x%lx", ptr_layout->layout_windows);
log_printf (" internal_id. . . . . . : %d", ptr_layout->internal_id);
log_printf (" internal_id_current_win: %d", ptr_layout->internal_id_current_window);
for (ptr_layout_buffer = ptr_layout->layout_buffers; ptr_layout_buffer;
ptr_layout_buffer = ptr_layout_buffer->next_layout)
{
log_printf ("");
log_printf (" [layout buffer (addr:0x%lx)]", ptr_layout_buffer);
log_printf (" plugin_name. . . . . : '%s'", ptr_layout_buffer->plugin_name);
log_printf (" buffer_name. . . . . : '%s'", ptr_layout_buffer->buffer_name);
log_printf (" number . . . . . . . : %d", ptr_layout_buffer->number);
log_printf (" prev_layout. . . . . : 0x%lx", ptr_layout_buffer->prev_layout);
log_printf (" next_layout. . . . . : 0x%lx", ptr_layout_buffer->next_layout);
}
if (ptr_layout->layout_windows)
gui_layout_print_log_window (ptr_layout->layout_windows, 0);
}
if (gui_layout_windows)
gui_layout_print_log_window (gui_layout_windows, 0);
}
+44 -21
View File
@@ -20,6 +20,12 @@
#ifndef __WEECHAT_GUI_LAYOUT_H
#define __WEECHAT_GUI_LAYOUT_H 1
#define GUI_LAYOUT_DEFAULT_NAME "default"
/* layout reserved for internal use */
#define GUI_LAYOUT_ZOOM "_zoom"
#define GUI_LAYOUT_UPGRADE "_upgrade"
/* layout structures */
struct t_gui_layout_buffer
@@ -48,53 +54,70 @@ struct t_gui_layout_window
char *buffer_name;
};
struct t_gui_layout
{
char *name; /* name of layout */
struct t_gui_layout_buffer *layout_buffers; /* layout for buffers */
struct t_gui_layout_buffer *last_layout_buffer; /* last buffer layout */
struct t_gui_layout_window *layout_windows; /* layout for windows */
int internal_id; /* for unique id in each window */
int internal_id_current_window; /* id of current window */
struct t_gui_layout *prev_layout; /* pointer to previous layout */
struct t_gui_layout *next_layout; /* pointer to next layout */
};
/* layout variables */
extern struct t_gui_layout_buffer *gui_layout_buffers;
extern struct t_gui_layout_buffer *last_gui_layout_buffer;
extern struct t_gui_layout_window *gui_layout_windows;
extern struct t_gui_layout *gui_layouts;
extern struct t_gui_layout *last_gui_layout;
extern struct t_gui_layout *gui_layout_current;
/* layout functions */
extern void gui_layout_buffer_remove_all (struct t_gui_layout_buffer **layout_buffers,
struct t_gui_layout_buffer **last_layout_buffer);
extern void gui_layout_buffer_reset (struct t_gui_layout_buffer **layout_buffers,
struct t_gui_layout_buffer **last_layout_buffer);
extern struct t_gui_layout_buffer *gui_layout_buffer_add (struct t_gui_layout_buffer **layout_buffers,
struct t_gui_layout_buffer **last_layout_buffer,
extern struct t_gui_layout *gui_layout_search (const char *name);
extern struct t_gui_layout *gui_layout_alloc (const char *name);
extern int gui_layout_add (struct t_gui_layout *layout);
extern void gui_layout_rename (struct t_gui_layout *layout, const char *new_name);
extern void gui_layout_buffer_remove_all (struct t_gui_layout *layout);
extern void gui_layout_buffer_reset ();
extern struct t_gui_layout_buffer *gui_layout_buffer_add (struct t_gui_layout *layout,
const char *plugin_name,
const char *buffer_name,
int number);
extern void gui_layout_buffer_save (struct t_gui_layout_buffer **layout_buffers,
struct t_gui_layout_buffer **last_layout_buffer);
extern void gui_layout_buffer_get_number (struct t_gui_layout_buffer *layout_buffers,
extern void gui_layout_buffer_get_number (struct t_gui_layout *layout,
const char *plugin_name,
const char *buffer_name,
int *layout_number,
int *layout_number_merge_order);
extern void gui_layout_buffer_get_number_all (struct t_gui_layout_buffer *layout_buffers);
extern void gui_layout_buffer_apply (struct t_gui_layout_buffer *layout_buffers);
extern void gui_layout_buffer_get_number_all (struct t_gui_layout *layout);
extern void gui_layout_buffer_save (struct t_gui_layout *layout);
extern void gui_layout_buffer_apply (struct t_gui_layout *layout);
extern void gui_layout_window_remove_all (struct t_gui_layout_window **layout_windows);
extern void gui_layout_window_reset (struct t_gui_layout_window **layout_windows);
extern struct t_gui_layout_window *gui_layout_window_search_by_id (struct t_gui_layout_window *layout_windows,
extern void gui_layout_window_remove_all (struct t_gui_layout *layout);
extern void gui_layout_window_reset ();
extern struct t_gui_layout_window *gui_layout_window_search_by_id (struct t_gui_layout_window *layout_window,
int id);
extern struct t_gui_layout_window *gui_layout_window_add (struct t_gui_layout_window **layout_windows,
extern struct t_gui_layout_window *gui_layout_window_add (struct t_gui_layout_window **layout_window,
int internal_id,
struct t_gui_layout_window *parent,
int split_pct,
int split_horiz,
const char *plugin_name,
const char *buffer_name);
extern int gui_layout_window_save (struct t_gui_layout_window **layout_windows);
extern void gui_layout_window_apply (struct t_gui_layout_window *layout_windows,
extern void gui_layout_window_save (struct t_gui_layout *layout);
extern void gui_layout_window_assign_buffer (struct t_gui_buffer *buffer);
extern void gui_layout_window_apply (struct t_gui_layout *layout,
int internal_id_current_window);
extern void gui_layout_window_check_buffer (struct t_gui_buffer *buffer);
extern void gui_layout_save_on_exit ();
extern void gui_layout_free (struct t_gui_layout *layout);
extern void gui_layout_remove (struct t_gui_layout *layout);
extern void gui_layout_remove_all ();
extern int gui_layout_buffer_add_to_infolist (struct t_infolist *infolist,
struct t_gui_layout_buffer *layout_buffer);
extern int gui_layout_window_add_to_infolist (struct t_infolist *infolist,
struct t_gui_layout_window *layout_window);
extern void gui_layout_print_log ();
extern void gui_layout_init ();
extern void gui_layout_end ();
#endif /* __WEECHAT_GUI_LAYOUT_H */
+18 -17
View File
@@ -64,10 +64,6 @@ struct t_gui_window *gui_current_window = NULL; /* current window */
struct t_gui_window_tree *gui_windows_tree = NULL; /* windows tree */
struct t_gui_layout_window *gui_window_layout_before_zoom = NULL;
/* layout before zooming on a window */
int gui_window_layout_id_current_window = -1;
/* current window id before zoom */
int gui_window_cursor_x = 0; /* cursor pos on screen */
int gui_window_cursor_y = 0; /* cursor pos on screen */
@@ -1582,31 +1578,37 @@ gui_window_search_stop (struct t_gui_window *window)
void
gui_window_zoom (struct t_gui_window *window)
{
struct t_gui_layout *ptr_layout;
if (!gui_init_ok)
return;
if (gui_window_layout_before_zoom)
ptr_layout = gui_layout_search (GUI_LAYOUT_ZOOM);
if (ptr_layout)
{
/* restore layout as it was before zooming a window */
hook_signal_send ("window_unzoom",
WEECHAT_HOOK_SIGNAL_POINTER, gui_current_window);
gui_layout_window_apply (gui_window_layout_before_zoom,
gui_window_layout_id_current_window);
gui_layout_window_remove_all (&gui_window_layout_before_zoom);
gui_window_layout_id_current_window = -1;
gui_layout_window_apply (ptr_layout,
ptr_layout->internal_id_current_window);
gui_layout_remove (ptr_layout);
hook_signal_send ("window_unzoomed",
WEECHAT_HOOK_SIGNAL_POINTER, gui_current_window);
}
else
{
/* save layout and zoom on current window */
hook_signal_send ("window_zoom",
WEECHAT_HOOK_SIGNAL_POINTER, gui_current_window);
gui_window_layout_id_current_window =
gui_layout_window_save (&gui_window_layout_before_zoom);
gui_window_merge_all (window);
hook_signal_send ("window_zoomed",
WEECHAT_HOOK_SIGNAL_POINTER, gui_current_window);
ptr_layout = gui_layout_alloc (GUI_LAYOUT_ZOOM);
if (ptr_layout)
{
gui_layout_add (ptr_layout);
hook_signal_send ("window_zoom",
WEECHAT_HOOK_SIGNAL_POINTER, gui_current_window);
gui_layout_window_save (ptr_layout);
gui_window_merge_all (window);
hook_signal_send ("window_zoomed",
WEECHAT_HOOK_SIGNAL_POINTER, gui_current_window);
}
}
}
@@ -1788,7 +1790,6 @@ gui_window_print_log ()
log_printf ("last_gui_window . . . . . . . : 0x%lx", last_gui_window);
log_printf ("gui_current window. . . . . . : 0x%lx", gui_current_window);
log_printf ("gui_windows_tree. . . . . . . : 0x%lx", gui_windows_tree);
log_printf ("gui_window_layout_before_zoom : 0x%lx", gui_window_layout_before_zoom);
for (ptr_window = gui_windows; ptr_window; ptr_window = ptr_window->next_window)
{
+4 -7
View File
@@ -23,13 +23,6 @@
struct t_infolist;
struct t_gui_bar_window;
extern int gui_init_ok;
extern int gui_window_refresh_needed;
extern int gui_window_cursor_x, gui_window_cursor_y;
extern struct t_gui_layout_window *gui_window_layout_before_zoom;
extern int gui_window_layout_id_current_window;
/* window structures */
struct t_gui_window_coords
@@ -124,10 +117,14 @@ struct t_gui_window_tree
/* window variables */
extern int gui_init_ok;
extern int gui_window_refresh_needed;
extern struct t_gui_window *gui_windows;
extern struct t_gui_window *last_gui_window;
extern struct t_gui_window *gui_current_window;
extern struct t_gui_window_tree *gui_windows_tree;
extern int gui_window_cursor_x;
extern int gui_window_cursor_y;
/* window functions */