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

core: add "_chat_line_x" in focus hashtable (for buffers with free content)

This commit is contained in:
Sebastien Helleu
2011-08-15 12:59:32 +02:00
parent eee81cfe9c
commit d89115d4db
7 changed files with 16 additions and 4 deletions
+2 -1
View File
@@ -8285,6 +8285,7 @@ Content of hashtable sent to callback (keys and values are of type "string"):
| _buffer_plugin | plugin name of buffer | "core", "irc", ... | ""
| _buffer_name | name of buffer | "weechat", "freenode.#weechat", ... | ""
| _chat | chat area indicator | "0" or "1" | "0"
| _chat_line_x | column in line ^(2)^ | "0" ... "n" | "-1"
| _chat_line_y | line number ^(2)^ | "0" ... "n" | "-1"
| _chat_line_date | line date | "1313237175" | "0"
| _chat_line_date_printed | line date ^(3)^ | "1313237175" | "0"
@@ -8307,7 +8308,7 @@ Content of hashtable sent to callback (keys and values are of type "string"):
^(1)^ There are same keys suffixed with "2" (ie: "_x2", "_y2", "_window2", ...)
with info on second point (useful only for mouse gestures, to know where mouse
button has been released). +
^(2)^ Line number is set only for buffers with free content. +
^(2)^ It is set only for buffers with free content. +
^(3)^ It is date when WeeChat adds line in buffer (greater or equal to
"chat_line_date").
+2 -2
View File
@@ -8422,6 +8422,7 @@ Contenu de la hashtable envoyée au "callback" (les clés et valeurs sont de typ
| _buffer_plugin | nom d'extension du tampon | "core", "irc", ... | ""
| _buffer_name | nom du tampon | "weechat", "freenode.#weechat", ... | ""
| _chat | indicateur zone "chat" | "0" ou "1" | "0"
| _chat_line_x | colonne de la ligne ^(2)^ | "0" ... "n" | "-1"
| _chat_line_y | numéro de ligne ^(2)^ | "0" ... "n" | "-1"
| _chat_line_date | date de la ligne | "1313237175" | "0"
| _chat_line_date_printed | date de la ligne ^(3)^ | "1313237175" | "0"
@@ -8445,8 +8446,7 @@ Contenu de la hashtable envoyée au "callback" (les clés et valeurs sont de typ
"_window2", ...) avec l'information sur le second point (pratique seulement
pour les gestes de souris, pour savoir où le bouton de la souris a été
relâché). +
^(2)^ Le numéro de ligne n'est renseigné que pour les tampons avec contenu
libre. +
^(2)^ Renseigné seulement pour les tampons avec contenu libre. +
^(3)^ Il s'agit de la date lorsque WeeChat ajoute la ligne dans le tampon
(supérieure ou égale à "chat_line_date").
+2 -1
View File
@@ -8342,6 +8342,7 @@ Content of hashtable sent to callback (keys and values are of type "string"):
| _buffer_plugin | plugin name of buffer | "core", "irc", ... | ""
| _buffer_name | name of buffer | "weechat", "freenode.#weechat", ... | ""
| _chat | chat area indicator | "0" or "1" | "0"
| _chat_line_x | column in line ^(2)^ | "0" ... "n" | "-1"
| _chat_line_y | line number ^(2)^ | "0" ... "n" | "-1"
| _chat_line_date | line date | "1313237175" | "0"
| _chat_line_date_printed | line date ^(3)^ | "1313237175" | "0"
@@ -8364,7 +8365,7 @@ Content of hashtable sent to callback (keys and values are of type "string"):
^(1)^ There are same keys suffixed with "2" (ie: "_x2", "_y2", "_window2", ...)
with info on second point (useful only for mouse gestures, to know where mouse
button has been released). +
^(2)^ Line number is set only for buffers with free content. +
^(2)^ It is set only for buffers with free content. +
^(3)^ It is date when WeeChat adds line in buffer (greater or equal to
"chat_line_date").
+3
View File
@@ -88,6 +88,7 @@ gui_focus_get_info (int x, int y)
x, y,
&focus_info->chat,
&focus_info->chat_line,
&focus_info->chat_line_x,
&focus_info->chat_word,
&focus_info->chat_bol,
&focus_info->chat_eol);
@@ -176,6 +177,7 @@ gui_focus_to_hashtable (struct t_gui_focus_info *focus_info, const char *key)
str_tags = string_build_with_split_string ((const char **)((focus_info->chat_line)->data)->tags_array, ",");
str_message = gui_color_decode (((focus_info->chat_line)->data)->message, NULL);
nick = gui_line_get_nick_tag (focus_info->chat_line);
FOCUS_INT("_chat_line_x", focus_info->chat_line_x);
FOCUS_INT("_chat_line_y", ((focus_info->chat_line)->data)->y);
FOCUS_TIME("_chat_line_date", ((focus_info->chat_line)->data)->date);
FOCUS_TIME("_chat_line_date_printed", ((focus_info->chat_line)->data)->date_printed);
@@ -195,6 +197,7 @@ gui_focus_to_hashtable (struct t_gui_focus_info *focus_info, const char *key)
}
else
{
FOCUS_STR("_chat_line_x", "-1");
FOCUS_STR("_chat_line_y", "-1");
FOCUS_STR("_chat_line_date", "-1");
FOCUS_STR("_chat_line_date_printed", "-1");
+1
View File
@@ -28,6 +28,7 @@ struct t_gui_focus_info
struct t_gui_window *window; /* window found */
int chat; /* 1 for chat area, otherwise 0 */
struct t_gui_line *chat_line; /* line in chat area */
int chat_line_x; /* x in line */
char *chat_word; /* word at (x,y) */
char *chat_bol; /* beginnong of line until (x,y) */
char *chat_eol; /* (x,y) until end of line */
+5
View File
@@ -124,6 +124,7 @@ gui_window_search_by_xy (int x, int y)
* gui_window_get_context_at_xy: return following info:
* - chat (0/1)
* - line
* - x in line
* - word at (x,y)
* - beginning of line until (x,y)
* - (x,y) until end of line
@@ -134,6 +135,7 @@ gui_window_get_context_at_xy (struct t_gui_window *window,
int x, int y,
int *chat,
struct t_gui_line **line,
int *line_x,
char **word,
char **beginning,
char **end)
@@ -144,6 +146,7 @@ gui_window_get_context_at_xy (struct t_gui_window *window,
*chat = 0;
*line = NULL;
*line_x = -1;
*word = NULL;
*beginning = NULL;
*end = NULL;
@@ -167,6 +170,8 @@ gui_window_get_context_at_xy (struct t_gui_window *window,
if (window->scroll->start_col > 0)
win_x += window->scroll->start_col;
*line_x = win_x;
/* we are in chat area */
*chat = 1;
+1
View File
@@ -141,6 +141,7 @@ extern void gui_window_get_context_at_xy (struct t_gui_window *window,
int x, int y,
int *chat,
struct t_gui_line **line,
int *line_x,
char **word,
char **beginning,
char **end);