1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-11-04 08:17:17 -05:00
elinks/src/terminal/tab.h
Witold Filipczyk 1f57e72212 [mozjs24] Allow build elinks with g++
SpiderMonkey was updated to mozjs24. If you want to build elinks
with ecmascript support, you must compile using g++ with -fpermissive .
There is a lot of warnings.
There are some memleaks in ecmascript code, especially related to JSAutoCompartment.
I don't know yet, where and how to free it.

Debian does not support mozjs24, so I'm going to gradually update SpiderMonkey version.
2020-10-05 20:14:55 +02:00

49 lines
1.4 KiB
C

#ifndef EL__TERMINAL_TAB_H
#define EL__TERMINAL_TAB_H
#include "terminal/terminal.h"
#include "terminal/window.h"
#ifdef __cplusplus
extern "C" {
#endif
struct session;
struct uri;
struct window *
init_tab(struct terminal *term, void *data, window_handler_T handler);
int tabs_are_on_top(struct terminal *);
int number_of_tabs(struct terminal *);
int get_tab_number(struct window *);
int get_tab_number_by_xpos(struct terminal *term, int xpos);
struct window *get_tab_by_number(struct terminal *, int);
void switch_to_tab(struct terminal *, int, int);
void switch_current_tab(struct session *ses, int direction);
void close_tab(struct terminal *, struct session *);
void close_all_tabs_but_current(struct session *ses);
#define get_current_tab(term) get_tab_by_number((term), (term)->current_tab)
#define inactive_tab(win) \
((win)->type != WINDOW_NORMAL && (win) != get_current_tab((win->term)))
void open_uri_in_new_tab(struct session *ses, struct uri *uri, int in_background, int based);
void delayed_open(void *);
void open_current_link_in_new_tab(struct session *ses, int in_background);
void move_current_tab(struct session *ses, int direction);
#define foreach_tab(tab, terminal) \
foreach (tab, terminal) if (tab->type == WINDOW_TAB)
#define foreachback_tab(tab, terminal) \
foreachback (tab, terminal) if (tab->type == WINDOW_TAB)
#ifdef __cplusplus
}
#endif
#endif