1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-26 12:56:37 +02:00

core: add horizontal scrolling for buffers with free content (command /window scroll_horiz) (task #11112)

This commit is contained in:
Sebastien Helleu
2011-05-16 15:33:44 +02:00
parent bd1db541f7
commit e3e20f2b60
19 changed files with 301 additions and 139 deletions
+3 -1
View File
@@ -1,12 +1,14 @@
WeeChat ChangeLog
=================
Sébastien Helleu <flashcode@flashtux.org>
v0.3.6-dev, 2011-05-15
v0.3.6-dev, 2011-05-16
Version 0.3.6 (under dev!)
--------------------------
* core: add horizontal scrolling for buffers with free content (command
/window scroll_horiz) (task #11112)
* api: fix bug with function config_set_desc_plugin (use immediately
description for option when function is called)
+35 -32
View File
@@ -526,46 +526,49 @@ Beispiele:
merge [all]
page_up|page_down
refresh
scroll|scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|scroll_next_highlight
scroll [+/-]<value>[s|m|h|d|M|y]
scroll_horiz [+/-]<value>[%]
scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|scroll_next_highlight
swap [up|down|left|right]
zoom
list: listet die geöffneten Fenster (ohne Angabe von Parametern wird diese Funktion aufgerufen)
-1: springt zum vorherigen Fenster
+1: springt zum nächsten Fenster
b#: springt zum nächsten Fenster, welches die Buffer Nummer # besitzt
up: wechselt zum Fenster über dem aktuellen
down: wechselt zum Fenster unter dem aktuellen
left: wechselt zum linken Fenster
right: wechselt zum rechten Fenster
splith: teilt das aktuelle Fenster horizontal
splitv: teilt das aktuelle Fenster vertikal
resize: verändert die Größe des aktuellen Fensters. Die neue Größe des Fensters ist prozentual <pct> zum Stammfensters groß
balance: passt die Größe aller Fenster an
merge: vereinigt Fenster miteinander (all = alle Fenster vereinigen)
page_up: scrollt eine Seite nach oben
page_down: scrollt eine Seite nach unten
refresh: Seite wird neu aufgebaut
scroll: scrollt eine Anzahl an Zeilen (+/-N) oder zu einer gewissen Zeit: s=Sekunden, m=Minuten, h=Stunden, d=Tage, M=Monate, y=Jahre
scroll_up: scrollt ein paar Zeilen nach oben
scroll_down: scrollt ein paar Zeilen nach unten
scroll_top: scrollt zum Anfang des Buffers
scroll_bottom: scrollt zum Ende des Buffers
scroll_previous_highlight: scrollt zum vorherigen Hightlight
scroll_next_highlight: scrollt zum nächsten Highlight
swap: tauscht die Buffer von zwei Fenstern (mit optionaler Angabe für das Zielfenster)
zoom: vergrößert auf Fenster
list: list opened windows (without argument, this list is displayed)
-1: jump to previous window
+1: jump to next window
b#: jump to next window displaying buffer number #
up: switch to window above current one
down: switch to window below current one
left: switch to window on the left
right: switch to window on the right
splith: split current window horizontally
splitv: split current window vertically
resize: resize window size, new size is <pct> percentage of parent window
balance: balance the sizes of all windows
merge: merge window with another (all = keep only one window)
page_up: scroll one page up
page_down: scroll one page down
refresh: refresh screen
scroll: scroll a number of lines (+/-N) or with time: s=seconds, m=minutes, h=hours, d=days, M=months, y=years
scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage of window size (this scrolling is possible only on buffers with free content)
scroll_up: scroll a few lines up
scroll_down: scroll a few lines down
scroll_top: scroll to top of buffer
scroll_bottom: scroll to bottom of buffer
scroll_previous_highlight: scroll to previous highlight
scroll_next_highlight: scroll to next highlight
swap: swap buffers of two windows (with optional direction for target window)
zoom: zoom on window
Bei splith und splitv gibt "pct" die neue Größe des Fensters im Verhältnis zur aktuellen Größe an. Zum Beispiel würde ein Wert von 25 bedeuten, dass das neue Fenster nur noch ein Viertel der Größe des alten Fensters hat.
For splith and splitv, pct is a percentage which represents size of new window, computed with current window as size reference. For example 25 means create a new window with size = current_size / 4
Beispiele:
Springt zum Fenster mit dem Buffer #1:
Examples:
jump to window displaying buffer #1:
/window b1
Scrollt zwei Zeilen hoch:
scroll 2 lines up:
/window scroll -2
Scrollt zwei Tage hoch: /window scroll -2d
scroll 2 days up:
/window scroll -2d
Scrollt zum Beginn des aktuellen Tages:
scroll to beginning of current day:
/window scroll -d
........................................
+5 -2
View File
@@ -526,7 +526,9 @@ Examples:
merge [all]
page_up|page_down
refresh
scroll|scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|scroll_next_highlight
scroll [+/-]<value>[s|m|h|d|M|y]
scroll_horiz [+/-]<value>[%]
scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|scroll_next_highlight
swap [up|down|left|right]
zoom
@@ -546,7 +548,8 @@ Examples:
page_up: scroll one page up
page_down: scroll one page down
refresh: refresh screen
scroll: scroll number of lines (+/-N) or with time: s=seconds, m=minutes, h=hours, d=days, M=months, y=years
scroll: scroll a number of lines (+/-N) or with time: s=seconds, m=minutes, h=hours, d=days, M=months, y=years
scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage of window size (this scrolling is possible only on buffers with free content)
scroll_up: scroll a few lines up
scroll_down: scroll a few lines down
scroll_top: scroll to top of buffer
+4 -1
View File
@@ -526,7 +526,9 @@ Exemples:
merge [all]
page_up|page_down
refresh
scroll|scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|scroll_next_highlight
scroll [+/-]<valeur>[s|m|h|d|M|y]
scroll_horiz [+/-]<valeur>[%]
scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|scroll_next_highlight
swap [up|down|left|right]
zoom
@@ -547,6 +549,7 @@ Exemples:
page_down: faire défiler d'une page vers le bas
refresh: redessiner l'écran
scroll: faire défiler d'un nombre de lignes (+/-N) ou avec du temps: s=secondes, m=minutes, h=heures, d=jours, M=mois, y=année
scroll_horiz: faire défiler horizontalement d'un nombre de colonnes (+/-N) ou un pourcentage de la taille de fenêtre (ce défilement est possible seulement sur les tampons avec contenu libre)
scroll_up: faire défiler de quelques lignes vers le haut
scroll_down: faire défiler de quelques lignes vers le bas
scroll_top: faire défiler jusqu'au début du tampon
+37 -34
View File
@@ -521,51 +521,54 @@ Esempi:
/window list
-1|+1|b#|up|down|left|right
splith|splitv [<pct>]
resize [+/-] <pct>
resize [+/-]<pct>
balance
merge [all]
page_up|page_down
refresh
scroll|scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|scroll_next_highlight
scroll [+/-]<value>[s|m|h|d|M|y]
scroll_horiz [+/-]<value>[%]
scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|scroll_next_highlight
swap [up|down|left|right]
zoom
list: elenca le finestre aperte (senza argomento, questa lista viene visualizzata)
-1: salta alla finestra precedente
+1: salta alla finestra successiva
b#: salta alla finestra successiva che visualizza il buffer numero #
up: passa alla finestra superiore a quella corrente
down: passa alla finestra inferiore a quella attiva
left: passa alla finestra a sinistra
right: passa alla finestra a destra
splith: divide la finestra attiva orizzontalmente
splitv: divide la finestra attiva verticalmente
resize: ridimensiona finestra, la nuova dimensione è <pct> percentuale della finestra genitore
balance: bilancia le dimensioni tutte le finestre
merge: unisce la finestra con un'altra (all = mantiente una sola finestra)
page_up: scorre di una pagina in alto
page_down: scorre di una pagina in basso
refresh: aggiorna lo schermo
scroll: scorre di un numero di righe (+/-N) o in base al tempo: s=secondi, m=minuti, h=ore, d=giorni, M=mesi, y=anni
scroll_up: scorre di alcune righe in alto
scroll_down: scorre di alcune righe in basso
scroll_top: scorre fino all'inizio del buffer
scroll_bottom: scorre fino alla fine del buffer buffer
scroll_previous_highlight: passa all'evento precedente
scroll_next_highlight: passa all'evento successivo
swap: scambia i buffer di due finestra (con direzione opzionale per la finestra di destinazione)
zoom: ingrandimento sulla finestra
list: list opened windows (without argument, this list is displayed)
-1: jump to previous window
+1: jump to next window
b#: jump to next window displaying buffer number #
up: switch to window above current one
down: switch to window below current one
left: switch to window on the left
right: switch to window on the right
splith: split current window horizontally
splitv: split current window vertically
resize: resize window size, new size is <pct> percentage of parent window
balance: balance the sizes of all windows
merge: merge window with another (all = keep only one window)
page_up: scroll one page up
page_down: scroll one page down
refresh: refresh screen
scroll: scroll a number of lines (+/-N) or with time: s=seconds, m=minutes, h=hours, d=days, M=months, y=years
scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage of window size (this scrolling is possible only on buffers with free content)
scroll_up: scroll a few lines up
scroll_down: scroll a few lines down
scroll_top: scroll to top of buffer
scroll_bottom: scroll to bottom of buffer
scroll_previous_highlight: scroll to previous highlight
scroll_next_highlight: scroll to next highlight
swap: swap buffers of two windows (with optional direction for target window)
zoom: zoom on window
Per splith e splitv, pct è una percentuale che rappresenta la dimensione della nuova finestra, calcolata con la finestra attiva come riferimento per la dimensione. Per esempio 25 vuol dire creare una finestra di dimensione = dimensione_attuale / 4
For splith and splitv, pct is a percentage which represents size of new window, computed with current window as size reference. For example 25 means create a new window with size = current_size / 4
Esempi:
salta alla finestra che visualizza il buffer #1:
Examples:
jump to window displaying buffer #1:
/window b1
scorre di due righe in alto:
scroll 2 lines up:
/window scroll -2
scorre all'indietro di due giorni:
scroll 2 days up:
/window scroll -2d
scorre all'inizio del giorno attuale:
/window scroll -d
scroll to beginning of current day:
/window scroll -d
........................................
+10 -4
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.6-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-05-15 11:22+0200\n"
"POT-Creation-Date: 2011-05-16 11:54+0200\n"
"PO-Revision-Date: 2011-05-15 10:51+0200\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1796,10 +1796,12 @@ msgstr ""
msgid "manage windows"
msgstr "spravuje okna"
#, fuzzy
msgid ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll|"
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll "
"[+/-]<value>[s|m|h|d|M|y] || scroll_horiz [+/-]<value>[%] || scroll_up|"
"scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
msgstr ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
@@ -1807,6 +1809,7 @@ msgstr ""
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
#, fuzzy
msgid ""
" list: list opened windows (without argument, this list is "
"displayed)\n"
@@ -1826,8 +1829,11 @@ msgid ""
" page_up: scroll one page up\n"
" page_down: scroll one page down\n"
" refresh: refresh screen\n"
" scroll: scroll number of lines (+/-N) or with time: s=seconds, "
" scroll: scroll a number of lines (+/-N) or with time: s=seconds, "
"m=minutes, h=hours, d=days, M=months, y=years\n"
" scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage "
"of window size (this scrolling is possible only on buffers with free "
"content)\n"
" scroll_up: scroll a few lines up\n"
" scroll_down: scroll a few lines down\n"
" scroll_top: scroll to top of buffer\n"
+10 -4
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.6-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-05-15 11:22+0200\n"
"POT-Creation-Date: 2011-05-16 11:54+0200\n"
"PO-Revision-Date: 2011-05-15 10:51+0200\n"
"Last-Translator: Nils G.\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1864,10 +1864,12 @@ msgstr ""
msgid "manage windows"
msgstr "Fenster verwalten"
#, fuzzy
msgid ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll|"
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll "
"[+/-]<value>[s|m|h|d|M|y] || scroll_horiz [+/-]<value>[%] || scroll_up|"
"scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
msgstr ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
@@ -1875,6 +1877,7 @@ msgstr ""
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
#, fuzzy
msgid ""
" list: list opened windows (without argument, this list is "
"displayed)\n"
@@ -1894,8 +1897,11 @@ msgid ""
" page_up: scroll one page up\n"
" page_down: scroll one page down\n"
" refresh: refresh screen\n"
" scroll: scroll number of lines (+/-N) or with time: s=seconds, "
" scroll: scroll a number of lines (+/-N) or with time: s=seconds, "
"m=minutes, h=hours, d=days, M=months, y=years\n"
" scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage "
"of window size (this scrolling is possible only on buffers with free "
"content)\n"
" scroll_up: scroll a few lines up\n"
" scroll_down: scroll a few lines down\n"
" scroll_top: scroll to top of buffer\n"
+10 -4
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.6-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-05-15 11:22+0200\n"
"POT-Creation-Date: 2011-05-16 11:54+0200\n"
"PO-Revision-Date: 2011-05-15 10:51+0200\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1816,10 +1816,12 @@ msgstr ""
msgid "manage windows"
msgstr "gestión de ventanas"
#, fuzzy
msgid ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll|"
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll "
"[+/-]<value>[s|m|h|d|M|y] || scroll_horiz [+/-]<value>[%] || scroll_up|"
"scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
msgstr ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
@@ -1827,6 +1829,7 @@ msgstr ""
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
#, fuzzy
msgid ""
" list: list opened windows (without argument, this list is "
"displayed)\n"
@@ -1846,8 +1849,11 @@ msgid ""
" page_up: scroll one page up\n"
" page_down: scroll one page down\n"
" refresh: refresh screen\n"
" scroll: scroll number of lines (+/-N) or with time: s=seconds, "
" scroll: scroll a number of lines (+/-N) or with time: s=seconds, "
"m=minutes, h=hours, d=days, M=months, y=years\n"
" scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage "
"of window size (this scrolling is possible only on buffers with free "
"content)\n"
" scroll_up: scroll a few lines up\n"
" scroll_down: scroll a few lines down\n"
" scroll_top: scroll to top of buffer\n"
+15 -7
View File
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.6-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-05-15 11:22+0200\n"
"PO-Revision-Date: 2011-05-15 11:23+0200\n"
"POT-Creation-Date: 2011-05-16 11:54+0200\n"
"PO-Revision-Date: 2011-05-16 11:54+0200\n"
"Last-Translator: Sebastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: French\n"
@@ -1822,13 +1822,15 @@ msgstr "gestion des fenêtres"
msgid ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll|"
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll "
"[+/-]<value>[s|m|h|d|M|y] || scroll_horiz [+/-]<value>[%] || scroll_up|"
"scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
msgstr ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll|"
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll "
"[+/-]<valeur>[s|m|h|d|M|y] || scroll_horiz [+/-]<valeur>[%] || scroll_up|"
"scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
msgid ""
@@ -1850,8 +1852,11 @@ msgid ""
" page_up: scroll one page up\n"
" page_down: scroll one page down\n"
" refresh: refresh screen\n"
" scroll: scroll number of lines (+/-N) or with time: s=seconds, "
" scroll: scroll a number of lines (+/-N) or with time: s=seconds, "
"m=minutes, h=hours, d=days, M=months, y=years\n"
" scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage "
"of window size (this scrolling is possible only on buffers with free "
"content)\n"
" scroll_up: scroll a few lines up\n"
" scroll_down: scroll a few lines down\n"
" scroll_top: scroll to top of buffer\n"
@@ -1896,6 +1901,9 @@ msgstr ""
" refresh: redessiner l'écran\n"
" scroll: faire défiler d'un nombre de lignes (+/-N) ou avec du temps: "
"s=secondes, m=minutes, h=heures, d=jours, M=mois, y=année\n"
" scroll_horiz: faire défiler horizontalement d'un nombre de colonnes (+/-N) "
"ou un pourcentage de la taille de fenêtre (ce défilement est possible "
"seulement sur les tampons avec contenu libre)\n"
" scroll_up: faire défiler de quelques lignes vers le haut\n"
" scroll_down: faire défiler de quelques lignes vers le bas\n"
" scroll_top: faire défiler jusqu'au début du tampon\n"
+8 -4
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.6-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-05-15 11:22+0200\n"
"POT-Creation-Date: 2011-05-16 11:54+0200\n"
"PO-Revision-Date: 2011-05-15 10:51+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1523,8 +1523,9 @@ msgstr "ablakok kezelése"
#, fuzzy
msgid ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll|"
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll "
"[+/-]<value>[s|m|h|d|M|y] || scroll_horiz [+/-]<value>[%] || scroll_up|"
"scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
msgstr ""
"[list | -1 | +1 | b# | up | down | left | right | splith [pct] | splitv "
@@ -1550,8 +1551,11 @@ msgid ""
" page_up: scroll one page up\n"
" page_down: scroll one page down\n"
" refresh: refresh screen\n"
" scroll: scroll number of lines (+/-N) or with time: s=seconds, "
" scroll: scroll a number of lines (+/-N) or with time: s=seconds, "
"m=minutes, h=hours, d=days, M=months, y=years\n"
" scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage "
"of window size (this scrolling is possible only on buffers with free "
"content)\n"
" scroll_up: scroll a few lines up\n"
" scroll_down: scroll a few lines down\n"
" scroll_top: scroll to top of buffer\n"
+10 -4
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.6-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-05-15 11:22+0200\n"
"POT-Creation-Date: 2011-05-16 11:54+0200\n"
"PO-Revision-Date: 2011-05-15 10:52+0200\n"
"Last-Translator: Marco Paolone <marcopaolone@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1810,10 +1810,12 @@ msgstr ""
msgid "manage windows"
msgstr "gestione finestre"
#, fuzzy
msgid ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll|"
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll "
"[+/-]<value>[s|m|h|d|M|y] || scroll_horiz [+/-]<value>[%] || scroll_up|"
"scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
msgstr ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-] "
@@ -1821,6 +1823,7 @@ msgstr ""
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
#, fuzzy
msgid ""
" list: list opened windows (without argument, this list is "
"displayed)\n"
@@ -1840,8 +1843,11 @@ msgid ""
" page_up: scroll one page up\n"
" page_down: scroll one page down\n"
" refresh: refresh screen\n"
" scroll: scroll number of lines (+/-N) or with time: s=seconds, "
" scroll: scroll a number of lines (+/-N) or with time: s=seconds, "
"m=minutes, h=hours, d=days, M=months, y=years\n"
" scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage "
"of window size (this scrolling is possible only on buffers with free "
"content)\n"
" scroll_up: scroll a few lines up\n"
" scroll_down: scroll a few lines down\n"
" scroll_top: scroll to top of buffer\n"
+10 -4
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.6-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-05-15 11:22+0200\n"
"POT-Creation-Date: 2011-05-16 11:54+0200\n"
"PO-Revision-Date: 2011-05-15 10:52+0200\n"
"Last-Translator: Krzysztof Koroscik <soltys@szluug.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1818,10 +1818,12 @@ msgstr ""
msgid "manage windows"
msgstr "zarządza oknami"
#, fuzzy
msgid ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll|"
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll "
"[+/-]<value>[s|m|h|d|M|y] || scroll_horiz [+/-]<value>[%] || scroll_up|"
"scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
msgstr ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
@@ -1829,6 +1831,7 @@ msgstr ""
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
#, fuzzy
msgid ""
" list: list opened windows (without argument, this list is "
"displayed)\n"
@@ -1848,8 +1851,11 @@ msgid ""
" page_up: scroll one page up\n"
" page_down: scroll one page down\n"
" refresh: refresh screen\n"
" scroll: scroll number of lines (+/-N) or with time: s=seconds, "
" scroll: scroll a number of lines (+/-N) or with time: s=seconds, "
"m=minutes, h=hours, d=days, M=months, y=years\n"
" scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage "
"of window size (this scrolling is possible only on buffers with free "
"content)\n"
" scroll_up: scroll a few lines up\n"
" scroll_down: scroll a few lines down\n"
" scroll_top: scroll to top of buffer\n"
+8 -4
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.6-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-05-15 11:22+0200\n"
"POT-Creation-Date: 2011-05-16 11:54+0200\n"
"PO-Revision-Date: 2011-05-15 10:52+0200\n"
"Last-Translator: Ivan Sichmann Freitas <ivansichfreitas@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1822,8 +1822,9 @@ msgstr "gerencia janelas"
#, fuzzy
msgid ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll|"
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll "
"[+/-]<value>[s|m|h|d|M|y] || scroll_horiz [+/-]<value>[%] || scroll_up|"
"scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
msgstr ""
"[list | -1 | +1 | b# | up | down | left | right | splith [pct] | splitv "
@@ -1851,8 +1852,11 @@ msgid ""
" page_up: scroll one page up\n"
" page_down: scroll one page down\n"
" refresh: refresh screen\n"
" scroll: scroll number of lines (+/-N) or with time: s=seconds, "
" scroll: scroll a number of lines (+/-N) or with time: s=seconds, "
"m=minutes, h=hours, d=days, M=months, y=years\n"
" scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage "
"of window size (this scrolling is possible only on buffers with free "
"content)\n"
" scroll_up: scroll a few lines up\n"
" scroll_down: scroll a few lines down\n"
" scroll_top: scroll to top of buffer\n"
+8 -4
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.6-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-05-15 11:22+0200\n"
"POT-Creation-Date: 2011-05-16 11:54+0200\n"
"PO-Revision-Date: 2011-05-15 10:52+0200\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1532,8 +1532,9 @@ msgstr "управление окнами"
#, fuzzy
msgid ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll|"
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll "
"[+/-]<value>[s|m|h|d|M|y] || scroll_horiz [+/-]<value>[%] || scroll_up|"
"scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
msgstr ""
"[list | -1 | +1 | b# | up | down | left | right | splith [pct] | splitv "
@@ -1559,8 +1560,11 @@ msgid ""
" page_up: scroll one page up\n"
" page_down: scroll one page down\n"
" refresh: refresh screen\n"
" scroll: scroll number of lines (+/-N) or with time: s=seconds, "
" scroll: scroll a number of lines (+/-N) or with time: s=seconds, "
"m=minutes, h=hours, d=days, M=months, y=years\n"
" scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage "
"of window size (this scrolling is possible only on buffers with free "
"content)\n"
" scroll_up: scroll a few lines up\n"
" scroll_down: scroll a few lines down\n"
" scroll_top: scroll to top of buffer\n"
+8 -4
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-05-15 11:22+0200\n"
"POT-Creation-Date: 2011-05-16 11:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1334,8 +1334,9 @@ msgstr ""
msgid ""
"list || -1|+1|b#|up|down|left|right || splith|splitv [<pct>] || resize [+/-]"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll|"
"scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"<pct> || balance || merge [all] || page_up|page_down || refresh || scroll "
"[+/-]<value>[s|m|h|d|M|y] || scroll_horiz [+/-]<value>[%] || scroll_up|"
"scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight || swap [up|down|left|right] || zoom"
msgstr ""
@@ -1358,8 +1359,11 @@ msgid ""
" page_up: scroll one page up\n"
" page_down: scroll one page down\n"
" refresh: refresh screen\n"
" scroll: scroll number of lines (+/-N) or with time: s=seconds, "
" scroll: scroll a number of lines (+/-N) or with time: s=seconds, "
"m=minutes, h=hours, d=days, M=months, y=years\n"
" scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage "
"of window size (this scrolling is possible only on buffers with free "
"content)\n"
" scroll_up: scroll a few lines up\n"
" scroll_down: scroll a few lines down\n"
" scroll_top: scroll to top of buffer\n"
+40 -24
View File
@@ -4364,6 +4364,25 @@ COMMAND_CALLBACK(window)
return WEECHAT_RC_OK;
}
/* vertical scroll in window */
if (string_strcasecmp (argv[1], "scroll") == 0)
{
if (argc > 2)
gui_window_scroll (gui_current_window, argv[2]);
return WEECHAT_RC_OK;
}
/* horizontal scroll in window (for buffers with free content) */
if (string_strcasecmp (argv[1], "scroll_horiz") == 0)
{
if ((argc > 2)
&& (gui_current_window->buffer->type == GUI_BUFFER_TYPE_FREE))
{
gui_window_scroll_horiz (gui_current_window, argv[2]);
}
return WEECHAT_RC_OK;
}
/* scroll up current window */
if (string_strcasecmp (argv[1], "scroll_up") == 0)
{
@@ -4517,18 +4536,6 @@ COMMAND_CALLBACK(window)
return WEECHAT_RC_OK;
}
/* jump to window by buffer number */
if (string_strncasecmp (argv[1], "b", 1) == 0)
{
error = NULL;
number = strtol (argv[1] + 1, &error, 10);
if (error && !error[0])
{
gui_window_switch_by_buffer (gui_current_window, number);
return WEECHAT_RC_OK;
}
}
/* switch to previous window */
if (string_strcasecmp (argv[1], "-1") == 0)
{
@@ -4571,14 +4578,6 @@ COMMAND_CALLBACK(window)
return WEECHAT_RC_OK;
}
/* scroll in window */
if (string_strcasecmp (argv[1], "scroll") == 0)
{
if (argc > 2)
gui_window_scroll (gui_current_window, argv[2]);
return WEECHAT_RC_OK;
}
/* swap windows */
if (string_strcasecmp (argv[1], "swap") == 0)
{
@@ -4616,6 +4615,18 @@ COMMAND_CALLBACK(window)
return WEECHAT_RC_OK;
}
/* jump to window by buffer number */
if (string_strncasecmp (argv[1], "b", 1) == 0)
{
error = NULL;
number = strtol (argv[1] + 1, &error, 10);
if (error && !error[0])
{
gui_window_switch_by_buffer (gui_current_window, number);
return WEECHAT_RC_OK;
}
}
gui_chat_printf (NULL,
_("%sError: unknown option for \"%s\" "
"command"),
@@ -5271,7 +5282,9 @@ command_init ()
" || merge [all]"
" || page_up|page_down"
" || refresh"
" || scroll|scroll_up|scroll_down|scroll_top|"
" || scroll [+/-]<value>[s|m|h|d|M|y]"
" || scroll_horiz [+/-]<value>[%]"
" || scroll_up|scroll_down|scroll_top|"
"scroll_bottom|scroll_previous_highlight|"
"scroll_next_highlight"
" || swap [up|down|left|right]"
@@ -5295,8 +5308,11 @@ command_init ()
" page_up: scroll one page up\n"
" page_down: scroll one page down\n"
" refresh: refresh screen\n"
" scroll: scroll number of lines (+/-N) or with time: "
" scroll: scroll a number of lines (+/-N) or with time: "
"s=seconds, m=minutes, h=hours, d=days, M=months, y=years\n"
" scroll_horiz: scroll horizontally a number of columns "
"(+/-N) or percentage of window size (this scrolling is "
"possible only on buffers with free content)\n"
" scroll_up: scroll a few lines up\n"
" scroll_down: scroll a few lines down\n"
" scroll_top: scroll to top of buffer\n"
@@ -5321,8 +5337,8 @@ command_init ()
" /window scroll -d"),
"list || -1 || +1 || up || down || left || right"
" || splith || splitv || resize || balance || page_up"
" || page_down || refresh || scroll || scroll_up"
" || scroll_down || scroll_top || scroll_bottom"
" || page_down || refresh || scroll || scroll_horiz"
" || scroll_up || scroll_down || scroll_top || scroll_bottom"
" || scroll_previous_highlight || scroll_next_highlight"
" || swap up|down|left|right || zoom || merge all",
&command_window, NULL);
+5 -2
View File
@@ -255,7 +255,7 @@ gui_chat_display_word_raw (struct t_gui_window *window, const char *string,
int max_chars_on_screen, int display)
{
char *next_char, *output, utf_char[16];
int chars_displayed, size_on_screen;
int chars_displayed, display_char, size_on_screen;
if (display)
wmove (GUI_WINDOW_OBJECTS(window)->win_chat,
@@ -279,6 +279,9 @@ gui_chat_display_word_raw (struct t_gui_window *window, const char *string,
if (!gui_chat_utf_char_valid (utf_char))
snprintf (utf_char, sizeof (utf_char), " ");
display_char = (window->buffer->type != GUI_BUFFER_TYPE_FREE)
|| (chars_displayed >= window->scroll->start_col);
size_on_screen = utf8_strlen_screen (utf_char);
if (max_chars_on_screen > 0)
{
@@ -286,7 +289,7 @@ gui_chat_display_word_raw (struct t_gui_window *window, const char *string,
return chars_displayed;
chars_displayed += size_on_screen;
}
if (size_on_screen > 0)
if (display_char && (size_on_screen > 0))
{
output = string_iconv_from_internal (NULL, utf_char);
wprintw (GUI_WINDOW_OBJECTS(window)->win_chat,
+72
View File
@@ -180,6 +180,7 @@ gui_window_scroll_init (struct t_gui_window_scroll *window_scroll,
window_scroll->start_line = NULL;
window_scroll->start_line_pos = 0;
window_scroll->scrolling = 0;
window_scroll->start_col = 0;
window_scroll->lines_after = 0;
window_scroll->reset_allowed = 0;
window_scroll->prev_scroll = NULL;
@@ -241,6 +242,7 @@ gui_window_scroll_remove_not_scrolled (struct t_gui_window *window)
&& (ptr_scroll->start_line == NULL)
&& (ptr_scroll->start_line_pos == 0)
&& (ptr_scroll->scrolling == 0)
&& (ptr_scroll->start_col == 0)
&& (ptr_scroll->lines_after == 0)
&& (ptr_scroll->reset_allowed == 0))
{
@@ -958,6 +960,75 @@ gui_window_scroll (struct t_gui_window *window, char *scroll)
}
}
/*
* gui_window_scroll_horiz: horizontal scroll window
*/
void
gui_window_scroll_horiz (struct t_gui_window *window, char *scroll)
{
int direction, percentage, start_col;
char saved_char, *pos, *error;
long number;
if (window->buffer->lines->first_line)
{
direction = 1;
number = 0;
percentage = 0;
/* search direction */
if (scroll[0] == '-')
{
direction = -1;
scroll++;
}
else if (scroll[0] == '+')
{
direction = +1;
scroll++;
}
/* search number and percentage */
pos = scroll;
while (pos && pos[0] && isdigit (pos[0]))
{
pos++;
}
if (pos && (pos > scroll))
{
percentage = (pos[0] == '%') ? 1 : 0;
saved_char = pos[0];
pos[0] = '\0';
error = NULL;
number = strtol (scroll, &error, 10);
if (!error || error[0])
number = 0;
pos[0] = saved_char;
}
/* for percentage, compute number of columns */
if (percentage)
{
number = (window->win_chat_width * number) / 100;
}
/* number must be different from 0 */
if (number == 0)
return;
/* do the horizontal scroll! */
start_col = window->scroll->start_col + (number * direction);
if (start_col < 0)
start_col = 0;
if (start_col != window->scroll->start_col)
{
window->scroll->start_col = start_col;
gui_buffer_ask_chat_refresh (window->buffer, 2);
}
}
}
/*
* gui_window_scroll_previous_highlight: scroll to previous highlight
*/
@@ -1298,6 +1369,7 @@ gui_window_print_log ()
log_printf (" start_line. . . . . : 0x%lx", ptr_scroll->start_line);
log_printf (" start_line_pos. . . : %d", ptr_scroll->start_line_pos);
log_printf (" scrolling . . . . . : %d", ptr_scroll->scrolling);
log_printf (" start_col . . . . . : %d", ptr_scroll->start_col);
log_printf (" lines_after . . . . : %d", ptr_scroll->lines_after);
log_printf (" reset_allowed . . . : %d", ptr_scroll->reset_allowed);
log_printf (" prev_scroll . . . . : 0x%lx", ptr_scroll->prev_scroll);
+3
View File
@@ -84,6 +84,8 @@ struct t_gui_window_scroll
struct t_gui_line *start_line; /* pointer to line if scrolling */
int start_line_pos; /* position in first line displayed */
int scrolling; /* = 1 if "MORE" should be displayed */
int start_col; /* first column displayed */
/* (for horizontal scrolling) */
int lines_after; /* number of lines after last line */
/* displayed (with scrolling) */
int reset_allowed; /* reset scroll allowed (when using */
@@ -145,6 +147,7 @@ extern void gui_window_switch_next (struct t_gui_window *window);
extern void gui_window_switch_by_buffer (struct t_gui_window *window,
int buffer_number);
extern void gui_window_scroll (struct t_gui_window *window, char *scroll);
extern void gui_window_scroll_horiz (struct t_gui_window *window, char *scroll);
extern void gui_window_scroll_previous_highlight (struct t_gui_window *window);
extern void gui_window_scroll_next_highlight (struct t_gui_window *window);
extern void gui_window_search_start (struct t_gui_window *window);