summary refs log tree commit diff stats
path: root/src/fe-gtk/xtext.h
diff options
context:
space:
mode:
authorRichardHitt <rbh00@netcom.com>2014-04-02 16:09:13 -0700
committerRichardHitt <rbh00@netcom.com>2014-04-02 16:14:45 -0700
commit0f828dd74f9ea81fe70c8a101a7aa7c40737437a (patch)
tree2e94607cdf2fc775e8e909f8a750ea513099afdf /src/fe-gtk/xtext.h
parent5e8bc980e101f06b452d840569e255b01b220134 (diff)
Add marker-line functionality for scrollback, instant seek.
Fixes #662.
Diffstat (limited to 'src/fe-gtk/xtext.h')
-rw-r--r--src/fe-gtk/xtext.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/fe-gtk/xtext.h b/src/fe-gtk/xtext.h
index 2476e15c..0a4215c5 100644
--- a/src/fe-gtk/xtext.h
+++ b/src/fe-gtk/xtext.h
@@ -68,6 +68,14 @@ typedef union offsets_u {
 	guint32 u;
 } offsets_t;
 
+typedef enum marker_reset_reason_e {
+	MARKER_WAS_NEVER_SET,
+	MARKER_IS_SET,
+	MARKER_RESET_MANUALLY,
+	MARKER_RESET_BY_KILL,
+	MARKER_RESET_BY_CLEAR
+} marker_reset_reason;
+
 typedef struct {
 	GtkXText *xtext;					/* attached to this widget */
 
@@ -90,6 +98,7 @@ typedef struct {
 	int indent;						  /* position of separator (pixels) from left */
 
 	textentry *marker_pos;
+	marker_reset_reason marker_state;
 
 	int window_width;				/* window size when last rendered. */
 	int window_height;
@@ -98,7 +107,6 @@ typedef struct {
 	unsigned int scrollbar_down:1;
 	unsigned int needs_recalc:1;
 	unsigned int marker_seen:1;
-	unsigned int reset_marker_pos:1;
 
 	GList *search_found;		/* list of textentries where search found strings */
 	gchar *search_text;		/* desired text to search for */
@@ -257,7 +265,9 @@ void gtk_xtext_refresh (GtkXText * xtext);
 int gtk_xtext_lastlog (xtext_buffer *out, xtext_buffer *search_area);
 textentry *gtk_xtext_search (GtkXText * xtext, const gchar *text, gtk_xtext_search_flags flags, GError **err);
 void gtk_xtext_reset_marker_pos (GtkXText *xtext);
+int gtk_xtext_moveto_marker_pos (GtkXText *xtext);
 void gtk_xtext_check_marker_visibility(GtkXText *xtext);
+void gtk_xtext_set_marker_last (session *sess);
 
 gboolean gtk_xtext_is_empty (xtext_buffer *buf);
 typedef void (*GtkXTextForeach) (GtkXText *xtext, unsigned char *text, void *data);