summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2011-05-16 15:33:44 +0200
committerSebastien Helleu <flashcode@flashtux.org>2011-05-16 15:33:44 +0200
commite3e20f2b60972bcaa845d1000fe615498dd2cef5 (patch)
treef6ee65eeaa3d5a9b0f9694c10b7ad538870d0da0
parentbd1db541f782c8ec9a5545bb9ba7f49870c43574 (diff)
downloadweechat-e3e20f2b60972bcaa845d1000fe615498dd2cef5.zip
core: add horizontal scrolling for buffers with free content (command /window scroll_horiz) (task #11112)
-rw-r--r--ChangeLog4
-rw-r--r--doc/de/autogen/user/weechat_commands.txt71
-rw-r--r--doc/en/autogen/user/weechat_commands.txt7
-rw-r--r--doc/fr/autogen/user/weechat_commands.txt5
-rw-r--r--doc/it/autogen/user/weechat_commands.txt73
-rw-r--r--po/cs.po14
-rw-r--r--po/de.po14
-rw-r--r--po/es.po14
-rw-r--r--po/fr.po22
-rw-r--r--po/hu.po12
-rw-r--r--po/it.po14
-rw-r--r--po/pl.po14
-rw-r--r--po/pt_BR.po12
-rw-r--r--po/ru.po12
-rw-r--r--po/weechat.pot12
-rw-r--r--src/core/wee-command.c64
-rw-r--r--src/gui/curses/gui-curses-chat.c7
-rw-r--r--src/gui/gui-window.c72
-rw-r--r--src/gui/gui-window.h3
19 files changed, 304 insertions, 142 deletions
diff --git a/ChangeLog b/ChangeLog
index a6b9bf650..8bd501f5f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)
diff --git a/doc/de/autogen/user/weechat_commands.txt b/doc/de/autogen/user/weechat_commands.txt
index 230a1003d..d8decb1a5 100644
--- a/doc/de/autogen/user/weechat_commands.txt
+++ b/doc/de/autogen/user/weechat_commands.txt
@@ -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
-
-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.
-
-Beispiele:
- Springt zum Fenster mit dem Buffer #1:
+ 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
+
+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
+
+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
........................................
diff --git a/doc/en/autogen/user/weechat_commands.txt b/doc/en/autogen/user/weechat_commands.txt
index be0c4520b..7748db132 100644
--- a/doc/en/autogen/user/weechat_commands.txt
+++ b/doc/en/autogen/user/weechat_commands.txt
@@ -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
diff --git a/doc/fr/autogen/user/weechat_commands.txt b/doc/fr/autogen/user/weechat_commands.txt
index d8ec038a5..f43f65bca 100644
--- a/doc/fr/autogen/user/weechat_commands.txt
+++ b/doc/fr/autogen/user/weechat_commands.txt
@@ -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
diff --git a/doc/it/autogen/user/weechat_commands.txt b/doc/it/autogen/user/weechat_commands.txt
index 069f89137..28a448ef7 100644
--- a/doc/it/autogen/user/weechat_commands.txt
+++ b/doc/it/autogen/user/weechat_commands.txt
@@ -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
-
-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
+ 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
+
+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
........................................
diff --git a/po/cs.po b/po/cs.po
index e2453aa1e..cd2648d93 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -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"
diff --git a/po/de.po b/po/de.po
index 5aad9dd06..42b99a5f8 100644
--- a/po/de.po
+++ b/po/de.po
@@ -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"
diff --git a/po/es.po b/po/es.po
index fd35ed1fc..71e45f68d 100644
--- a/po/es.po
+++ b/po/es.po
@@ -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"
diff --git a/po/fr.po b/po/fr.po
index 9d4a90a98..15e45bb8a 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -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"
diff --git a/po/hu.po b/po/hu.po
index 153f61068..64d1bb564 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -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"
diff --git a/po/it.po b/po/it.po
index 22198b2ba..a476bbcc9 100644
--- a/po/it.po
+++ b/po/it.po
@@ -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"
diff --git a/po/pl.po b/po/pl.po
index 849c22f46..2faa71a56 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -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"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 0b838e58c..84d5412e7 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -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"
diff --git a/po/ru.po b/po/ru.po
index 8b9a76b29..71e15cf8a 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -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"
diff --git a/po/weechat.pot b/po/weechat.pot
index 697fdcc8f..80710089b 100644
--- a/po/weechat.pot
+++ b/po/weechat.pot
@@ -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"
diff --git a/src/core/wee-command.c b/src/core/wee-command.c
index 224d44cb6..64463c4d4 100644
--- a/src/core/wee-command.c
+++ b/src/core/wee-command.c
@@ -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);
diff --git a/src/gui/curses/gui-curses-chat.c b/src/gui/curses/gui-curses-chat.c
index 819c3a985..34740ed13 100644
--- a/src/gui/curses/gui-curses-chat.c
+++ b/src/gui/curses/gui-curses-chat.c
@@ -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,
diff --git a/src/gui/gui-window.c b/src/gui/gui-window.c
index f8deb1af6..6a7d94245 100644
--- a/src/gui/gui-window.c
+++ b/src/gui/gui-window.c
@@ -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))
{
@@ -959,6 +961,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);
diff --git a/src/gui/gui-window.h b/src/gui/gui-window.h
index 8e82e5686..09fdf0cce 100644
--- a/src/gui/gui-window.h
+++ b/src/gui/gui-window.h
@@ -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);