+/* Login details */
+
+void login_box(void);
+
+/* Help */
+
+void popup_help(void);
+
+/* RTP */
+
+int rtp_running(void);
+void start_rtp(void);
+void stop_rtp(void);
+
+/* Settings */
+
+void init_styles(void);
+extern GtkStyle *layout_style;
+extern GtkStyle *title_style;
+extern GtkStyle *even_style;
+extern GtkStyle *odd_style;
+extern GtkStyle *active_style;
+extern GtkStyle *tool_style;
+extern GtkStyle *search_style;
+extern GtkStyle *drag_style;
+
+extern const char *browser;
+
+void save_settings(void);
+void load_settings(void);
+void set_tool_colors(GtkWidget *w);
+
+/* Widget leakage debugging rubbish ---------------------------------------- */
+
+#if MDEBUG
+#define NW(what) do { \
+ if(++current##what % 100 > max##what) { \
+ fprintf(stderr, "%s:%d: %d %s\n", \
+ __FILE__, __LINE__, current##what, #what); \
+ max##what = current##what; \
+ } \
+} while(0)
+#define WT(what) static int current##what, max##what
+#define DW(what) (--current##what)
+#else
+#define NW(what) do { } while(0)
+#define DW(what) do { } while(0)
+#define WT(what) struct neverused
+#endif
+
+#if MTRACK
+extern const char *mtag;
+#define MTAG(x) do { mtag = x; } while(0)
+#define MTAG_PUSH(x) do { const char *save_mtag = mtag; mtag = x; (void)0
+#define MTAG_POP() mtag = save_mtag; } while(0)
+#else
+#define MTAG(x) do { } while(0)
+#define MTAG_PUSH(x) do {} while(0)
+#define MTAG_POP() do {} while(0)
+#endif
+