kiss-mfavila-large/ports/unofficial/stable/links2-mod/patches/01-links-tabbed.patch

68 lines
2.3 KiB
Diff

diff --git a/default.c b/default.c
index dc3fa58..5e21015 100644
--- a/default.c
+++ b/default.c
@@ -2091,6 +2091,7 @@ int force_g = 0;
unsigned char ggr_drv[MAX_STR_LEN] = "";
unsigned char ggr_mode[MAX_STR_LEN] = "";
unsigned char ggr_display[MAX_STR_LEN] = "";
+unsigned char embed[MAX_STR_LEN] = "";
int anonymous = 0;
@@ -2234,6 +2235,7 @@ static struct option links_options[] = {
{1, setstr_cmd, NULL, NULL, 0, MAX_STR_LEN, default_target, NULL, "target"},
{1, setstr_cmd, NULL, NULL, 0, MAX_STR_LEN, ggr_mode, NULL, "mode"},
{1, setstr_cmd, NULL, NULL, 0, MAX_STR_LEN, ggr_display, NULL, "display"},
+ {1, setstr_cmd, NULL, NULL, 0, MAX_STR_LEN, embed, NULL, "w"},
{1, gen_cmd, num_rd, NULL, 0, MAXINT, &base_session, NULL, "base-session"},
{1, set_cmd, NULL, NULL, 0, 0, &force_html, NULL, "force-html"},
{1, dump_cmd, NULL, NULL, D_SOURCE, 0, NULL, NULL, "source"},
diff --git a/links.h b/links.h
index f61466c..b8967de 100644
--- a/links.h
+++ b/links.h
@@ -4812,6 +4812,7 @@ extern int force_g;
extern unsigned char ggr_drv[MAX_STR_LEN];
extern unsigned char ggr_mode[MAX_STR_LEN];
extern unsigned char ggr_display[MAX_STR_LEN];
+extern unsigned char embed[MAX_STR_LEN];
extern unsigned char default_target[MAX_STR_LEN];
diff --git a/x.c b/x.c
index 5f3f33a..ab4c93c 100644
--- a/x.c
+++ b/x.c
@@ -1622,7 +1622,11 @@ static unsigned char *x_init_driver(unsigned char *param, unsigned char *display
x_screen = DefaultScreen(x_display);
x_display_height = DisplayHeight(x_display, x_screen);
x_display_width = DisplayWidth(x_display, x_screen);
- x_root_window = RootWindow(x_display, x_screen);
+ if (embed) {
+ x_root_window = strtol(embed, NULL, 0);
+ } else {
+ x_root_window = RootWindow(x_display, x_screen);
+ }
x_default_colormap = XDefaultColormap(x_display, x_screen);
x_default_window_width = x_display_width;
@@ -1813,6 +1817,7 @@ visual_found:
if (x_have_palette) win_attr.colormap = x_colormap;
else win_attr.colormap = x_default_colormap;
+ if (!embed) {
fake_window = XCreateWindow(
x_display,
x_root_window,
@@ -1829,6 +1834,9 @@ visual_found:
);
fake_window_initialized = 1;
+ } else {
+ fake_window = x_root_window;
+ }
x_normal_gc = XCreateGC(x_display, fake_window, GCFillStyle|GCBackground, &gcv);
if (!x_normal_gc) {