1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-08 18:53:12 +02:00

Added keys (F9/F10) to scroll topic (task #6030)

This commit is contained in:
Sebastien Helleu
2006-11-29 16:08:57 +00:00
parent 59a0d27668
commit 7ce144e875
66 changed files with 4452 additions and 3678 deletions
+2 -1
View File
@@ -5,7 +5,8 @@ ChangeLog - 2006-11-29
Version 0.2.2 (under dev!):
* added auto completion with channels and filenames
* added keys (F9/F10) to scroll topic (task #6030)
* added auto completion with channels and filenames (task #5423)
* fixed memleak in keyboard input
* fixed refresh bug when changing config options if window is splited
* added space between chat and nicklist when position is "right" (bug #17852)
+27
View File
@@ -1,6 +1,33 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
* FlashCode, 2006-11-29
WeeChat 0.2.2 under development.
Important release notes:
- new charset plugin:
- for users of any previous version, all your charset settings
in weechat.rc will be LOST! You should save your weechat.rc
to keep your values and set them again with new "charset" plugin.
- for ISO users: history of channels may be without accents
(after /upgrade), this is not recoverable, but this is not a bug.
All new messages should be ok.
- be careful, now default encode is UTF-8 for all channels (before
it was terminal charset). If you still want to send messages as
ISO-8859-1, you should send either global encode or server specific
encode to ISO-8859-1.
For global encode: /setp charset.global.encode = "ISO-8859-1"
For server encode: (on server buffer) /charset encode ISO-8859-1
- new keys for topic scroll:
- new keys for scrolling topic: F9/F10
- key F10 was used for "infobar_clear" in previous WeeChat versions,
you have to manually rebind this key (except for new WeeChat users):
/key <press alt-k then F10> scroll_topic_right
which gives something like this:
/key meta2-21~ scroll_topic_right
* FlashCode, 2006-10-01
WeeChat 0.2.1 released.
+23 -2
View File
@@ -110,6 +110,13 @@
<entry>0</entry>
<entry>Maximale Größe der Nicklist (Breite oder Höhe, je nach look_nicklist_position (0: kein Maximum); Wenn min == max &gt; 0, ist die Größe fest.</entry>
</row>
<row>
<entry><option>look_nicklist_separator</option></entry>
<entry>Boolean</entry>
<entry>zwischen 0 und 100</entry>
<entry>'on'</entry>
<entry>Trennzeichen zwischen Chatfenster und Nickliste</entry>
</row>
<row>
<entry><option>look_no_nickname</option></entry>
<entry>Zeichenfolge</entry>
@@ -292,6 +299,13 @@
<entry>'default'</entry>
<entry>Textfarbe der Titelleiste</entry>
</row>
<row>
<entry><option>col_title_more</option></entry>
<entry>Farbe</entry>
<entry>Curses- oder Gtk-Farben</entry>
<entry>'lightmagenta'</entry>
<entry>Color for '+' when scrolling topic</entry>
</row>
<row>
<entry><option>col_title_bg</option></entry>
<entry>Farbe</entry>
@@ -915,6 +929,13 @@
<entry>'on'</entry>
<entry>Erlaube Benutzern, spezielle Codes zu versenden (%B=fett, %Cxx,yy=Farbe, %U=unterstrichen, %R=reverse/umgekehrt)</entry>
</row>
<row>
<entry><option>irc_send_unknown_commands</option></entry>
<entry>Boolean</entry>
<entry>eine beliebige Zeichenfolge</entry>
<entry>'off'</entry>
<entry>Sende unbekannte Befehle an den IRC-Server</entry>
</row>
<row>
<entry><option>dcc_auto_accept_files</option></entry>
<entry>Boolean</entry>
@@ -1179,7 +1200,7 @@
<entry>Zeichenfolge</entry>
<entry>eine beliebige Zeichenfolge</entry>
<entry>''</entry>
<entry>Command(s) to run when connected to server (many commands should be separated by ';', use '\;' for a semicolon, special variables $nick, $channel and $server are replaced by their value)</entry>
<entry>Befehle, die nach der Verbindung zum Server ausgeführt werden sollen (mehrere Befehle müssen mit einem Semikolon getrennt werden, um ein Semikolon zu schreiben, muss man '\;' verwenden, die spezielllen Variablen $nick, $channel und $server werden dabei durch den jeweiligen Wert ersetzt)</entry>
</row>
<row>
<entry><option>server_command_delay</option></entry>
@@ -1207,5 +1228,5 @@
<entry>Zeichenfolge</entry>
<entry>eine beliebige Zeichenfolge</entry>
<entry>''</entry>
<entry>Comma separated list of notify levels for channels of this server (format: #channel:1,..), a channel name '*' is reserved for server default notify level</entry>
<entry>Durch Kommata getrennte Liste der Notify-Levels für die Channels auf diesem Server (Format: #channel:1,...), der Channelname '*' ist für den Default-Server-Notify-Level</entry>
</row>
+4 -4
View File
@@ -42,13 +42,13 @@ Nicknames oder Hosts sperren/verbannen
Nickname: zu sperrender User oder Host
</programlisting>
<command>ctcp receiver type [arguments]</command>
<command>ctcp Empfänger Typ [Argumente]</command>
<programlisting>
CTCP-Nachricht verschicken
receiver: nick or channel to send CTCP to
type: CTCP type (examples: "version", "ping", ..)
arguments: arguments for CTCP
Empfänger: User, an den die CTCP-Nachricht geschickt werden soll
Typ: Typ der CTCP-Nachricht (z.B. "version", "ping", ..)
Argumente: Argumente für CTCP
</programlisting>
<command>cycle [Channel[,Channel]] [Abschiedsnachricht]</command>
+8
View File
@@ -117,6 +117,14 @@
<entry><literal>scroll_bottom</literal></entry>
<entry>nach ganz unten scrollen</entry>
</row>
<row>
<entry><literal>scroll_topic_left</literal></entry>
<entry>scroll left topic</entry>
</row>
<row>
<entry><literal>scroll_topic_right</literal></entry>
<entry>scroll right topic</entry>
</row>
<row>
<entry><literal>nick_beginning</literal></entry>
<entry>zum Anfang der Nicklist gehen</entry>
+8 -2
View File
@@ -626,9 +626,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
</entry>
</row>
<row>
<entry>F10</entry>
<entry>F9 / F10</entry>
<entry>
Entferne den letzten Hinweis in der Infobar
Blättere in der Topic
</entry>
</row>
<row>
@@ -675,6 +675,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
(Aktivitätsanzeige für andere Puffer)
</entry>
</row>
<row>
<entry>Alt + I</entry>
<entry>
Entferne den letzten Hinweis in der Infobar
</entry>
</row>
<row>
<entry>Alt + J dann Alt + D</entry>
<entry>
+26 -26
View File
@@ -9,27 +9,27 @@
<programlisting>
einen Alias für einen Befehl anlegen
alias_name: name of alias
command: command name (WeeChat or IRC command, many commands can be separated by semicolons)
arguments: arguments for command
Aliasname: Name des Alias
Befehl: Befehlsname (WeeChat- oder IRC-Befehl ohne führenden '/', mehrere Befehle können durch Semikola getrennt werden)
Argumente: Argumente für den Befehl
</programlisting>
<command>is replaced by all arguments.</command>
<command>wird durch alle Argumente ersetzt.</command>
<programlisting>
</programlisting>
<command>buffer [Aktion [Argumente] | Nummer | [[Server] [Channel]]]</command>
<programlisting>
Puffer verwalten
action: action to do:
move: move buffer in the list (may be relative, for example -1)
close: close buffer (optional arg is part message, for a channel)
list: list open buffers (no parameter implies this list)
notify: set notify level for buffer (0=never, 1=highlight, 2=1+msg, 3=2+join/part)
(when executed on server buffer, this sets default notify level for whole server)
server,
channel: jump to buffer by server and/or channel name
number: jump to buffer by number
Aktion: Pufferaktion:
move: Puffer in der Liste bewegen (kann auch relativ sein, wie -1)
close: Puffer schließen (eine Part-Message kann optional angegeben werden)
list: alle offenen Puffer auflisten (Standardaktion)
notify: Notify-Level für Puffer festlegen (0=nie, 1=bei hervorgehobenen Nachrichten, 2=1+persönliche Nachricht, 3=2+join/part)
(wenn der Befehl in einem Server Puffer ausgeführt wird, setzt er den Default-Notify-Level für den ganzen Server)
Server
Channel: gehe zum Puffer mit Servernamen oder Channelnamen
Nummer: gehe zu Puffer mit dieser Nummer
</programlisting>
<command>builtin Befehl</command>
@@ -108,28 +108,28 @@ Bei jedem Argument steht '*' f
Ohne Argumente listet /ignore alle definierten /ignore-Regeln auf.
</programlisting>
<command>key [key [function/command]] [unbind key] [functions] [reset -yes]</command>
<command>key [Taste [Funktion/Befehl]] [unbind Taste] [functions] [reset -yes]</command>
<programlisting>
belegen/freigeben von Tasten
key: display or bind this key to an internal function or a command (beginning by "/")
unbind: unbind a key
functions: list internal functions for key bindings
reset: restore bindings to the default values and delete ALL personal bindings (use carefully!)
Taste: diese Taste mit einer internen Funktion oder einem Befehl, beginnend mit "/", belegen
unbind: Tastenbelegung aufheben
functions: interne Funktionen für Tastenbelegungen auflisten
reset: Standardbelegung wiederherstellen und entferne ALLE eigenen Belegungen (Vorsicht!)
</programlisting>
<command>plugin [list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload [name]] | [unload [name]]</command>
<command>plugin [list [Name]] | [listfull [Name]] | [load Dateiname] | [autoload] | [reload [Name]] | [unload [Name]]</command>
<programlisting>
auflisten/laden/entladen von Plugins
list: list loaded plugins
listfull: list loaded plugins with detailed info for each plugin
load: load a plugin
autoload: autoload plugins in system or user directory
reload: reload one plugin (if no name given, unload all plugins, then autoload plugins)
unload: unload one or all plugins
list: geladene Plugins auflisten
listfull: geladene Plugins mit Details für jedes Plugin auflisten
load: lade ein Plugin
autoload: lade automatisch alle Plugins im System- oder Benutzerverzeichnis
reload: lade ein Plugin erneut (wenn kein Name vorgegeben ist, werden alle Plugins entladen und autolade die Plugins)
unload: entlade eines oder alle Plugins
Without argument, /plugin command lists loaded plugins.
Ohne Argument, listet /plugin alle geladenen Plugins auf.
</programlisting>
<command>server [Servername] | [Servername Hostname Port [-auto | -noauto] [-ipv6] [-ssl] [-pwd Passwort] [-nicks Nick1 Nick2 Nick3] [-username Benutzername] [-realname Name] [-command Befehl] [-autojoin Channel[,Channel]] ] | [del Servername]</command>
+21
View File
@@ -110,6 +110,13 @@
<entry>0</entry>
<entry>Max size for nicklist (width or height, depending on look_nicklist_position (0 = no max size; if min == max and &gt; 0, then size is fixed))</entry>
</row>
<row>
<entry><option>look_nicklist_separator</option></entry>
<entry>boolean</entry>
<entry>'on' or 'off'</entry>
<entry>'on'</entry>
<entry>Separator between chat and nicklist</entry>
</row>
<row>
<entry><option>look_no_nickname</option></entry>
<entry>string</entry>
@@ -292,6 +299,13 @@
<entry>'default'</entry>
<entry>Color for title bar</entry>
</row>
<row>
<entry><option>col_title_more</option></entry>
<entry>color</entry>
<entry>Curses or Gtk color</entry>
<entry>'lightmagenta'</entry>
<entry>Color for '+' when scrolling topic</entry>
</row>
<row>
<entry><option>col_title_bg</option></entry>
<entry>color</entry>
@@ -915,6 +929,13 @@
<entry>'on'</entry>
<entry>Allow user to send colors with special codes (%B=bold, %Cxx,yy=color, %U=underline, %R=reverse)</entry>
</row>
<row>
<entry><option>irc_send_unknown_commands</option></entry>
<entry>boolean</entry>
<entry>'on' or 'off'</entry>
<entry>'off'</entry>
<entry>Send unknown commands to IRC server</entry>
</row>
<row>
<entry><option>dcc_auto_accept_files</option></entry>
<entry>boolean</entry>
+8
View File
@@ -117,6 +117,14 @@
<entry><literal>scroll_bottom</literal></entry>
<entry>scroll to bottom of buffer</entry>
</row>
<row>
<entry><literal>scroll_topic_left</literal></entry>
<entry>scroll left topic</entry>
</row>
<row>
<entry><literal>scroll_topic_right</literal></entry>
<entry>scroll right topic</entry>
</row>
<row>
<entry><literal>nick_beginning</literal></entry>
<entry>display beginning of nicklist</entry>
+8 -2
View File
@@ -619,9 +619,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
</entry>
</row>
<row>
<entry>F10</entry>
<entry>F9 / F10</entry>
<entry>
Remove last infobar message
Scroll topic
</entry>
</row>
<row>
@@ -668,6 +668,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
(activity notification on other buffers)
</entry>
</row>
<row>
<entry>Alt + I</entry>
<entry>
Remove last infobar message
</entry>
</row>
<row>
<entry>Alt + J then Alt + D</entry>
<entry>
+21
View File
@@ -110,6 +110,13 @@
<entry>0</entry>
<entry>Taille maximum pour la fenêtre d'utilisateurs (largeur ou hauteur, selon look_nicklist_position (0 = pas de taille maximum; si min == max et &gt; 0, alors la taille est fixe))</entry>
</row>
<row>
<entry><option>look_nicklist_separator</option></entry>
<entry>booléen</entry>
<entry>'on' ou 'off'</entry>
<entry>'on'</entry>
<entry>Séparateur entre la discussion et la liste de pseudos</entry>
</row>
<row>
<entry><option>look_no_nickname</option></entry>
<entry>chaîne</entry>
@@ -292,6 +299,13 @@
<entry>'default'</entry>
<entry>Couleur pour la barre de titre</entry>
</row>
<row>
<entry><option>col_title_more</option></entry>
<entry>couleur</entry>
<entry>couleur Curses ou Gtk</entry>
<entry>'lightmagenta'</entry>
<entry>Couleur pour les '+' lors du scroll sur le titre</entry>
</row>
<row>
<entry><option>col_title_bg</option></entry>
<entry>couleur</entry>
@@ -915,6 +929,13 @@
<entry>'on'</entry>
<entry>Autorise l'utilisateur à envoyer des couleurs avec des codes spéciaux (%B=gras, %Cxx,yy=couleur, %U=souligné, %R=inversé)</entry>
</row>
<row>
<entry><option>irc_send_unknown_commands</option></entry>
<entry>booléen</entry>
<entry>'on' ou 'off'</entry>
<entry>'off'</entry>
<entry>Envoie les commandes inconnues au serveur IRC</entry>
</row>
<row>
<entry><option>dcc_auto_accept_files</option></entry>
<entry>booléen</entry>
+8
View File
@@ -117,6 +117,14 @@
<entry><literal>scroll_bottom</literal></entry>
<entry>faire défiler jusqu'à la fin du tampon</entry>
</row>
<row>
<entry><literal>scroll_topic_left</literal></entry>
<entry>faire défiler le titre vers la gauche</entry>
</row>
<row>
<entry><literal>scroll_topic_right</literal></entry>
<entry>faire défiler le titre vers la droite</entry>
</row>
<row>
<entry><literal>nick_beginning</literal></entry>
<entry>afficher le début de la liste des pseudos</entry>
+8 -2
View File
@@ -630,9 +630,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
</entry>
</row>
<row>
<entry>F10</entry>
<entry>F9 / F10</entry>
<entry>
Effacer le dernier message de la barre d'informations
Faire défiler le titre du canal
</entry>
</row>
<row>
@@ -679,6 +679,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
(notification d'activité sur les autres tampons)
</entry>
</row>
<row>
<entry>Alt + I</entry>
<entry>
Effacer le dernier message de la barre d'informations
</entry>
</row>
<row>
<entry>Alt + J puis Alt + D</entry>
<entry>
+269 -255
View File
File diff suppressed because it is too large Load Diff
+269 -255
View File
File diff suppressed because it is too large Load Diff
+269 -255
View File
File diff suppressed because it is too large Load Diff
+268 -256
View File
File diff suppressed because it is too large Load Diff
+269 -255
View File
File diff suppressed because it is too large Load Diff
+269 -255
View File
File diff suppressed because it is too large Load Diff
+267 -255
View File
File diff suppressed because it is too large Load Diff
+5
View File
@@ -281,6 +281,7 @@ t_config_option weechat_options_look[] =
int cfg_col_real_white;
int cfg_col_separator;
int cfg_col_title;
int cfg_col_title_more;
int cfg_col_title_bg;
int cfg_col_chat;
int cfg_col_chat_time;
@@ -356,6 +357,10 @@ t_config_option weechat_options_colors[] =
N_("color for title bar"),
OPTION_TYPE_COLOR, 0, 0, 0,
"default", NULL, &cfg_col_title, NULL, &config_change_color },
{ "col_title_more", N_("color for '+' when scrolling topic"),
N_("color for '+' when scrolling topic"),
OPTION_TYPE_COLOR, 0, 0, 0,
"lightmagenta", NULL, &cfg_col_title_more, NULL, &config_change_color },
{ "col_title_bg", N_("background for title bar"),
N_("background for title bar"),
OPTION_TYPE_COLOR, 0, 0, 0,
+1
View File
@@ -130,6 +130,7 @@ extern char *cfg_look_input_format;
extern int cfg_col_real_white;
extern int cfg_col_separator;
extern int cfg_col_title;
extern int cfg_col_title_more;
extern int cfg_col_title_bg;
extern int cfg_col_chat;
extern int cfg_col_chat_time;
+48 -11
View File
@@ -168,7 +168,8 @@ void
gui_chat_draw_title (t_gui_buffer *buffer, int erase)
{
t_gui_window *ptr_win;
char format[32], *buf, *buf2;
char format[32], *buf, *buf2, *ptr_topic;
int length, width;
if (!gui_ok)
return;
@@ -180,35 +181,71 @@ gui_chat_draw_title (t_gui_buffer *buffer, int erase)
if (erase)
gui_window_curses_clear (GUI_CURSES(ptr_win)->win_title, COLOR_WIN_TITLE);
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title, COLOR_WIN_TITLE);
snprintf (format, 32, "%%-%ds", ptr_win->win_title_width);
wmove (GUI_CURSES(ptr_win)->win_title, 0, 0);
if (CHANNEL(buffer))
{
if (CHANNEL(buffer)->topic)
{
buf = (char *)gui_color_decode ((unsigned char *)(CHANNEL(buffer)->topic), 0);
buf2 = weechat_iconv_from_internal (NULL, (buf) ? buf : CHANNEL(buffer)->topic);
mvwprintw (GUI_CURSES(ptr_win)->win_title, 0, 0,
format, (buf2) ? buf2 : CHANNEL(buffer)->topic);
buf2 = weechat_iconv_from_internal (NULL,
(buf) ? buf : CHANNEL(buffer)->topic);
ptr_topic = (buf2) ? buf2 : CHANNEL(buffer)->topic;
length = utf8_strlen (ptr_topic);
if (ptr_win->win_title_start >= length)
ptr_win->win_title_start = 0;
width = (ptr_win->win_title_start == 0) ?
ptr_win->win_width : ptr_win->win_width - 2;
ptr_topic += ptr_win->win_title_start;
snprintf (format, 32, "%%-%ds", width);
if (ptr_win->win_title_start > 0)
{
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title,
COLOR_WIN_TITLE_MORE);
wprintw (GUI_CURSES(ptr_win)->win_title, "%s", "++");
}
if (utf8_strlen (ptr_topic) > ptr_win->win_width)
{
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title, COLOR_WIN_TITLE);
wprintw (GUI_CURSES(ptr_win)->win_title,
format, ptr_topic);
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title,
COLOR_WIN_TITLE_MORE);
mvwprintw (GUI_CURSES(ptr_win)->win_title, 0, ptr_win->win_width - 2,
"%s", "++");
}
else
{
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title, COLOR_WIN_TITLE);
wprintw (GUI_CURSES(ptr_win)->win_title, format, ptr_topic);
}
if (buf)
free (buf);
if (buf2)
free (buf2);
}
else
mvwprintw (GUI_CURSES(ptr_win)->win_title, 0, 0, format, " ");
{
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title, COLOR_WIN_TITLE);
wprintw (GUI_CURSES(ptr_win)->win_title, format, " ");
}
}
else
{
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title, COLOR_WIN_TITLE);
if (buffer->type == BUFFER_TYPE_STANDARD)
{
mvwprintw (GUI_CURSES(ptr_win)->win_title, 0, 0,
format,
PACKAGE_STRING " " WEECHAT_COPYRIGHT_DATE " - "
WEECHAT_WEBSITE);
wprintw (GUI_CURSES(ptr_win)->win_title,
format,
PACKAGE_STRING " " WEECHAT_COPYRIGHT_DATE " - "
WEECHAT_WEBSITE);
}
else
mvwprintw (GUI_CURSES(ptr_win)->win_title, 0, 0, format, " ");
wprintw (GUI_CURSES(ptr_win)->win_title, format, " ");
}
wnoutrefresh (GUI_CURSES(ptr_win)->win_title);
refresh ();
+1
View File
@@ -504,6 +504,7 @@ gui_color_init_weechat ()
gui_color[COLOR_WIN_SEPARATOR] = gui_color_build (COLOR_WIN_SEPARATOR, cfg_col_separator, cfg_col_separator);
gui_color[COLOR_WIN_TITLE] = gui_color_build (COLOR_WIN_TITLE, cfg_col_title, cfg_col_title_bg);
gui_color[COLOR_WIN_TITLE_MORE] = gui_color_build (COLOR_WIN_TITLE_MORE, cfg_col_title_more, cfg_col_title_bg);
gui_color[COLOR_WIN_CHAT] = gui_color_build (COLOR_WIN_CHAT, cfg_col_chat, cfg_col_chat_bg);
gui_color[COLOR_WIN_CHAT_TIME] = gui_color_build (COLOR_WIN_CHAT_TIME, cfg_col_chat_time, cfg_col_chat_bg);
gui_color[COLOR_WIN_CHAT_TIME_SEP] = gui_color_build (COLOR_WIN_CHAT_TIME_SEP, cfg_col_chat_time_sep, cfg_col_chat_bg);
+3 -1
View File
@@ -83,7 +83,8 @@ gui_keyboard_default_bindings ()
gui_keyboard_bind ( /* m-pgdn */ "meta-meta2-6~", "scroll_down");
gui_keyboard_bind ( /* m-home */ "meta-meta2-1~", "scroll_top");
gui_keyboard_bind ( /* m-end */ "meta-meta2-4~", "scroll_bottom");
gui_keyboard_bind ( /* F10 */ "meta2-21~", "infobar_clear");
gui_keyboard_bind ( /* F9 */ "meta2-20~", "scroll_topic_left");
gui_keyboard_bind ( /* F10 */ "meta2-21~", "scroll_topic_right");
gui_keyboard_bind ( /* F11 */ "meta2-23~", "nick_page_up");
gui_keyboard_bind ( /* F12 */ "meta2-24~", "nick_page_down");
gui_keyboard_bind ( /* m-F11 */ "meta-meta2-23~", "nick_beginning");
@@ -96,6 +97,7 @@ gui_keyboard_default_bindings ()
gui_keyboard_bind ( /* m-f */ "meta-f", "next_word");
gui_keyboard_bind ( /* ^right */ "meta-Oc", "next_word");
gui_keyboard_bind ( /* m-h */ "meta-h", "hotlist_clear");
gui_keyboard_bind ( /* m-i */ "meta-i" , "infobar_clear");
gui_keyboard_bind ( /* m-j,m-d */ "meta-jmeta-d", "jump_dcc");
gui_keyboard_bind ( /* m-j,m-l */ "meta-jmeta-l", "jump_last_buffer");
gui_keyboard_bind ( /* m-j,m-s */ "meta-jmeta-s", "jump_server");
+32
View File
@@ -452,6 +452,7 @@ gui_window_switch_to_buffer (t_gui_window *window, t_gui_buffer *buffer)
}
window->buffer = buffer;
window->win_title_start = 0;
window->win_nick_start = 0;
gui_window_calculate_pos_size (window, 1);
@@ -669,6 +670,37 @@ gui_window_scroll_bottom (t_gui_window *window)
}
}
/*
* gui_window_scroll_topic_left: scroll left topic
*/
void
gui_window_scroll_topic_left (t_gui_window *window)
{
if (!gui_ok)
return;
if (window->win_title_start > 0)
window->win_title_start -= (window->win_width * 3) / 4;
if (window->win_title_start < 0)
window->win_title_start = 0;
gui_chat_draw_title (window->buffer, 1);
}
/*
* gui_window_scroll_topic_right: scroll right topic
*/
void
gui_window_scroll_topic_right (t_gui_window *window)
{
if (!gui_ok)
return;
window->win_title_start += (window->win_width * 3) / 4;
gui_chat_draw_title (window->buffer, 1);
}
/*
* gui_window_nick_beginning: go to beginning of nicklist
*/
+31
View File
@@ -371,6 +371,37 @@ gui_window_scroll_bottom (t_gui_window *window)
}
}
/*
* gui_window_scroll_topic_left: scroll left topic
*/
void
gui_window_scroll_topic_left (t_gui_window *window)
{
if (!gui_ok)
return;
if (window->win_title_start > 0)
window->win_title_start -= (window->win_width * 3) / 4;
if (window->win_title_start < 0)
window->win_title_start = 0;
gui_chat_draw_title (window->buffer, 1);
}
/*
* gui_window_scroll_topic_right: scroll right topic
*/
void
gui_window_scroll_topic_right (t_gui_window *window)
{
if (!gui_ok)
return;
window->win_title_start += (window->win_width * 3) / 4;
gui_chat_draw_title (window->buffer, 1);
}
/*
* gui_window_nick_beginning: go to beginning of nicklist
*/
+20
View File
@@ -883,6 +883,26 @@ gui_action_scroll_bottom (t_gui_window *window)
gui_window_scroll_bottom (window);
}
/*
* gui_action_scroll_topic_left: scroll left topic
*/
void
gui_action_scroll_topic_left (t_gui_window *window)
{
gui_window_scroll_topic_left (window);
}
/*
* gui_action_scroll_topic_right: scroll right topic
*/
void
gui_action_scroll_topic_right (t_gui_window *window)
{
gui_window_scroll_topic_right (window);
}
/*
* gui_action_nick_beginning: go to beginning of nicklist
*/
+1
View File
@@ -89,6 +89,7 @@ enum t_weechat_color
COLOR_DCC_FAILED,
COLOR_DCC_ABORTED,
COLOR_WIN_INPUT_SERVER,
COLOR_WIN_TITLE_MORE,
GUI_NUM_COLORS
};
+4
View File
@@ -103,6 +103,10 @@ t_gui_key_function gui_key_functions[] =
N_("scroll to top of buffer") },
{ "scroll_bottom", gui_action_scroll_bottom,
N_("scroll to bottom of buffer") },
{ "scroll_topic_left", gui_action_scroll_topic_left,
N_("scroll left topic") },
{ "scroll_topic_right", gui_action_scroll_topic_right,
N_("scroll right topic") },
{ "nick_beginning", gui_action_nick_beginning,
N_("display beginning of nicklist") },
{ "nick_end", gui_action_nick_end,
+23 -2
View File
@@ -212,9 +212,29 @@ gui_window_new (t_gui_window *parent, int x, int y, int width, int height,
new_window->win_nick_height = 0;
new_window->win_nick_num_max = 0;
new_window->win_nick_start = 0;
new_window->win_title_x = 0;
new_window->win_title_y = 0;
new_window->win_title_width = 0;
new_window->win_title_height = 0;
new_window->win_title_start = 0;
new_window->win_status_x = 0;
new_window->win_status_y = 0;
new_window->win_status_width = 0;
new_window->win_status_height = 0;
new_window->win_infobar_x = 0;
new_window->win_infobar_y = 0;
new_window->win_infobar_width = 0;
new_window->win_infobar_height = 0;
new_window->win_input_x = 0;
new_window->win_input_y = 0;
new_window->win_input_width = 0;
new_window->win_input_height = 0;
new_window->win_input_cursor_x = 0;
new_window->dcc_first = NULL;
new_window->dcc_selected = NULL;
new_window->dcc_last_displayed = NULL;
@@ -413,6 +433,7 @@ gui_window_print_log (t_gui_window *window)
weechat_log_printf (" win_title_y . . . . : %d\n", window->win_title_y);
weechat_log_printf (" win_title_width . . : %d\n", window->win_title_width);
weechat_log_printf (" win_title_height. . : %d\n", window->win_title_height);
weechat_log_printf (" win_title_start . . : %d\n", window->win_title_start);
weechat_log_printf (" win_status_x. . . . : %d\n", window->win_status_x);
weechat_log_printf (" win_status_y. . . . : %d\n", window->win_status_y);
weechat_log_printf (" win_status_width. . : %d\n", window->win_status_width);
+1
View File
@@ -56,6 +56,7 @@ struct t_gui_window
int win_title_y; /* title window position */
int win_title_width; /* width of title window */
int win_title_height; /* height of title window */
int win_title_start; /* first char of title for display */
/* status bar settings */
int win_status_x; /* status window position */
+4
View File
@@ -136,6 +136,8 @@ extern void gui_action_scroll_up (t_gui_window *);
extern void gui_action_scroll_down (t_gui_window *);
extern void gui_action_scroll_top (t_gui_window *);
extern void gui_action_scroll_bottom (t_gui_window *);
extern void gui_action_scroll_topic_left (t_gui_window *);
extern void gui_action_scroll_topic_right (t_gui_window *);
extern void gui_action_nick_beginning (t_gui_window *);
extern void gui_action_nick_end (t_gui_window *);
extern void gui_action_nick_page_up (t_gui_window *);
@@ -240,6 +242,8 @@ extern void gui_window_scroll_up (t_gui_window *);
extern void gui_window_scroll_down (t_gui_window *);
extern void gui_window_scroll_top (t_gui_window *);
extern void gui_window_scroll_bottom (t_gui_window *);
extern void gui_window_scroll_topic_left (t_gui_window *);
extern void gui_window_scroll_topic_right (t_gui_window *);
extern void gui_window_nick_beginning (t_gui_window *);
extern void gui_window_nick_end (t_gui_window *);
extern void gui_window_nick_page_up (t_gui_window *);
+2 -1
View File
@@ -5,7 +5,8 @@ ChangeLog - 2006-11-29
Version 0.2.2 (under dev!):
* added auto completion with channels and filenames
* added keys (F9/F10) to scroll topic (task #6030)
* added auto completion with channels and filenames (task #5423)
* fixed memleak in keyboard input
* fixed refresh bug when changing config options if window is splited
* added space between chat and nicklist when position is "right" (bug #17852)
+27
View File
@@ -1,6 +1,33 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
* FlashCode, 2006-11-29
WeeChat 0.2.2 under development.
Important release notes:
- new charset plugin:
- for users of any previous version, all your charset settings
in weechat.rc will be LOST! You should save your weechat.rc
to keep your values and set them again with new "charset" plugin.
- for ISO users: history of channels may be without accents
(after /upgrade), this is not recoverable, but this is not a bug.
All new messages should be ok.
- be careful, now default encode is UTF-8 for all channels (before
it was terminal charset). If you still want to send messages as
ISO-8859-1, you should send either global encode or server specific
encode to ISO-8859-1.
For global encode: /setp charset.global.encode = "ISO-8859-1"
For server encode: (on server buffer) /charset encode ISO-8859-1
- new keys for topic scroll:
- new keys for scrolling topic: F9/F10
- key F10 was used for "infobar_clear" in previous WeeChat versions,
you have to manually rebind this key (except for new WeeChat users):
/key <press alt-k then F10> scroll_topic_right
which gives something like this:
/key meta2-21~ scroll_topic_right
* FlashCode, 2006-10-01
WeeChat 0.2.1 released.
+23 -2
View File
@@ -110,6 +110,13 @@
<entry>0</entry>
<entry>Maximale Größe der Nicklist (Breite oder Höhe, je nach look_nicklist_position (0: kein Maximum); Wenn min == max &gt; 0, ist die Größe fest.</entry>
</row>
<row>
<entry><option>look_nicklist_separator</option></entry>
<entry>Boolean</entry>
<entry>zwischen 0 und 100</entry>
<entry>'on'</entry>
<entry>Trennzeichen zwischen Chatfenster und Nickliste</entry>
</row>
<row>
<entry><option>look_no_nickname</option></entry>
<entry>Zeichenfolge</entry>
@@ -292,6 +299,13 @@
<entry>'default'</entry>
<entry>Textfarbe der Titelleiste</entry>
</row>
<row>
<entry><option>col_title_more</option></entry>
<entry>Farbe</entry>
<entry>Curses- oder Gtk-Farben</entry>
<entry>'lightmagenta'</entry>
<entry>Color for '+' when scrolling topic</entry>
</row>
<row>
<entry><option>col_title_bg</option></entry>
<entry>Farbe</entry>
@@ -915,6 +929,13 @@
<entry>'on'</entry>
<entry>Erlaube Benutzern, spezielle Codes zu versenden (%B=fett, %Cxx,yy=Farbe, %U=unterstrichen, %R=reverse/umgekehrt)</entry>
</row>
<row>
<entry><option>irc_send_unknown_commands</option></entry>
<entry>Boolean</entry>
<entry>eine beliebige Zeichenfolge</entry>
<entry>'off'</entry>
<entry>Sende unbekannte Befehle an den IRC-Server</entry>
</row>
<row>
<entry><option>dcc_auto_accept_files</option></entry>
<entry>Boolean</entry>
@@ -1179,7 +1200,7 @@
<entry>Zeichenfolge</entry>
<entry>eine beliebige Zeichenfolge</entry>
<entry>''</entry>
<entry>Command(s) to run when connected to server (many commands should be separated by ';', use '\;' for a semicolon, special variables $nick, $channel and $server are replaced by their value)</entry>
<entry>Befehle, die nach der Verbindung zum Server ausgeführt werden sollen (mehrere Befehle müssen mit einem Semikolon getrennt werden, um ein Semikolon zu schreiben, muss man '\;' verwenden, die spezielllen Variablen $nick, $channel und $server werden dabei durch den jeweiligen Wert ersetzt)</entry>
</row>
<row>
<entry><option>server_command_delay</option></entry>
@@ -1207,5 +1228,5 @@
<entry>Zeichenfolge</entry>
<entry>eine beliebige Zeichenfolge</entry>
<entry>''</entry>
<entry>Comma separated list of notify levels for channels of this server (format: #channel:1,..), a channel name '*' is reserved for server default notify level</entry>
<entry>Durch Kommata getrennte Liste der Notify-Levels für die Channels auf diesem Server (Format: #channel:1,...), der Channelname '*' ist für den Default-Server-Notify-Level</entry>
</row>
+4 -4
View File
@@ -42,13 +42,13 @@ Nicknames oder Hosts sperren/verbannen
Nickname: zu sperrender User oder Host
</programlisting>
<command>ctcp receiver type [arguments]</command>
<command>ctcp Empfänger Typ [Argumente]</command>
<programlisting>
CTCP-Nachricht verschicken
receiver: nick or channel to send CTCP to
type: CTCP type (examples: "version", "ping", ..)
arguments: arguments for CTCP
Empfänger: User, an den die CTCP-Nachricht geschickt werden soll
Typ: Typ der CTCP-Nachricht (z.B. "version", "ping", ..)
Argumente: Argumente für CTCP
</programlisting>
<command>cycle [Channel[,Channel]] [Abschiedsnachricht]</command>
+8
View File
@@ -117,6 +117,14 @@
<entry><literal>scroll_bottom</literal></entry>
<entry>nach ganz unten scrollen</entry>
</row>
<row>
<entry><literal>scroll_topic_left</literal></entry>
<entry>scroll left topic</entry>
</row>
<row>
<entry><literal>scroll_topic_right</literal></entry>
<entry>scroll right topic</entry>
</row>
<row>
<entry><literal>nick_beginning</literal></entry>
<entry>zum Anfang der Nicklist gehen</entry>
+8 -2
View File
@@ -626,9 +626,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
</entry>
</row>
<row>
<entry>F10</entry>
<entry>F9 / F10</entry>
<entry>
Entferne den letzten Hinweis in der Infobar
Blättere in der Topic
</entry>
</row>
<row>
@@ -675,6 +675,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
(Aktivitätsanzeige für andere Puffer)
</entry>
</row>
<row>
<entry>Alt + I</entry>
<entry>
Entferne den letzten Hinweis in der Infobar
</entry>
</row>
<row>
<entry>Alt + J dann Alt + D</entry>
<entry>
+26 -26
View File
@@ -9,27 +9,27 @@
<programlisting>
einen Alias für einen Befehl anlegen
alias_name: name of alias
command: command name (WeeChat or IRC command, many commands can be separated by semicolons)
arguments: arguments for command
Aliasname: Name des Alias
Befehl: Befehlsname (WeeChat- oder IRC-Befehl ohne führenden '/', mehrere Befehle können durch Semikola getrennt werden)
Argumente: Argumente für den Befehl
</programlisting>
<command>is replaced by all arguments.</command>
<command>wird durch alle Argumente ersetzt.</command>
<programlisting>
</programlisting>
<command>buffer [Aktion [Argumente] | Nummer | [[Server] [Channel]]]</command>
<programlisting>
Puffer verwalten
action: action to do:
move: move buffer in the list (may be relative, for example -1)
close: close buffer (optional arg is part message, for a channel)
list: list open buffers (no parameter implies this list)
notify: set notify level for buffer (0=never, 1=highlight, 2=1+msg, 3=2+join/part)
(when executed on server buffer, this sets default notify level for whole server)
server,
channel: jump to buffer by server and/or channel name
number: jump to buffer by number
Aktion: Pufferaktion:
move: Puffer in der Liste bewegen (kann auch relativ sein, wie -1)
close: Puffer schließen (eine Part-Message kann optional angegeben werden)
list: alle offenen Puffer auflisten (Standardaktion)
notify: Notify-Level für Puffer festlegen (0=nie, 1=bei hervorgehobenen Nachrichten, 2=1+persönliche Nachricht, 3=2+join/part)
(wenn der Befehl in einem Server Puffer ausgeführt wird, setzt er den Default-Notify-Level für den ganzen Server)
Server
Channel: gehe zum Puffer mit Servernamen oder Channelnamen
Nummer: gehe zu Puffer mit dieser Nummer
</programlisting>
<command>builtin Befehl</command>
@@ -108,28 +108,28 @@ Bei jedem Argument steht '*' f
Ohne Argumente listet /ignore alle definierten /ignore-Regeln auf.
</programlisting>
<command>key [key [function/command]] [unbind key] [functions] [reset -yes]</command>
<command>key [Taste [Funktion/Befehl]] [unbind Taste] [functions] [reset -yes]</command>
<programlisting>
belegen/freigeben von Tasten
key: display or bind this key to an internal function or a command (beginning by "/")
unbind: unbind a key
functions: list internal functions for key bindings
reset: restore bindings to the default values and delete ALL personal bindings (use carefully!)
Taste: diese Taste mit einer internen Funktion oder einem Befehl, beginnend mit "/", belegen
unbind: Tastenbelegung aufheben
functions: interne Funktionen für Tastenbelegungen auflisten
reset: Standardbelegung wiederherstellen und entferne ALLE eigenen Belegungen (Vorsicht!)
</programlisting>
<command>plugin [list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload [name]] | [unload [name]]</command>
<command>plugin [list [Name]] | [listfull [Name]] | [load Dateiname] | [autoload] | [reload [Name]] | [unload [Name]]</command>
<programlisting>
auflisten/laden/entladen von Plugins
list: list loaded plugins
listfull: list loaded plugins with detailed info for each plugin
load: load a plugin
autoload: autoload plugins in system or user directory
reload: reload one plugin (if no name given, unload all plugins, then autoload plugins)
unload: unload one or all plugins
list: geladene Plugins auflisten
listfull: geladene Plugins mit Details für jedes Plugin auflisten
load: lade ein Plugin
autoload: lade automatisch alle Plugins im System- oder Benutzerverzeichnis
reload: lade ein Plugin erneut (wenn kein Name vorgegeben ist, werden alle Plugins entladen und autolade die Plugins)
unload: entlade eines oder alle Plugins
Without argument, /plugin command lists loaded plugins.
Ohne Argument, listet /plugin alle geladenen Plugins auf.
</programlisting>
<command>server [Servername] | [Servername Hostname Port [-auto | -noauto] [-ipv6] [-ssl] [-pwd Passwort] [-nicks Nick1 Nick2 Nick3] [-username Benutzername] [-realname Name] [-command Befehl] [-autojoin Channel[,Channel]] ] | [del Servername]</command>
+21
View File
@@ -110,6 +110,13 @@
<entry>0</entry>
<entry>Max size for nicklist (width or height, depending on look_nicklist_position (0 = no max size; if min == max and &gt; 0, then size is fixed))</entry>
</row>
<row>
<entry><option>look_nicklist_separator</option></entry>
<entry>boolean</entry>
<entry>'on' or 'off'</entry>
<entry>'on'</entry>
<entry>Separator between chat and nicklist</entry>
</row>
<row>
<entry><option>look_no_nickname</option></entry>
<entry>string</entry>
@@ -292,6 +299,13 @@
<entry>'default'</entry>
<entry>Color for title bar</entry>
</row>
<row>
<entry><option>col_title_more</option></entry>
<entry>color</entry>
<entry>Curses or Gtk color</entry>
<entry>'lightmagenta'</entry>
<entry>Color for '+' when scrolling topic</entry>
</row>
<row>
<entry><option>col_title_bg</option></entry>
<entry>color</entry>
@@ -915,6 +929,13 @@
<entry>'on'</entry>
<entry>Allow user to send colors with special codes (%B=bold, %Cxx,yy=color, %U=underline, %R=reverse)</entry>
</row>
<row>
<entry><option>irc_send_unknown_commands</option></entry>
<entry>boolean</entry>
<entry>'on' or 'off'</entry>
<entry>'off'</entry>
<entry>Send unknown commands to IRC server</entry>
</row>
<row>
<entry><option>dcc_auto_accept_files</option></entry>
<entry>boolean</entry>
+8
View File
@@ -117,6 +117,14 @@
<entry><literal>scroll_bottom</literal></entry>
<entry>scroll to bottom of buffer</entry>
</row>
<row>
<entry><literal>scroll_topic_left</literal></entry>
<entry>scroll left topic</entry>
</row>
<row>
<entry><literal>scroll_topic_right</literal></entry>
<entry>scroll right topic</entry>
</row>
<row>
<entry><literal>nick_beginning</literal></entry>
<entry>display beginning of nicklist</entry>
+8 -2
View File
@@ -619,9 +619,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
</entry>
</row>
<row>
<entry>F10</entry>
<entry>F9 / F10</entry>
<entry>
Remove last infobar message
Scroll topic
</entry>
</row>
<row>
@@ -668,6 +668,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
(activity notification on other buffers)
</entry>
</row>
<row>
<entry>Alt + I</entry>
<entry>
Remove last infobar message
</entry>
</row>
<row>
<entry>Alt + J then Alt + D</entry>
<entry>
+21
View File
@@ -110,6 +110,13 @@
<entry>0</entry>
<entry>Taille maximum pour la fenêtre d'utilisateurs (largeur ou hauteur, selon look_nicklist_position (0 = pas de taille maximum; si min == max et &gt; 0, alors la taille est fixe))</entry>
</row>
<row>
<entry><option>look_nicklist_separator</option></entry>
<entry>booléen</entry>
<entry>'on' ou 'off'</entry>
<entry>'on'</entry>
<entry>Séparateur entre la discussion et la liste de pseudos</entry>
</row>
<row>
<entry><option>look_no_nickname</option></entry>
<entry>chaîne</entry>
@@ -292,6 +299,13 @@
<entry>'default'</entry>
<entry>Couleur pour la barre de titre</entry>
</row>
<row>
<entry><option>col_title_more</option></entry>
<entry>couleur</entry>
<entry>couleur Curses ou Gtk</entry>
<entry>'lightmagenta'</entry>
<entry>Couleur pour les '+' lors du scroll sur le titre</entry>
</row>
<row>
<entry><option>col_title_bg</option></entry>
<entry>couleur</entry>
@@ -915,6 +929,13 @@
<entry>'on'</entry>
<entry>Autorise l'utilisateur à envoyer des couleurs avec des codes spéciaux (%B=gras, %Cxx,yy=couleur, %U=souligné, %R=inversé)</entry>
</row>
<row>
<entry><option>irc_send_unknown_commands</option></entry>
<entry>booléen</entry>
<entry>'on' ou 'off'</entry>
<entry>'off'</entry>
<entry>Envoie les commandes inconnues au serveur IRC</entry>
</row>
<row>
<entry><option>dcc_auto_accept_files</option></entry>
<entry>booléen</entry>
+8
View File
@@ -117,6 +117,14 @@
<entry><literal>scroll_bottom</literal></entry>
<entry>faire défiler jusqu'à la fin du tampon</entry>
</row>
<row>
<entry><literal>scroll_topic_left</literal></entry>
<entry>faire défiler le titre vers la gauche</entry>
</row>
<row>
<entry><literal>scroll_topic_right</literal></entry>
<entry>faire défiler le titre vers la droite</entry>
</row>
<row>
<entry><literal>nick_beginning</literal></entry>
<entry>afficher le début de la liste des pseudos</entry>
+8 -2
View File
@@ -630,9 +630,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
</entry>
</row>
<row>
<entry>F10</entry>
<entry>F9 / F10</entry>
<entry>
Effacer le dernier message de la barre d'informations
Faire défiler le titre du canal
</entry>
</row>
<row>
@@ -679,6 +679,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
(notification d'activité sur les autres tampons)
</entry>
</row>
<row>
<entry>Alt + I</entry>
<entry>
Effacer le dernier message de la barre d'informations
</entry>
</row>
<row>
<entry>Alt + J puis Alt + D</entry>
<entry>
+269 -255
View File
File diff suppressed because it is too large Load Diff
+269 -255
View File
File diff suppressed because it is too large Load Diff
+269 -255
View File
File diff suppressed because it is too large Load Diff
+268 -256
View File
File diff suppressed because it is too large Load Diff
+269 -255
View File
File diff suppressed because it is too large Load Diff
+269 -255
View File
File diff suppressed because it is too large Load Diff
+267 -255
View File
File diff suppressed because it is too large Load Diff
+5
View File
@@ -281,6 +281,7 @@ t_config_option weechat_options_look[] =
int cfg_col_real_white;
int cfg_col_separator;
int cfg_col_title;
int cfg_col_title_more;
int cfg_col_title_bg;
int cfg_col_chat;
int cfg_col_chat_time;
@@ -356,6 +357,10 @@ t_config_option weechat_options_colors[] =
N_("color for title bar"),
OPTION_TYPE_COLOR, 0, 0, 0,
"default", NULL, &cfg_col_title, NULL, &config_change_color },
{ "col_title_more", N_("color for '+' when scrolling topic"),
N_("color for '+' when scrolling topic"),
OPTION_TYPE_COLOR, 0, 0, 0,
"lightmagenta", NULL, &cfg_col_title_more, NULL, &config_change_color },
{ "col_title_bg", N_("background for title bar"),
N_("background for title bar"),
OPTION_TYPE_COLOR, 0, 0, 0,
+1
View File
@@ -130,6 +130,7 @@ extern char *cfg_look_input_format;
extern int cfg_col_real_white;
extern int cfg_col_separator;
extern int cfg_col_title;
extern int cfg_col_title_more;
extern int cfg_col_title_bg;
extern int cfg_col_chat;
extern int cfg_col_chat_time;
+48 -11
View File
@@ -168,7 +168,8 @@ void
gui_chat_draw_title (t_gui_buffer *buffer, int erase)
{
t_gui_window *ptr_win;
char format[32], *buf, *buf2;
char format[32], *buf, *buf2, *ptr_topic;
int length, width;
if (!gui_ok)
return;
@@ -180,35 +181,71 @@ gui_chat_draw_title (t_gui_buffer *buffer, int erase)
if (erase)
gui_window_curses_clear (GUI_CURSES(ptr_win)->win_title, COLOR_WIN_TITLE);
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title, COLOR_WIN_TITLE);
snprintf (format, 32, "%%-%ds", ptr_win->win_title_width);
wmove (GUI_CURSES(ptr_win)->win_title, 0, 0);
if (CHANNEL(buffer))
{
if (CHANNEL(buffer)->topic)
{
buf = (char *)gui_color_decode ((unsigned char *)(CHANNEL(buffer)->topic), 0);
buf2 = weechat_iconv_from_internal (NULL, (buf) ? buf : CHANNEL(buffer)->topic);
mvwprintw (GUI_CURSES(ptr_win)->win_title, 0, 0,
format, (buf2) ? buf2 : CHANNEL(buffer)->topic);
buf2 = weechat_iconv_from_internal (NULL,
(buf) ? buf : CHANNEL(buffer)->topic);
ptr_topic = (buf2) ? buf2 : CHANNEL(buffer)->topic;
length = utf8_strlen (ptr_topic);
if (ptr_win->win_title_start >= length)
ptr_win->win_title_start = 0;
width = (ptr_win->win_title_start == 0) ?
ptr_win->win_width : ptr_win->win_width - 2;
ptr_topic += ptr_win->win_title_start;
snprintf (format, 32, "%%-%ds", width);
if (ptr_win->win_title_start > 0)
{
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title,
COLOR_WIN_TITLE_MORE);
wprintw (GUI_CURSES(ptr_win)->win_title, "%s", "++");
}
if (utf8_strlen (ptr_topic) > ptr_win->win_width)
{
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title, COLOR_WIN_TITLE);
wprintw (GUI_CURSES(ptr_win)->win_title,
format, ptr_topic);
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title,
COLOR_WIN_TITLE_MORE);
mvwprintw (GUI_CURSES(ptr_win)->win_title, 0, ptr_win->win_width - 2,
"%s", "++");
}
else
{
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title, COLOR_WIN_TITLE);
wprintw (GUI_CURSES(ptr_win)->win_title, format, ptr_topic);
}
if (buf)
free (buf);
if (buf2)
free (buf2);
}
else
mvwprintw (GUI_CURSES(ptr_win)->win_title, 0, 0, format, " ");
{
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title, COLOR_WIN_TITLE);
wprintw (GUI_CURSES(ptr_win)->win_title, format, " ");
}
}
else
{
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_title, COLOR_WIN_TITLE);
if (buffer->type == BUFFER_TYPE_STANDARD)
{
mvwprintw (GUI_CURSES(ptr_win)->win_title, 0, 0,
format,
PACKAGE_STRING " " WEECHAT_COPYRIGHT_DATE " - "
WEECHAT_WEBSITE);
wprintw (GUI_CURSES(ptr_win)->win_title,
format,
PACKAGE_STRING " " WEECHAT_COPYRIGHT_DATE " - "
WEECHAT_WEBSITE);
}
else
mvwprintw (GUI_CURSES(ptr_win)->win_title, 0, 0, format, " ");
wprintw (GUI_CURSES(ptr_win)->win_title, format, " ");
}
wnoutrefresh (GUI_CURSES(ptr_win)->win_title);
refresh ();
@@ -504,6 +504,7 @@ gui_color_init_weechat ()
gui_color[COLOR_WIN_SEPARATOR] = gui_color_build (COLOR_WIN_SEPARATOR, cfg_col_separator, cfg_col_separator);
gui_color[COLOR_WIN_TITLE] = gui_color_build (COLOR_WIN_TITLE, cfg_col_title, cfg_col_title_bg);
gui_color[COLOR_WIN_TITLE_MORE] = gui_color_build (COLOR_WIN_TITLE_MORE, cfg_col_title_more, cfg_col_title_bg);
gui_color[COLOR_WIN_CHAT] = gui_color_build (COLOR_WIN_CHAT, cfg_col_chat, cfg_col_chat_bg);
gui_color[COLOR_WIN_CHAT_TIME] = gui_color_build (COLOR_WIN_CHAT_TIME, cfg_col_chat_time, cfg_col_chat_bg);
gui_color[COLOR_WIN_CHAT_TIME_SEP] = gui_color_build (COLOR_WIN_CHAT_TIME_SEP, cfg_col_chat_time_sep, cfg_col_chat_bg);
+3 -1
View File
@@ -83,7 +83,8 @@ gui_keyboard_default_bindings ()
gui_keyboard_bind ( /* m-pgdn */ "meta-meta2-6~", "scroll_down");
gui_keyboard_bind ( /* m-home */ "meta-meta2-1~", "scroll_top");
gui_keyboard_bind ( /* m-end */ "meta-meta2-4~", "scroll_bottom");
gui_keyboard_bind ( /* F10 */ "meta2-21~", "infobar_clear");
gui_keyboard_bind ( /* F9 */ "meta2-20~", "scroll_topic_left");
gui_keyboard_bind ( /* F10 */ "meta2-21~", "scroll_topic_right");
gui_keyboard_bind ( /* F11 */ "meta2-23~", "nick_page_up");
gui_keyboard_bind ( /* F12 */ "meta2-24~", "nick_page_down");
gui_keyboard_bind ( /* m-F11 */ "meta-meta2-23~", "nick_beginning");
@@ -96,6 +97,7 @@ gui_keyboard_default_bindings ()
gui_keyboard_bind ( /* m-f */ "meta-f", "next_word");
gui_keyboard_bind ( /* ^right */ "meta-Oc", "next_word");
gui_keyboard_bind ( /* m-h */ "meta-h", "hotlist_clear");
gui_keyboard_bind ( /* m-i */ "meta-i" , "infobar_clear");
gui_keyboard_bind ( /* m-j,m-d */ "meta-jmeta-d", "jump_dcc");
gui_keyboard_bind ( /* m-j,m-l */ "meta-jmeta-l", "jump_last_buffer");
gui_keyboard_bind ( /* m-j,m-s */ "meta-jmeta-s", "jump_server");
@@ -452,6 +452,7 @@ gui_window_switch_to_buffer (t_gui_window *window, t_gui_buffer *buffer)
}
window->buffer = buffer;
window->win_title_start = 0;
window->win_nick_start = 0;
gui_window_calculate_pos_size (window, 1);
@@ -669,6 +670,37 @@ gui_window_scroll_bottom (t_gui_window *window)
}
}
/*
* gui_window_scroll_topic_left: scroll left topic
*/
void
gui_window_scroll_topic_left (t_gui_window *window)
{
if (!gui_ok)
return;
if (window->win_title_start > 0)
window->win_title_start -= (window->win_width * 3) / 4;
if (window->win_title_start < 0)
window->win_title_start = 0;
gui_chat_draw_title (window->buffer, 1);
}
/*
* gui_window_scroll_topic_right: scroll right topic
*/
void
gui_window_scroll_topic_right (t_gui_window *window)
{
if (!gui_ok)
return;
window->win_title_start += (window->win_width * 3) / 4;
gui_chat_draw_title (window->buffer, 1);
}
/*
* gui_window_nick_beginning: go to beginning of nicklist
*/
+31
View File
@@ -371,6 +371,37 @@ gui_window_scroll_bottom (t_gui_window *window)
}
}
/*
* gui_window_scroll_topic_left: scroll left topic
*/
void
gui_window_scroll_topic_left (t_gui_window *window)
{
if (!gui_ok)
return;
if (window->win_title_start > 0)
window->win_title_start -= (window->win_width * 3) / 4;
if (window->win_title_start < 0)
window->win_title_start = 0;
gui_chat_draw_title (window->buffer, 1);
}
/*
* gui_window_scroll_topic_right: scroll right topic
*/
void
gui_window_scroll_topic_right (t_gui_window *window)
{
if (!gui_ok)
return;
window->win_title_start += (window->win_width * 3) / 4;
gui_chat_draw_title (window->buffer, 1);
}
/*
* gui_window_nick_beginning: go to beginning of nicklist
*/
+20
View File
@@ -883,6 +883,26 @@ gui_action_scroll_bottom (t_gui_window *window)
gui_window_scroll_bottom (window);
}
/*
* gui_action_scroll_topic_left: scroll left topic
*/
void
gui_action_scroll_topic_left (t_gui_window *window)
{
gui_window_scroll_topic_left (window);
}
/*
* gui_action_scroll_topic_right: scroll right topic
*/
void
gui_action_scroll_topic_right (t_gui_window *window)
{
gui_window_scroll_topic_right (window);
}
/*
* gui_action_nick_beginning: go to beginning of nicklist
*/
+1
View File
@@ -89,6 +89,7 @@ enum t_weechat_color
COLOR_DCC_FAILED,
COLOR_DCC_ABORTED,
COLOR_WIN_INPUT_SERVER,
COLOR_WIN_TITLE_MORE,
GUI_NUM_COLORS
};
+4
View File
@@ -103,6 +103,10 @@ t_gui_key_function gui_key_functions[] =
N_("scroll to top of buffer") },
{ "scroll_bottom", gui_action_scroll_bottom,
N_("scroll to bottom of buffer") },
{ "scroll_topic_left", gui_action_scroll_topic_left,
N_("scroll left topic") },
{ "scroll_topic_right", gui_action_scroll_topic_right,
N_("scroll right topic") },
{ "nick_beginning", gui_action_nick_beginning,
N_("display beginning of nicklist") },
{ "nick_end", gui_action_nick_end,
+23 -2
View File
@@ -212,9 +212,29 @@ gui_window_new (t_gui_window *parent, int x, int y, int width, int height,
new_window->win_nick_height = 0;
new_window->win_nick_num_max = 0;
new_window->win_nick_start = 0;
new_window->win_title_x = 0;
new_window->win_title_y = 0;
new_window->win_title_width = 0;
new_window->win_title_height = 0;
new_window->win_title_start = 0;
new_window->win_status_x = 0;
new_window->win_status_y = 0;
new_window->win_status_width = 0;
new_window->win_status_height = 0;
new_window->win_infobar_x = 0;
new_window->win_infobar_y = 0;
new_window->win_infobar_width = 0;
new_window->win_infobar_height = 0;
new_window->win_input_x = 0;
new_window->win_input_y = 0;
new_window->win_input_width = 0;
new_window->win_input_height = 0;
new_window->win_input_cursor_x = 0;
new_window->dcc_first = NULL;
new_window->dcc_selected = NULL;
new_window->dcc_last_displayed = NULL;
@@ -413,6 +433,7 @@ gui_window_print_log (t_gui_window *window)
weechat_log_printf (" win_title_y . . . . : %d\n", window->win_title_y);
weechat_log_printf (" win_title_width . . : %d\n", window->win_title_width);
weechat_log_printf (" win_title_height. . : %d\n", window->win_title_height);
weechat_log_printf (" win_title_start . . : %d\n", window->win_title_start);
weechat_log_printf (" win_status_x. . . . : %d\n", window->win_status_x);
weechat_log_printf (" win_status_y. . . . : %d\n", window->win_status_y);
weechat_log_printf (" win_status_width. . : %d\n", window->win_status_width);
+1
View File
@@ -56,6 +56,7 @@ struct t_gui_window
int win_title_y; /* title window position */
int win_title_width; /* width of title window */
int win_title_height; /* height of title window */
int win_title_start; /* first char of title for display */
/* status bar settings */
int win_status_x; /* status window position */
+4
View File
@@ -136,6 +136,8 @@ extern void gui_action_scroll_up (t_gui_window *);
extern void gui_action_scroll_down (t_gui_window *);
extern void gui_action_scroll_top (t_gui_window *);
extern void gui_action_scroll_bottom (t_gui_window *);
extern void gui_action_scroll_topic_left (t_gui_window *);
extern void gui_action_scroll_topic_right (t_gui_window *);
extern void gui_action_nick_beginning (t_gui_window *);
extern void gui_action_nick_end (t_gui_window *);
extern void gui_action_nick_page_up (t_gui_window *);
@@ -240,6 +242,8 @@ extern void gui_window_scroll_up (t_gui_window *);
extern void gui_window_scroll_down (t_gui_window *);
extern void gui_window_scroll_top (t_gui_window *);
extern void gui_window_scroll_bottom (t_gui_window *);
extern void gui_window_scroll_topic_left (t_gui_window *);
extern void gui_window_scroll_topic_right (t_gui_window *);
extern void gui_window_nick_beginning (t_gui_window *);
extern void gui_window_nick_end (t_gui_window *);
extern void gui_window_nick_page_up (t_gui_window *);