Compare commits
1 commit
upstream
...
draw-conso
Author | SHA1 | Date | |
---|---|---|---|
|
63216f7346 |
36 changed files with 5970 additions and 8017 deletions
14
ChangeLog
14
ChangeLog
|
@ -1,17 +1,3 @@
|
||||||
=== RELEASE 2.30 ===
|
|
||||||
|
|
||||||
Sat Jul 27 18:41:39 CEST 2024 mikulas:
|
|
||||||
|
|
||||||
Disable asynchronous DNS on Windows because of some Cygwin bug
|
|
||||||
|
|
||||||
Sun Jul 21 19:58:03 CEST 2024 mikulas:
|
|
||||||
|
|
||||||
Fix the configure script to work with GCC 14
|
|
||||||
|
|
||||||
Sun Jul 21 17:22:30 CEST 2024 mikulas:
|
|
||||||
|
|
||||||
Fix window title on kwin
|
|
||||||
|
|
||||||
=== RELEASE 2.29 ===
|
=== RELEASE 2.29 ===
|
||||||
|
|
||||||
Thu Mar 9 19:51:20 CET 2023 Florian Weimer <fweimer@redhat.com>:
|
Thu Mar 9 19:51:20 CET 2023 Florian Weimer <fweimer@redhat.com>:
|
||||||
|
|
2
INSTALL
2
INSTALL
|
@ -1,4 +1,4 @@
|
||||||
Links 2.30 -- How To Install
|
Links 2.29 -- How To Install
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
Follow this step-by-step:
|
Follow this step-by-step:
|
||||||
|
|
|
@ -104,10 +104,10 @@ mailto.o main.o memory.o menu.o objreq.o os_dep.o pmshell.o png.o \
|
||||||
sched.o select.o session.o smb.o string.o suffix.o svg.o svgalib.o \
|
sched.o select.o session.o smb.o string.o suffix.o svg.o svgalib.o \
|
||||||
terminal.o tiff.o types.o url.o view.o view_gr.o vms.o webp.o x.o xbm.o
|
terminal.o tiff.o types.o url.o view.o view_gr.o vms.o webp.o x.o xbm.o
|
||||||
@ATHEOS_GR_TRUE@links_DEPENDENCIES = atheos.o
|
@ATHEOS_GR_TRUE@links_DEPENDENCIES = atheos.o
|
||||||
@HAIKU_GR_TRUE@links_DEPENDENCIES = haiku.o
|
|
||||||
@JAVASCRIPT_TRUE@links_DEPENDENCIES = builtin.o context.o ipret.o \
|
@JAVASCRIPT_TRUE@links_DEPENDENCIES = builtin.o context.o ipret.o \
|
||||||
@JAVASCRIPT_TRUE@javascr.o javascript.o md5.o md5hl.o ns.o pomocny.o \
|
@JAVASCRIPT_TRUE@javascr.o javascript.o md5.o md5hl.o ns.o pomocny.o \
|
||||||
@JAVASCRIPT_TRUE@regexp.o
|
@JAVASCRIPT_TRUE@regexp.o
|
||||||
|
@HAIKU_GR_TRUE@links_DEPENDENCIES = haiku.o
|
||||||
links_LDFLAGS =
|
links_LDFLAGS =
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
|
|
|
@ -625,6 +625,8 @@ struct graphics_driver atheos_driver = {
|
||||||
ath_draw_vline,
|
ath_draw_vline,
|
||||||
ath_scroll,
|
ath_scroll,
|
||||||
ath_set_clip_area,
|
ath_set_clip_area,
|
||||||
|
NULL, /* start_draw */
|
||||||
|
NULL, /* end_draw */
|
||||||
ath_flush,
|
ath_flush,
|
||||||
NULL, /* block */
|
NULL, /* block */
|
||||||
NULL, /* unblock */
|
NULL, /* unblock */
|
||||||
|
|
13
bfu.c
13
bfu.c
|
@ -386,6 +386,7 @@ static void display_menu_item_gfx(struct terminal *term, struct menu *menu, int
|
||||||
struct graphics_device *dev = term->dev;
|
struct graphics_device *dev = term->dev;
|
||||||
int y;
|
int y;
|
||||||
if (it < menu->view || it >= menu->ni || it >= menu->view + menu->nview) return;
|
if (it < menu->view || it >= menu->ni || it >= menu->view + menu->nview) return;
|
||||||
|
if (drv->start_draw) drv->start_draw(dev);
|
||||||
y = menu->y + G_MENU_TOP_BORDER + (it - menu->view) * G_BFU_FONT_SIZE;
|
y = menu->y + G_MENU_TOP_BORDER + (it - menu->view) * G_BFU_FONT_SIZE;
|
||||||
if (item->hotkey == M_BAR && !get_text_translation(item->text, term)[0]) {
|
if (item->hotkey == M_BAR && !get_text_translation(item->text, term)[0]) {
|
||||||
drv->fill_area(dev, menu->x + (G_MENU_LEFT_BORDER - 1) / 2 + 1, y, menu->x + menu->xw - (G_MENU_LEFT_BORDER + 1) / 2, y + (G_BFU_FONT_SIZE - 1) / 2, bfu_bg_color);
|
drv->fill_area(dev, menu->x + (G_MENU_LEFT_BORDER - 1) / 2 + 1, y, menu->x + menu->xw - (G_MENU_LEFT_BORDER + 1) / 2, y + (G_BFU_FONT_SIZE - 1) / 2, bfu_bg_color);
|
||||||
|
@ -464,6 +465,7 @@ static void display_menu_item_gfx(struct terminal *term, struct menu *menu, int
|
||||||
drv->fill_area(dev, menu->x + menu->xw - G_MENU_LEFT_BORDER - G_MENU_LEFT_INNER_BORDER, y, menu->x + menu->xw - G_MENU_LEFT_BORDER, y + G_BFU_FONT_SIZE, bfu_fg_color);
|
drv->fill_area(dev, menu->x + menu->xw - G_MENU_LEFT_BORDER - G_MENU_LEFT_INNER_BORDER, y, menu->x + menu->xw - G_MENU_LEFT_BORDER, y + G_BFU_FONT_SIZE, bfu_fg_color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (drv->end_draw) drv->end_draw(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void display_menu_gfx(struct terminal *term, void *menu_)
|
static void display_menu_gfx(struct terminal *term, void *menu_)
|
||||||
|
@ -480,6 +482,7 @@ static void display_menu_gfx(struct terminal *term, void *menu_)
|
||||||
#define PX2 (menu->x + menu->xw - (G_MENU_LEFT_BORDER + 1) / 2)
|
#define PX2 (menu->x + menu->xw - (G_MENU_LEFT_BORDER + 1) / 2)
|
||||||
#define PY1 (menu->y + (G_MENU_TOP_BORDER - 1) / 2)
|
#define PY1 (menu->y + (G_MENU_TOP_BORDER - 1) / 2)
|
||||||
#define PY2 (menu->y + menu->yw - (G_MENU_TOP_BORDER + 1) / 2)
|
#define PY2 (menu->y + menu->yw - (G_MENU_TOP_BORDER + 1) / 2)
|
||||||
|
if (drv->start_draw) drv->start_draw(dev);
|
||||||
drv->fill_area(dev, menu->x, menu->y, menu->x + menu->xw, PY1, bfu_bg_color);
|
drv->fill_area(dev, menu->x, menu->y, menu->x + menu->xw, PY1, bfu_bg_color);
|
||||||
drv->fill_area(dev, menu->x, PY1, PX1, PY2 + 1, bfu_bg_color);
|
drv->fill_area(dev, menu->x, PY1, PX1, PY2 + 1, bfu_bg_color);
|
||||||
drv->fill_area(dev, PX2 + 1, PY1, menu->x + menu->xw, PY2 + 1, bfu_bg_color);
|
drv->fill_area(dev, PX2 + 1, PY1, menu->x + menu->xw, PY2 + 1, bfu_bg_color);
|
||||||
|
@ -494,6 +497,7 @@ static void display_menu_gfx(struct terminal *term, void *menu_)
|
||||||
menu_ptr_set = 0;
|
menu_ptr_set = 0;
|
||||||
for (p = menu->view; p < menu->ni && p < menu->view + menu->nview; p++) display_menu_item_gfx(term, menu, p);
|
for (p = menu->view; p < menu->ni && p < menu->view + menu->nview; p++) display_menu_item_gfx(term, menu, p);
|
||||||
if (!menu_ptr_set) set_window_ptr(menu->win, menu->x, menu->y);
|
if (!menu_ptr_set) set_window_ptr(menu->win, menu->x, menu->y);
|
||||||
|
if (drv->end_draw) drv->end_draw(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -536,7 +540,6 @@ static void menu_func(struct window *win, struct links_event *ev, int fwd)
|
||||||
int f = 1;
|
int f = 1;
|
||||||
struct window *w1;
|
struct window *w1;
|
||||||
struct list_head *w1l;
|
struct list_head *w1l;
|
||||||
f = f + 0; /* avoid warning */
|
|
||||||
foreachfrom(struct window, w1, w1l, win->term->windows, &win->list_entry) {
|
foreachfrom(struct window, w1, w1l, win->term->windows, &win->list_entry) {
|
||||||
struct menu *m1;
|
struct menu *m1;
|
||||||
if (w1->handler == mainmenu_func) {
|
if (w1->handler == mainmenu_func) {
|
||||||
|
@ -724,6 +727,7 @@ static void display_mainmenu(struct terminal *term, void *menu_)
|
||||||
} else {
|
} else {
|
||||||
struct graphics_device *dev = term->dev;
|
struct graphics_device *dev = term->dev;
|
||||||
int i, p;
|
int i, p;
|
||||||
|
if (drv->start_draw) drv->start_draw(dev);
|
||||||
drv->fill_area(dev, 0, 0, p = G_MAINMENU_LEFT_BORDER, G_BFU_FONT_SIZE, bfu_bg_color);
|
drv->fill_area(dev, 0, 0, p = G_MAINMENU_LEFT_BORDER, G_BFU_FONT_SIZE, bfu_bg_color);
|
||||||
for (i = 0; i < menu->ni; i++) {
|
for (i = 0; i < menu->ni; i++) {
|
||||||
int s = i == menu->selected;
|
int s = i == menu->selected;
|
||||||
|
@ -744,6 +748,7 @@ static void display_mainmenu(struct terminal *term, void *menu_)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
drv->fill_area(dev, p, 0, term->x, G_BFU_FONT_SIZE, bfu_bg_color);
|
drv->fill_area(dev, p, 0, term->x, G_BFU_FONT_SIZE, bfu_bg_color);
|
||||||
|
if (drv->end_draw) drv->end_draw(dev);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -968,6 +973,7 @@ void display_dlg_item(struct dialog_data *dlg, struct dialog_item_data *di, int
|
||||||
} else {
|
} else {
|
||||||
struct rect rr;
|
struct rect rr;
|
||||||
struct graphics_device *dev = term->dev;
|
struct graphics_device *dev = term->dev;
|
||||||
|
if (drv->start_draw) drv->start_draw(dev);
|
||||||
if (!dlg->s) restrict_clip_area(dev, &rr, dlg->rr.x1, dlg->rr.y1, dlg->rr.x2, dlg->rr.y2);
|
if (!dlg->s) restrict_clip_area(dev, &rr, dlg->rr.x1, dlg->rr.y1, dlg->rr.x2, dlg->rr.y2);
|
||||||
switch (di->item->type) {
|
switch (di->item->type) {
|
||||||
int p, pp;
|
int p, pp;
|
||||||
|
@ -1076,6 +1082,7 @@ void display_dlg_item(struct dialog_data *dlg, struct dialog_item_data *di, int
|
||||||
internal_error("display_dlg_item: unknown item: %d", di->item->type);
|
internal_error("display_dlg_item: unknown item: %d", di->item->type);
|
||||||
}
|
}
|
||||||
if (!dlg->s) set_clip_area(dev, &rr);
|
if (!dlg->s) set_clip_area(dev, &rr);
|
||||||
|
if (drv->end_draw) drv->end_draw(dev);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1231,9 +1238,11 @@ static void redraw_dialog(struct terminal *term, void *dlg_)
|
||||||
}
|
}
|
||||||
#ifdef G
|
#ifdef G
|
||||||
if (F) {
|
if (F) {
|
||||||
|
if (drv->start_draw) drv->start_draw(term->dev);
|
||||||
set_clip_area(term->dev, &dlg->r);
|
set_clip_area(term->dev, &dlg->r);
|
||||||
for (i = 0; i < dlg->s->m; i++) if (is_rect_valid(&dlg->s->r[i]))
|
for (i = 0; i < dlg->s->m; i++) if (is_rect_valid(&dlg->s->r[i]))
|
||||||
drv->fill_area(term->dev, dlg->s->r[i].x1, dlg->s->r[i].y1, dlg->s->r[i].x2, dlg->s->r[i].y2, bfu_bg_color);
|
drv->fill_area(term->dev, dlg->s->r[i].x1, dlg->s->r[i].y1, dlg->s->r[i].x2, dlg->s->r[i].y2, bfu_bg_color);
|
||||||
|
if (drv->end_draw) drv->end_draw(term->dev);
|
||||||
mem_free(dlg->s);
|
mem_free(dlg->s);
|
||||||
dlg->s = NULL;
|
dlg->s = NULL;
|
||||||
}
|
}
|
||||||
|
@ -1792,6 +1801,7 @@ void draw_dlg(struct dialog_data *dlg)
|
||||||
if (TXT_Y < dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE + 1 - G_BFU_FONT_SIZE) TXT_Y = dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE + 1 - G_BFU_FONT_SIZE;
|
if (TXT_Y < dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE + 1 - G_BFU_FONT_SIZE) TXT_Y = dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE + 1 - G_BFU_FONT_SIZE;
|
||||||
set_window_pos(dlg->win, dlg->x, dlg->y, dlg->x + dlg->xw, dlg->y + dlg->yw);
|
set_window_pos(dlg->win, dlg->x, dlg->y, dlg->x + dlg->xw, dlg->y + dlg->yw);
|
||||||
|
|
||||||
|
if (drv->start_draw) drv->start_draw(dev);
|
||||||
restrict_clip_area(dev, &r, TXT_X, TXT_Y, TXT_X + tl, TXT_Y + G_BFU_FONT_SIZE);
|
restrict_clip_area(dev, &r, TXT_X, TXT_Y, TXT_X + tl, TXT_Y + G_BFU_FONT_SIZE);
|
||||||
rt.x1 = TXT_X;
|
rt.x1 = TXT_X;
|
||||||
rt.x2 = TXT_X + tl;
|
rt.x2 = TXT_X + tl;
|
||||||
|
@ -1838,6 +1848,7 @@ void draw_dlg(struct dialog_data *dlg)
|
||||||
add_to_rect_set(&dlg->s, &dlg->rr);
|
add_to_rect_set(&dlg->s, &dlg->rr);
|
||||||
exclude_rect_from_set(&dlg->s, &rt);
|
exclude_rect_from_set(&dlg->s, &rt);
|
||||||
restrict_clip_area(dev, &dlg->r, dlg->rr.x1, dlg->rr.y1, dlg->rr.x2, dlg->rr.y2);
|
restrict_clip_area(dev, &dlg->r, dlg->rr.x1, dlg->rr.y1, dlg->rr.x2, dlg->rr.y2);
|
||||||
|
if (drv->end_draw) drv->end_draw(dev);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
226
certs.inc
226
certs.inc
File diff suppressed because one or more lines are too long
5779
certs/links.crt
5779
certs/links.crt
File diff suppressed because it is too large
Load diff
|
@ -940,11 +940,11 @@
|
||||||
#define PACKAGE "links"
|
#define PACKAGE "links"
|
||||||
|
|
||||||
/* Version number of package */
|
/* Version number of package */
|
||||||
#define VERSION "2.30"
|
#define VERSION "2.29"
|
||||||
|
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
#define VERSION "2.30"
|
#define VERSION "2.29"
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
/* #undef HAVE_OPENMP */
|
/* #undef HAVE_OPENMP */
|
||||||
|
|
35
configure
vendored
35
configure
vendored
|
@ -773,7 +773,7 @@ fi
|
||||||
|
|
||||||
PACKAGE=links
|
PACKAGE=links
|
||||||
|
|
||||||
VERSION=2.30
|
VERSION=2.29
|
||||||
|
|
||||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||||
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
|
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
|
||||||
|
@ -1001,7 +1001,7 @@ cat > conftest.$ac_ext << EOF
|
||||||
#line 1004 "configure"
|
#line 1004 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main(){return(0);}
|
main(){return(0);}
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo configure:1009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
ac_cv_prog_cc_works=yes
|
ac_cv_prog_cc_works=yes
|
||||||
|
@ -1260,7 +1260,6 @@ else
|
||||||
#line 1263 "configure"
|
#line 1263 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||||
#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
|
#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
|
||||||
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
|
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
|
||||||
|
@ -2055,7 +2054,7 @@ for ac_kw in inline __inline__ __inline; do
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
} $ac_kw int foo() {
|
} $ac_kw foo() {
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:2063: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
if { (eval echo configure:2063: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||||
|
@ -2321,9 +2320,8 @@ else
|
||||||
#line 2323 "configure"
|
#line 2323 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
int main()
|
main()
|
||||||
{
|
{
|
||||||
FILE *f=fopen("conftestval", "w");
|
FILE *f=fopen("conftestval", "w");
|
||||||
if (!f) exit(1);
|
if (!f) exit(1);
|
||||||
|
@ -2362,9 +2360,8 @@ else
|
||||||
#line 2363 "configure"
|
#line 2363 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
int main()
|
main()
|
||||||
{
|
{
|
||||||
FILE *f=fopen("conftestval", "w");
|
FILE *f=fopen("conftestval", "w");
|
||||||
if (!f) exit(1);
|
if (!f) exit(1);
|
||||||
|
@ -2403,9 +2400,8 @@ else
|
||||||
#line 2403 "configure"
|
#line 2403 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
int main()
|
main()
|
||||||
{
|
{
|
||||||
FILE *f=fopen("conftestval", "w");
|
FILE *f=fopen("conftestval", "w");
|
||||||
if (!f) exit(1);
|
if (!f) exit(1);
|
||||||
|
@ -2445,9 +2441,8 @@ else
|
||||||
#line 2444 "configure"
|
#line 2444 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
int main()
|
main()
|
||||||
{
|
{
|
||||||
FILE *f=fopen("conftestval", "w");
|
FILE *f=fopen("conftestval", "w");
|
||||||
if (!f) exit(1);
|
if (!f) exit(1);
|
||||||
|
@ -6440,7 +6435,7 @@ cat > conftest.$ac_ext <<EOF
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
int main()
|
main()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:6444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo configure:6444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
|
@ -7221,7 +7216,6 @@ echo "configure:7215: checking for OpenSSL" >&5
|
||||||
#line 7219 "configure"
|
#line 7219 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <openssl/ssl.h>
|
#include <openssl/ssl.h>
|
||||||
int main() {
|
int main() {
|
||||||
SSL_CTX_new((void *)0)
|
SSL_CTX_new((void *)0)
|
||||||
|
@ -7260,7 +7254,6 @@ echo "configure:7243: checking for OpenSSL" >&5
|
||||||
#line 7257 "configure"
|
#line 7257 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <openssl/ssl.h>
|
#include <openssl/ssl.h>
|
||||||
int main() {
|
int main() {
|
||||||
SSL_CTX_new((void *)0)
|
SSL_CTX_new((void *)0)
|
||||||
|
@ -8941,7 +8934,7 @@ if test "$ac_x_libraries" = NO; then
|
||||||
# Check for the libraries.
|
# Check for the libraries.
|
||||||
|
|
||||||
test -z "$x_direct_test_library" && x_direct_test_library=Xt
|
test -z "$x_direct_test_library" && x_direct_test_library=Xt
|
||||||
test -z "$x_direct_test_function" && x_direct_test_function='int XtMalloc'
|
test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
|
||||||
|
|
||||||
# See if we find them without any special options.
|
# See if we find them without any special options.
|
||||||
# Don't add to $LIBS permanently.
|
# Don't add to $LIBS permanently.
|
||||||
|
@ -9766,7 +9759,7 @@ cat > conftest.$ac_ext <<EOF
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
int main()
|
main()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:9760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo configure:9760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
|
@ -9809,7 +9802,7 @@ cat > conftest.$ac_ext <<EOF
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
int main()
|
main()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:9803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo configure:9803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
|
@ -9853,7 +9846,7 @@ cat > conftest.$ac_ext <<EOF
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
int main()
|
main()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:9847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo configure:9847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
|
@ -10102,7 +10095,7 @@ cat > conftest.$ac_ext <<EOF
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
int main()
|
main()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:10096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo configure:10096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
|
@ -10145,7 +10138,7 @@ cat > conftest.$ac_ext <<EOF
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
int main()
|
main()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:10139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo configure:10139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
AC_INIT(main.c)
|
AC_INIT(main.c)
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE(links, 2.30)
|
AM_INIT_AUTOMAKE(links, 2.29)
|
||||||
|
|
||||||
ACLOCAL="./missing aclocal"
|
ACLOCAL="./missing aclocal"
|
||||||
AUTOCONF="./missing autoconf"
|
AUTOCONF="./missing autoconf"
|
||||||
|
|
2
dip.c
2
dip.c
|
@ -2020,6 +2020,7 @@ void g_print_text(struct graphics_device *device, int x, int y, struct style *st
|
||||||
if (y + style->height <= device->clip.y1 || y >= device->clip.y2)
|
if (y + style->height <= device->clip.y1 || y >= device->clip.y2)
|
||||||
goto o;
|
goto o;
|
||||||
if (style->flags & FF_UNDERLINE || style->flags & FF_STRIKE) {
|
if (style->flags & FF_UNDERLINE || style->flags & FF_STRIKE) {
|
||||||
|
if (drv->start_draw) drv->start_draw(device);
|
||||||
/* Underline or strike */
|
/* Underline or strike */
|
||||||
if (!width) {
|
if (!width) {
|
||||||
width = &my_width;
|
width = &my_width;
|
||||||
|
@ -2050,6 +2051,7 @@ void g_print_text(struct graphics_device *device, int x, int y, struct style *st
|
||||||
set_clip_area(device, &saved_clip);
|
set_clip_area(device, &saved_clip);
|
||||||
}
|
}
|
||||||
style->flags = original_flags;
|
style->flags = original_flags;
|
||||||
|
if (drv->end_draw) drv->end_draw(device);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
while (*text) {
|
while (*text) {
|
||||||
|
|
|
@ -793,6 +793,8 @@ struct graphics_driver directfb_driver =
|
||||||
directfb_draw_vline,
|
directfb_draw_vline,
|
||||||
directfb_scroll,
|
directfb_scroll,
|
||||||
directfb_set_clip_area,
|
directfb_set_clip_area,
|
||||||
|
NULL, /* start_draw */
|
||||||
|
NULL, /* end_draw */
|
||||||
directfb_flush,
|
directfb_flush,
|
||||||
NULL, /* block */
|
NULL, /* block */
|
||||||
NULL, /* unblock */
|
NULL, /* unblock */
|
||||||
|
|
|
@ -2145,6 +2145,8 @@ struct graphics_driver fb_driver = {
|
||||||
fb_draw_vline,
|
fb_draw_vline,
|
||||||
fb_scroll,
|
fb_scroll,
|
||||||
(void (*)(struct graphics_device *dev))NULL, /* set_clip_area */
|
(void (*)(struct graphics_device *dev))NULL, /* set_clip_area */
|
||||||
|
NULL, /* start_draw */
|
||||||
|
NULL, /* end_draw */
|
||||||
(void (*)(struct graphics_device *dev))NULL, /* flush */
|
(void (*)(struct graphics_device *dev))NULL, /* flush */
|
||||||
fb_block,
|
fb_block,
|
||||||
fb_unblock,
|
fb_unblock,
|
||||||
|
|
2
grx.c
2
grx.c
|
@ -559,6 +559,8 @@ struct graphics_driver grx_driver = {
|
||||||
grx_draw_vline,
|
grx_draw_vline,
|
||||||
grx_scroll,
|
grx_scroll,
|
||||||
grx_set_clip_area,
|
grx_set_clip_area,
|
||||||
|
NULL, /* start_draw */
|
||||||
|
NULL, /* end_draw */
|
||||||
NULL,
|
NULL,
|
||||||
grx_block,
|
grx_block,
|
||||||
grx_unblock,
|
grx_unblock,
|
||||||
|
|
|
@ -988,6 +988,8 @@ struct graphics_driver haiku_driver = {
|
||||||
be_draw_vline,
|
be_draw_vline,
|
||||||
be_scroll,
|
be_scroll,
|
||||||
be_set_clip_area,
|
be_set_clip_area,
|
||||||
|
NULL, /* start_draw */
|
||||||
|
NULL, /* end_draw */
|
||||||
be_flush,
|
be_flush,
|
||||||
NULL, /* block */
|
NULL, /* block */
|
||||||
NULL, /* unblock */
|
NULL, /* unblock */
|
||||||
|
|
|
@ -62,7 +62,9 @@ void g_draw_background(struct graphics_device *dev, struct background *bg, int x
|
||||||
}
|
}
|
||||||
if (test_int_overflow(x, xw, &x2)) x2 = MAXINT;
|
if (test_int_overflow(x, xw, &x2)) x2 = MAXINT;
|
||||||
if (test_int_overflow(y, yw, &y2)) y2 = MAXINT;
|
if (test_int_overflow(y, yw, &y2)) y2 = MAXINT;
|
||||||
|
if (drv->start_draw) drv->start_draw(dev);
|
||||||
drv->fill_area(dev, x, y, x2, y2, color);
|
drv->fill_area(dev, x, y, x2, y2, color);
|
||||||
|
if (drv->end_draw) drv->end_draw(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void g_put_chars(void *, unsigned char *, int);
|
static void g_put_chars(void *, unsigned char *, int);
|
||||||
|
|
4
img.c
4
img.c
|
@ -1044,6 +1044,7 @@ int get_foreground(int rgb)
|
||||||
|
|
||||||
static void draw_frame_mark(struct graphics_device *dev, int x, int y, int xw, int yw, long bg, long fg, int broken)
|
static void draw_frame_mark(struct graphics_device *dev, int x, int y, int xw, int yw, long bg, long fg, int broken)
|
||||||
{
|
{
|
||||||
|
if (drv->start_draw) drv->start_draw(dev);
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
if (xw<1||yw<1) internal_error("zero dimension in draw_frame_mark");
|
if (xw<1||yw<1) internal_error("zero dimension in draw_frame_mark");
|
||||||
#endif /* #ifdef DEBUG */
|
#endif /* #ifdef DEBUG */
|
||||||
|
@ -1101,6 +1102,7 @@ static void draw_frame_mark(struct graphics_device *dev, int x, int y, int xw, i
|
||||||
draw_frame_mark(dev, x + 1, y + 1, xw - 2, yw - 2, bg, fg, 3);
|
draw_frame_mark(dev, x + 1, y + 1, xw - 2, yw - 2, bg, fg, 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (drv->end_draw) drv->end_draw(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static long image_backgronud(struct cached_image *cimg)
|
static long image_backgronud(struct cached_image *cimg)
|
||||||
|
@ -1126,6 +1128,7 @@ static void draw_picture(struct f_data_c *fdatac, struct g_object_image *goi, in
|
||||||
struct cached_image *cimg = goi->cimg;
|
struct cached_image *cimg = goi->cimg;
|
||||||
struct rect saved;
|
struct rect saved;
|
||||||
|
|
||||||
|
if (drv->start_draw) drv->start_draw(dev);
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
if (goi->cimg->state < 12 || goi->cimg->state >= 16) {
|
if (goi->cimg->state < 12 || goi->cimg->state >= 16) {
|
||||||
fprintf(stderr, "cimg->state=%d\n", cimg->state);
|
fprintf(stderr, "cimg->state=%d\n", cimg->state);
|
||||||
|
@ -1151,6 +1154,7 @@ static void draw_picture(struct f_data_c *fdatac, struct g_object_image *goi, in
|
||||||
drv->fill_area(dev, x, y + cimg->bmp.y, x + goi->goti.go.xw, y + goi->goti.go.yw, bg);
|
drv->fill_area(dev, x, y + cimg->bmp.y, x + goi->goti.go.xw, y + goi->goti.go.yw, bg);
|
||||||
}
|
}
|
||||||
set_clip_area(dev, &saved);
|
set_clip_area(dev, &saved);
|
||||||
|
if (drv->end_draw) drv->end_draw(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ensures in buffer there is not newer picture than in bitmap. Allowed to be
|
/* Ensures in buffer there is not newer picture than in bitmap. Allowed to be
|
||||||
|
|
|
@ -22,8 +22,8 @@ T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW browser",
|
||||||
T_VERSION, "Verze",
|
T_VERSION, "Verze",
|
||||||
T_VERSION_INFORMATION, "Informace o verzi",
|
T_VERSION_INFORMATION, "Informace o verzi",
|
||||||
T_LINKS_VERSION, "Verze Linksu",
|
T_LINKS_VERSION, "Verze Linksu",
|
||||||
T_OPERATING_SYSTEM_TYPE, "Typ systému",
|
T_OPERATING_SYSTEM_TYPE, "Typ operaèního systému",
|
||||||
T_OPERATING_SYSTEM_VERSION, "Verze systému",
|
T_OPERATING_SYSTEM_VERSION, "Verze operaèního systému",
|
||||||
T_COMPILER, "Kompilátor",
|
T_COMPILER, "Kompilátor",
|
||||||
T_WORD_SIZE, "Velikost slova",
|
T_WORD_SIZE, "Velikost slova",
|
||||||
T_MEMORY, "Pamì»",
|
T_MEMORY, "Pamì»",
|
||||||
|
|
|
@ -22,8 +22,8 @@ T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nText and graphics WWW browser",
|
||||||
T_VERSION, "Version",
|
T_VERSION, "Version",
|
||||||
T_VERSION_INFORMATION, "Version information",
|
T_VERSION_INFORMATION, "Version information",
|
||||||
T_LINKS_VERSION, "Links version",
|
T_LINKS_VERSION, "Links version",
|
||||||
T_OPERATING_SYSTEM_TYPE, "System type",
|
T_OPERATING_SYSTEM_TYPE, "Operating system type",
|
||||||
T_OPERATING_SYSTEM_VERSION, "System version",
|
T_OPERATING_SYSTEM_VERSION, "Operating system version",
|
||||||
T_COMPILER, "Compiler",
|
T_COMPILER, "Compiler",
|
||||||
T_WORD_SIZE, "Word size",
|
T_WORD_SIZE, "Word size",
|
||||||
T_MEMORY, "Memory",
|
T_MEMORY, "Memory",
|
||||||
|
@ -36,10 +36,10 @@ T_IPV6, "IPv6",
|
||||||
T_NOT_ENABLED_IN_SYSTEM, "Not enabled in system",
|
T_NOT_ENABLED_IN_SYSTEM, "Not enabled in system",
|
||||||
T_LOCAL_NETWORK_ONLY, "Local network only",
|
T_LOCAL_NETWORK_ONLY, "Local network only",
|
||||||
T_UTF8_TERMINAL, "UTF-8 terminal",
|
T_UTF8_TERMINAL, "UTF-8 terminal",
|
||||||
T_COMPRESSION_METHODS, "Compression",
|
T_COMPRESSION_METHODS, "Compression methods",
|
||||||
T_ENCRYPTION, "Encryption",
|
T_ENCRYPTION, "Encryption",
|
||||||
T_NO_CERTIFICATE_VERIFICATION, "no certificate verification",
|
T_NO_CERTIFICATE_VERIFICATION, "no certificate verification",
|
||||||
T_GPM_MOUSE_DRIVER, "Mouse driver",
|
T_GPM_MOUSE_DRIVER, "GPM mouse driver",
|
||||||
T_XTERM_FOR_OS2, "Xterm for OS/2",
|
T_XTERM_FOR_OS2, "Xterm for OS/2",
|
||||||
T_GRAPHICS_MODE, "Graphics mode",
|
T_GRAPHICS_MODE, "Graphics mode",
|
||||||
T_IMAGE_LIBRARIES, "Image libraries",
|
T_IMAGE_LIBRARIES, "Image libraries",
|
||||||
|
@ -51,7 +51,7 @@ T_DISABLED, "Disabled",
|
||||||
T_THREAD, "thread",
|
T_THREAD, "thread",
|
||||||
T_THREADS, "threads",
|
T_THREADS, "threads",
|
||||||
T_THREADS5, "threads",
|
T_THREADS5, "threads",
|
||||||
T_CONFIGURATION_DIRECTORY, "Home directory",
|
T_CONFIGURATION_DIRECTORY, "Configuration directory",
|
||||||
T_NONE, "None",
|
T_NONE, "None",
|
||||||
T_KEYS, "Keys",
|
T_KEYS, "Keys",
|
||||||
T_KEYS_DESC, "ESC display menu\n^C, q, Q quit\np, l scroll up, down\n[, ] scroll left, right\nup, down select link\nH, L select top/bottom link\n-> follow link\n<-, z go back\n', x go forward\nTAB switch frames\ng go to url\nG go to url based on current url\n^G go to url based on current link\n* toggle image displaying\n^W complete URL or search string\n^B,^X,^V,^K copy, cut, paste, cut line to/from clipboard\nAlt-1 .. Alt-9 switch virtual screens (svgalib and fb)",
|
T_KEYS_DESC, "ESC display menu\n^C, q, Q quit\np, l scroll up, down\n[, ] scroll left, right\nup, down select link\nH, L select top/bottom link\n-> follow link\n<-, z go back\n', x go forward\nTAB switch frames\ng go to url\nG go to url based on current url\n^G go to url based on current link\n* toggle image displaying\n^W complete URL or search string\n^B,^X,^V,^K copy, cut, paste, cut line to/from clipboard\nAlt-1 .. Alt-9 switch virtual screens (svgalib and fb)",
|
||||||
|
|
14
language.inc
14
language.inc
|
@ -4375,8 +4375,8 @@ static_const struct translation translation_czech [] = {
|
||||||
{ "Verze" },
|
{ "Verze" },
|
||||||
{ "Informace o verzi" },
|
{ "Informace o verzi" },
|
||||||
{ "Verze Linksu" },
|
{ "Verze Linksu" },
|
||||||
{ "Typ syst\351mu" },
|
{ "Typ opera\350n\355ho syst\351mu" },
|
||||||
{ "Verze syst\351mu" },
|
{ "Verze opera\350n\355ho syst\351mu" },
|
||||||
{ "Kompil\341tor" },
|
{ "Kompil\341tor" },
|
||||||
{ "Velikost slova" },
|
{ "Velikost slova" },
|
||||||
{ "Pam\354\273" },
|
{ "Pam\354\273" },
|
||||||
|
@ -6550,8 +6550,8 @@ static_const struct translation translation_english [] = {
|
||||||
{ "Version" },
|
{ "Version" },
|
||||||
{ "Version information" },
|
{ "Version information" },
|
||||||
{ "Links version" },
|
{ "Links version" },
|
||||||
{ "System type" },
|
{ "Operating system type" },
|
||||||
{ "System version" },
|
{ "Operating system version" },
|
||||||
{ "Compiler" },
|
{ "Compiler" },
|
||||||
{ "Word size" },
|
{ "Word size" },
|
||||||
{ "Memory" },
|
{ "Memory" },
|
||||||
|
@ -6564,10 +6564,10 @@ static_const struct translation translation_english [] = {
|
||||||
{ "Not enabled in system" },
|
{ "Not enabled in system" },
|
||||||
{ "Local network only" },
|
{ "Local network only" },
|
||||||
{ "UTF-8 terminal" },
|
{ "UTF-8 terminal" },
|
||||||
{ "Compression" },
|
{ "Compression methods" },
|
||||||
{ "Encryption" },
|
{ "Encryption" },
|
||||||
{ "no certificate verification" },
|
{ "no certificate verification" },
|
||||||
{ "Mouse driver" },
|
{ "GPM mouse driver" },
|
||||||
{ "Xterm for OS/2" },
|
{ "Xterm for OS/2" },
|
||||||
{ "Graphics mode" },
|
{ "Graphics mode" },
|
||||||
{ "Image libraries" },
|
{ "Image libraries" },
|
||||||
|
@ -6579,7 +6579,7 @@ static_const struct translation translation_english [] = {
|
||||||
{ "thread" },
|
{ "thread" },
|
||||||
{ "threads" },
|
{ "threads" },
|
||||||
{ "threads" },
|
{ "threads" },
|
||||||
{ "Home directory" },
|
{ "Configuration directory" },
|
||||||
{ "None" },
|
{ "None" },
|
||||||
{ "Keys" },
|
{ "Keys" },
|
||||||
{ "ESC display menu\n^C, q, Q quit\np, l scroll up, down\n[, ] scroll left, right\nup, down select link\nH, L select top/bottom link\n-> follow link\n<-, z go back\n', x go forward\nTAB switch frames\ng go to url\nG go to url based on current url\n^G go to url based on current link\n* toggle image displaying\n^W complete URL or search string\n^B,^X,^V,^K copy, cut, paste, cut line to/from clipboard\nAlt-1 .. Alt-9 switch virtual screens (svgalib and fb)" },
|
{ "ESC display menu\n^C, q, Q quit\np, l scroll up, down\n[, ] scroll left, right\nup, down select link\nH, L select top/bottom link\n-> follow link\n<-, z go back\n', x go forward\nTAB switch frames\ng go to url\nG go to url based on current url\n^G go to url based on current link\n* toggle image displaying\n^W complete URL or search string\n^B,^X,^V,^K copy, cut, paste, cut line to/from clipboard\nAlt-1 .. Alt-9 switch virtual screens (svgalib and fb)" },
|
||||||
|
|
4
links.h
4
links.h
|
@ -1904,6 +1904,7 @@ struct graphics_device {
|
||||||
/*int left, right, top, bottom;*/
|
/*int left, right, top, bottom;*/
|
||||||
struct rect clip;
|
struct rect clip;
|
||||||
/* right, bottom are coords of the first point that are outside the clipping area */
|
/* right, bottom are coords of the first point that are outside the clipping area */
|
||||||
|
int drawing;
|
||||||
|
|
||||||
void *driver_data;
|
void *driver_data;
|
||||||
|
|
||||||
|
@ -1970,6 +1971,9 @@ struct graphics_driver {
|
||||||
/* when set is not NULL rectangles in the set (uncovered area) should be redrawn */
|
/* when set is not NULL rectangles in the set (uncovered area) should be redrawn */
|
||||||
void (*set_clip_area)(struct graphics_device *dev);
|
void (*set_clip_area)(struct graphics_device *dev);
|
||||||
|
|
||||||
|
void (*start_draw)(struct graphics_device *dev);
|
||||||
|
void (*end_draw)(struct graphics_device *dev);
|
||||||
|
|
||||||
void (*flush)(struct graphics_device *dev);
|
void (*flush)(struct graphics_device *dev);
|
||||||
|
|
||||||
int (*block)(struct graphics_device *dev); /* restore old videomode and disable drawing on terminal */
|
int (*block)(struct graphics_device *dev); /* restore old videomode and disable drawing on terminal */
|
||||||
|
|
32
links.nsi
32
links.nsi
|
@ -75,19 +75,19 @@ File links.crt
|
||||||
File links.exe
|
File links.exe
|
||||||
File links-g.exe
|
File links-g.exe
|
||||||
File dll\cygwin1.dll
|
File dll\cygwin1.dll
|
||||||
File c:\cygwin\bin\cygEGL-1.dll
|
|
||||||
File c:\cygwin\bin\cygGL-1.dll
|
|
||||||
File c:\cygwin\bin\cygX11-6.dll
|
File c:\cygwin\bin\cygX11-6.dll
|
||||||
File c:\cygwin\bin\cygX11-xcb-1.dll
|
|
||||||
File c:\cygwin\bin\cygXau-6.dll
|
File c:\cygwin\bin\cygXau-6.dll
|
||||||
File c:\cygwin\bin\cygXdmcp-6.dll
|
File c:\cygwin\bin\cygXdmcp-6.dll
|
||||||
File c:\cygwin\bin\cygXext-6.dll
|
File c:\cygwin\bin\cygXext-6.dll
|
||||||
File c:\cygwin\bin\cygXrender-1.dll
|
File c:\cygwin\bin\cygXrender-1.dll
|
||||||
|
File c:\cygwin\bin\cygbrotlidec-1.dll
|
||||||
|
File c:\cygwin\bin\cygbrotlicommon-1.dll
|
||||||
File c:\cygwin\bin\cygbz2-1.dll
|
File c:\cygwin\bin\cygbz2-1.dll
|
||||||
File c:\cygwin\bin\cygcairo-2.dll
|
File c:\cygwin\bin\cygcairo-2.dll
|
||||||
File c:\cygwin\bin\cygcroco-0.6-3.dll
|
File c:\cygwin\bin\cygcroco-0.6-3.dll
|
||||||
File c:\cygwin\bin\cygcrypto-1.0.0.dll
|
File c:\cygwin\bin\cygcrypto-1.1.dll
|
||||||
File c:\cygwin\bin\cygdatrie-1.dll
|
File c:\cygwin\bin\cygdatrie-1.dll
|
||||||
|
File c:\cygwin\bin\cygdeflate-0.dll
|
||||||
File c:\cygwin\bin\cygevent-2-0-5.dll
|
File c:\cygwin\bin\cygevent-2-0-5.dll
|
||||||
File c:\cygwin\bin\cygexpat-1.dll
|
File c:\cygwin\bin\cygexpat-1.dll
|
||||||
File c:\cygwin\bin\cygffi-6.dll
|
File c:\cygwin\bin\cygffi-6.dll
|
||||||
|
@ -96,7 +96,6 @@ File c:\cygwin\bin\cygfreetype-6.dll
|
||||||
File c:\cygwin\bin\cyggcc_s-1.dll
|
File c:\cygwin\bin\cyggcc_s-1.dll
|
||||||
File c:\cygwin\bin\cyggdk_pixbuf-2.0-0.dll
|
File c:\cygwin\bin\cyggdk_pixbuf-2.0-0.dll
|
||||||
File c:\cygwin\bin\cyggio-2.0-0.dll
|
File c:\cygwin\bin\cyggio-2.0-0.dll
|
||||||
File c:\cygwin\bin\cygglapi-0.dll
|
|
||||||
File c:\cygwin\bin\cygglib-2.0-0.dll
|
File c:\cygwin\bin\cygglib-2.0-0.dll
|
||||||
File c:\cygwin\bin\cyggmodule-2.0-0.dll
|
File c:\cygwin\bin\cyggmodule-2.0-0.dll
|
||||||
File c:\cygwin\bin\cyggobject-2.0-0.dll
|
File c:\cygwin\bin\cyggobject-2.0-0.dll
|
||||||
|
@ -115,16 +114,18 @@ File c:\cygwin\bin\cygpcre-1.dll
|
||||||
File c:\cygwin\bin\cygpixman-1-0.dll
|
File c:\cygwin\bin\cygpixman-1-0.dll
|
||||||
File c:\cygwin\bin\cygpng16-16.dll
|
File c:\cygwin\bin\cygpng16-16.dll
|
||||||
File c:\cygwin\bin\cygrsvg-2-2.dll
|
File c:\cygwin\bin\cygrsvg-2-2.dll
|
||||||
File c:\cygwin\bin\cygssl-1.0.0.dll
|
File c:\cygwin\bin\cygssl-1.1.dll
|
||||||
File c:\cygwin\bin\cygstdc++-6.dll
|
File c:\cygwin\bin\cygstdc++-6.dll
|
||||||
File c:\cygwin\bin\cygthai-0.dll
|
File c:\cygwin\bin\cygthai-0.dll
|
||||||
File c:\cygwin\bin\cygtiff-6.dll
|
File c:\cygwin\bin\cygtiff-6.dll
|
||||||
|
File c:\cygwin\bin\cyguuid-1.dll
|
||||||
|
File c:\cygwin\bin\cygwebp-7.dll
|
||||||
File c:\cygwin\bin\cygxcb-1.dll
|
File c:\cygwin\bin\cygxcb-1.dll
|
||||||
File c:\cygwin\bin\cygxcb-glx-0.dll
|
|
||||||
File c:\cygwin\bin\cygxcb-render-0.dll
|
File c:\cygwin\bin\cygxcb-render-0.dll
|
||||||
File c:\cygwin\bin\cygxcb-shm-0.dll
|
File c:\cygwin\bin\cygxcb-shm-0.dll
|
||||||
File c:\cygwin\bin\cygxml2-2.dll
|
File c:\cygwin\bin\cygxml2-2.dll
|
||||||
File c:\cygwin\bin\cygz.dll
|
File c:\cygwin\bin\cygz.dll
|
||||||
|
File c:\cygwin\bin\cygzstd-1.dll
|
||||||
|
|
||||||
;Store installation folder
|
;Store installation folder
|
||||||
WriteRegStr HKCU "Software\Links" "" $INSTDIR
|
WriteRegStr HKCU "Software\Links" "" $INSTDIR
|
||||||
|
@ -168,20 +169,19 @@ Delete "$INSTDIR\README"
|
||||||
Delete "$INSTDIR\links.crt"
|
Delete "$INSTDIR\links.crt"
|
||||||
Delete "$INSTDIR\links.exe"
|
Delete "$INSTDIR\links.exe"
|
||||||
Delete "$INSTDIR\links-g.exe"
|
Delete "$INSTDIR\links-g.exe"
|
||||||
Delete "$INSTDIR\cygwin1.dll"
|
|
||||||
Delete "$INSTDIR\cygEGL-1.dll"
|
|
||||||
Delete "$INSTDIR\cygGL-1.dll"
|
|
||||||
Delete "$INSTDIR\cygX11-6.dll"
|
Delete "$INSTDIR\cygX11-6.dll"
|
||||||
Delete "$INSTDIR\cygX11-xcb-1.dll"
|
|
||||||
Delete "$INSTDIR\cygXau-6.dll"
|
Delete "$INSTDIR\cygXau-6.dll"
|
||||||
Delete "$INSTDIR\cygXdmcp-6.dll"
|
Delete "$INSTDIR\cygXdmcp-6.dll"
|
||||||
Delete "$INSTDIR\cygXext-6.dll"
|
Delete "$INSTDIR\cygXext-6.dll"
|
||||||
Delete "$INSTDIR\cygXrender-1.dll"
|
Delete "$INSTDIR\cygXrender-1.dll"
|
||||||
|
Delete "$INSTDIR\cygbrotlicommon-1.dll"
|
||||||
|
Delete "$INSTDIR\cygbrotlidec-1.dll"
|
||||||
Delete "$INSTDIR\cygbz2-1.dll"
|
Delete "$INSTDIR\cygbz2-1.dll"
|
||||||
Delete "$INSTDIR\cygcairo-2.dll"
|
Delete "$INSTDIR\cygcairo-2.dll"
|
||||||
Delete "$INSTDIR\cygcroco-0.6-3.dll"
|
Delete "$INSTDIR\cygcroco-0.6-3.dll"
|
||||||
Delete "$INSTDIR\cygcrypto-1.0.0.dll"
|
Delete "$INSTDIR\cygcrypto-1.1.dll"
|
||||||
Delete "$INSTDIR\cygdatrie-1.dll"
|
Delete "$INSTDIR\cygdatrie-1.dll"
|
||||||
|
Delete "$INSTDIR\cygdeflate-0.dll"
|
||||||
Delete "$INSTDIR\cygevent-2-0-5.dll"
|
Delete "$INSTDIR\cygevent-2-0-5.dll"
|
||||||
Delete "$INSTDIR\cygexpat-1.dll"
|
Delete "$INSTDIR\cygexpat-1.dll"
|
||||||
Delete "$INSTDIR\cygffi-6.dll"
|
Delete "$INSTDIR\cygffi-6.dll"
|
||||||
|
@ -190,7 +190,6 @@ Delete "$INSTDIR\cygfreetype-6.dll"
|
||||||
Delete "$INSTDIR\cyggcc_s-1.dll"
|
Delete "$INSTDIR\cyggcc_s-1.dll"
|
||||||
Delete "$INSTDIR\cyggdk_pixbuf-2.0-0.dll"
|
Delete "$INSTDIR\cyggdk_pixbuf-2.0-0.dll"
|
||||||
Delete "$INSTDIR\cyggio-2.0-0.dll"
|
Delete "$INSTDIR\cyggio-2.0-0.dll"
|
||||||
Delete "$INSTDIR\cygglapi-0.dll"
|
|
||||||
Delete "$INSTDIR\cygglib-2.0-0.dll"
|
Delete "$INSTDIR\cygglib-2.0-0.dll"
|
||||||
Delete "$INSTDIR\cyggmodule-2.0-0.dll"
|
Delete "$INSTDIR\cyggmodule-2.0-0.dll"
|
||||||
Delete "$INSTDIR\cyggobject-2.0-0.dll"
|
Delete "$INSTDIR\cyggobject-2.0-0.dll"
|
||||||
|
@ -209,16 +208,19 @@ Delete "$INSTDIR\cygpcre-1.dll"
|
||||||
Delete "$INSTDIR\cygpixman-1-0.dll"
|
Delete "$INSTDIR\cygpixman-1-0.dll"
|
||||||
Delete "$INSTDIR\cygpng16-16.dll"
|
Delete "$INSTDIR\cygpng16-16.dll"
|
||||||
Delete "$INSTDIR\cygrsvg-2-2.dll"
|
Delete "$INSTDIR\cygrsvg-2-2.dll"
|
||||||
Delete "$INSTDIR\cygssl-1.0.0.dll"
|
Delete "$INSTDIR\cygssl-1.1.dll"
|
||||||
Delete "$INSTDIR\cygstdc++-6.dll"
|
Delete "$INSTDIR\cygstdc++-6.dll"
|
||||||
Delete "$INSTDIR\cygthai-0.dll"
|
Delete "$INSTDIR\cygthai-0.dll"
|
||||||
Delete "$INSTDIR\cygtiff-6.dll"
|
Delete "$INSTDIR\cygtiff-6.dll"
|
||||||
|
Delete "$INSTDIR\cyguuid-1.dll"
|
||||||
|
Delete "$INSTDIR\cygwebp-7.dll"
|
||||||
|
Delete "$INSTDIR\cygwin1.dll"
|
||||||
Delete "$INSTDIR\cygxcb-1.dll"
|
Delete "$INSTDIR\cygxcb-1.dll"
|
||||||
Delete "$INSTDIR\cygxcb-glx-0.dll"
|
|
||||||
Delete "$INSTDIR\cygxcb-render-0.dll"
|
Delete "$INSTDIR\cygxcb-render-0.dll"
|
||||||
Delete "$INSTDIR\cygxcb-shm-0.dll"
|
Delete "$INSTDIR\cygxcb-shm-0.dll"
|
||||||
Delete "$INSTDIR\cygxml2-2.dll"
|
Delete "$INSTDIR\cygxml2-2.dll"
|
||||||
Delete "$INSTDIR\cygz.dll"
|
Delete "$INSTDIR\cygz.dll"
|
||||||
|
Delete "$INSTDIR\cygzstd-1.dll"
|
||||||
Delete "$INSTDIR\.links\*"
|
Delete "$INSTDIR\.links\*"
|
||||||
RMDir "$INSTDIR\.links"
|
RMDir "$INSTDIR\.links"
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<WARPIN>
|
<WARPIN>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<PCK INDEX="1"
|
<PCK INDEX="1"
|
||||||
PACKAGEID="Mikulas Patocka\Links\Base package\2\30"
|
PACKAGEID="Mikulas Patocka\Links\Base package\2\29"
|
||||||
TARGET="?:\Links"
|
TARGET="?:\Links"
|
||||||
SELECT
|
SELECT
|
||||||
TITLE="Links"
|
TITLE="Links"
|
||||||
|
|
16
links64.nsi
16
links64.nsi
|
@ -85,15 +85,14 @@ File c:\cygwin64\bin\cygbrotlicommon-1.dll
|
||||||
File c:\cygwin64\bin\cygbz2-1.dll
|
File c:\cygwin64\bin\cygbz2-1.dll
|
||||||
File c:\cygwin64\bin\cygcairo-2.dll
|
File c:\cygwin64\bin\cygcairo-2.dll
|
||||||
File c:\cygwin64\bin\cygcroco-0.6-3.dll
|
File c:\cygwin64\bin\cygcroco-0.6-3.dll
|
||||||
File c:\cygwin64\bin\cygcrypto-3.dll
|
File c:\cygwin64\bin\cygcrypto-1.1.dll
|
||||||
File c:\cygwin64\bin\cygdatrie-1.dll
|
File c:\cygwin64\bin\cygdatrie-1.dll
|
||||||
File c:\cygwin64\bin\cygdeflate-0.dll
|
File c:\cygwin64\bin\cygdeflate-0.dll
|
||||||
File c:\cygwin64\bin\cygexpat-1.dll
|
File c:\cygwin64\bin\cygexpat-1.dll
|
||||||
File c:\cygwin64\bin\cygevent-2-1-7.dll
|
File c:\cygwin64\bin\cygevent-2-1-7.dll
|
||||||
File c:\cygwin64\bin\cygffi-8.dll
|
File c:\cygwin64\bin\cygffi-6.dll
|
||||||
File c:\cygwin64\bin\cygfontconfig-1.dll
|
File c:\cygwin64\bin\cygfontconfig-1.dll
|
||||||
File c:\cygwin64\bin\cygfreetype-6.dll
|
File c:\cygwin64\bin\cygfreetype-6.dll
|
||||||
File c:\cygwin64\bin\cygfribidi-0.dll
|
|
||||||
File c:\cygwin64\bin\cyggcc_s-seh-1.dll
|
File c:\cygwin64\bin\cyggcc_s-seh-1.dll
|
||||||
File c:\cygwin64\bin\cyggdk_pixbuf-2.0-0.dll
|
File c:\cygwin64\bin\cyggdk_pixbuf-2.0-0.dll
|
||||||
File c:\cygwin64\bin\cyggio-2.0-0.dll
|
File c:\cygwin64\bin\cyggio-2.0-0.dll
|
||||||
|
@ -116,7 +115,7 @@ File c:\cygwin64\bin\cygpixman-1-0.dll
|
||||||
File c:\cygwin64\bin\cygpng16-16.dll
|
File c:\cygwin64\bin\cygpng16-16.dll
|
||||||
File c:\cygwin64\bin\cygrsvg-2-2.dll
|
File c:\cygwin64\bin\cygrsvg-2-2.dll
|
||||||
File c:\cygwin64\bin\cygsharpyuv-0.dll
|
File c:\cygwin64\bin\cygsharpyuv-0.dll
|
||||||
File c:\cygwin64\bin\cygssl-3.dll
|
File c:\cygwin64\bin\cygssl-1.1.dll
|
||||||
File c:\cygwin64\bin\cygstdc++-6.dll
|
File c:\cygwin64\bin\cygstdc++-6.dll
|
||||||
File c:\cygwin64\bin\cygthai-0.dll
|
File c:\cygwin64\bin\cygthai-0.dll
|
||||||
File c:\cygwin64\bin\cygtiff-7.dll
|
File c:\cygwin64\bin\cygtiff-7.dll
|
||||||
|
@ -171,7 +170,6 @@ Delete "$INSTDIR\README"
|
||||||
Delete "$INSTDIR\links.crt"
|
Delete "$INSTDIR\links.crt"
|
||||||
Delete "$INSTDIR\links.exe"
|
Delete "$INSTDIR\links.exe"
|
||||||
Delete "$INSTDIR\links-g.exe"
|
Delete "$INSTDIR\links-g.exe"
|
||||||
Delete "$INSTDIR\cygwin1.dll"
|
|
||||||
Delete "$INSTDIR\cygX11-6.dll"
|
Delete "$INSTDIR\cygX11-6.dll"
|
||||||
Delete "$INSTDIR\cygXau-6.dll"
|
Delete "$INSTDIR\cygXau-6.dll"
|
||||||
Delete "$INSTDIR\cygXdmcp-6.dll"
|
Delete "$INSTDIR\cygXdmcp-6.dll"
|
||||||
|
@ -182,15 +180,14 @@ Delete "$INSTDIR\cygbrotlidec-1.dll"
|
||||||
Delete "$INSTDIR\cygbz2-1.dll"
|
Delete "$INSTDIR\cygbz2-1.dll"
|
||||||
Delete "$INSTDIR\cygcairo-2.dll"
|
Delete "$INSTDIR\cygcairo-2.dll"
|
||||||
Delete "$INSTDIR\cygcroco-0.6-3.dll"
|
Delete "$INSTDIR\cygcroco-0.6-3.dll"
|
||||||
Delete "$INSTDIR\cygcrypto-3.dll"
|
Delete "$INSTDIR\cygcrypto-1.1.dll"
|
||||||
Delete "$INSTDIR\cygdatrie-1.dll"
|
Delete "$INSTDIR\cygdatrie-1.dll"
|
||||||
Delete "$INSTDIR\cygdeflate-0.dll"
|
Delete "$INSTDIR\cygdeflate-0.dll"
|
||||||
Delete "$INSTDIR\cygevent-2-1-7.dll"
|
Delete "$INSTDIR\cygevent-2-1-7.dll"
|
||||||
Delete "$INSTDIR\cygexpat-1.dll"
|
Delete "$INSTDIR\cygexpat-1.dll"
|
||||||
Delete "$INSTDIR\cygffi-8.dll"
|
Delete "$INSTDIR\cygffi-6.dll"
|
||||||
Delete "$INSTDIR\cygfontconfig-1.dll"
|
Delete "$INSTDIR\cygfontconfig-1.dll"
|
||||||
Delete "$INSTDIR\cygfreetype-6.dll"
|
Delete "$INSTDIR\cygfreetype-6.dll"
|
||||||
Delete "$INSTDIR\cygfribidi-0.dll"
|
|
||||||
Delete "$INSTDIR\cyggcc_s-seh-1.dll"
|
Delete "$INSTDIR\cyggcc_s-seh-1.dll"
|
||||||
Delete "$INSTDIR\cyggdk_pixbuf-2.0-0.dll"
|
Delete "$INSTDIR\cyggdk_pixbuf-2.0-0.dll"
|
||||||
Delete "$INSTDIR\cyggio-2.0-0.dll"
|
Delete "$INSTDIR\cyggio-2.0-0.dll"
|
||||||
|
@ -213,12 +210,13 @@ Delete "$INSTDIR\cygpixman-1-0.dll"
|
||||||
Delete "$INSTDIR\cygpng16-16.dll"
|
Delete "$INSTDIR\cygpng16-16.dll"
|
||||||
Delete "$INSTDIR\cygrsvg-2-2.dll"
|
Delete "$INSTDIR\cygrsvg-2-2.dll"
|
||||||
Delete "$INSTDIR\cygsharpyuv-0.dll"
|
Delete "$INSTDIR\cygsharpyuv-0.dll"
|
||||||
Delete "$INSTDIR\cygssl-3.dll"
|
Delete "$INSTDIR\cygssl-1.1.dll"
|
||||||
Delete "$INSTDIR\cygstdc++-6.dll"
|
Delete "$INSTDIR\cygstdc++-6.dll"
|
||||||
Delete "$INSTDIR\cygthai-0.dll"
|
Delete "$INSTDIR\cygthai-0.dll"
|
||||||
Delete "$INSTDIR\cygtiff-7.dll"
|
Delete "$INSTDIR\cygtiff-7.dll"
|
||||||
Delete "$INSTDIR\cyguuid-1.dll"
|
Delete "$INSTDIR\cyguuid-1.dll"
|
||||||
Delete "$INSTDIR\cygwebp-7.dll"
|
Delete "$INSTDIR\cygwebp-7.dll"
|
||||||
|
Delete "$INSTDIR\cygwin1.dll"
|
||||||
Delete "$INSTDIR\cygxcb-1.dll"
|
Delete "$INSTDIR\cygxcb-1.dll"
|
||||||
Delete "$INSTDIR\cygxcb-render-0.dll"
|
Delete "$INSTDIR\cygxcb-render-0.dll"
|
||||||
Delete "$INSTDIR\cygxcb-shm-0.dll"
|
Delete "$INSTDIR\cygxcb-shm-0.dll"
|
||||||
|
|
|
@ -277,6 +277,8 @@ static int draw_bfu_element(struct terminal * term, int x, int y, unsigned char
|
||||||
struct graphics_device *dev=term->dev;
|
struct graphics_device *dev=term->dev;
|
||||||
struct rect r;
|
struct rect r;
|
||||||
|
|
||||||
|
if (drv->start_draw) drv->start_draw(dev);
|
||||||
|
|
||||||
restrict_clip_area(dev,&r,x,y,x+5*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT);
|
restrict_clip_area(dev,&r,x,y,x+5*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT);
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
|
@ -397,6 +399,7 @@ static int draw_bfu_element(struct terminal * term, int x, int y, unsigned char
|
||||||
}
|
}
|
||||||
|
|
||||||
set_clip_area(dev, &r);
|
set_clip_area(dev, &r);
|
||||||
|
if (drv->end_draw) drv->end_draw(dev);
|
||||||
return BFU_ELEMENT_WIDTH;
|
return BFU_ELEMENT_WIDTH;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1078,11 +1081,13 @@ static void redraw_list_element(struct terminal *term, struct dialog_data *dlg,
|
||||||
struct rect old_area;
|
struct rect old_area;
|
||||||
struct style *stl = l == ld->current_pos ? bfu_style_wb : bfu_style_bw;
|
struct style *stl = l == ld->current_pos ? bfu_style_wb : bfu_style_bw;
|
||||||
|
|
||||||
|
if (drv->start_draw) drv->start_draw(term->dev);
|
||||||
restrict_clip_area(term->dev, &old_area, dlg->x + x + DIALOG_LB, y, dlg->x + DIALOG_LB + w, y + G_BFU_FONT_SIZE);
|
restrict_clip_area(term->dev, &old_area, dlg->x + x + DIALOG_LB, y, dlg->x + DIALOG_LB + w, y + G_BFU_FONT_SIZE);
|
||||||
g_print_text(term->dev, dlg->x + x + DIALOG_LB, y, stl, txt, NULL);
|
g_print_text(term->dev, dlg->x + x + DIALOG_LB, y, stl, txt, NULL);
|
||||||
x += g_text_width(stl, txt);
|
x += g_text_width(stl, txt);
|
||||||
drv->fill_area(term->dev, dlg->x + DIALOG_LB + x, y, dlg->x + DIALOG_LB + w, y + G_BFU_FONT_SIZE, bgcolor);
|
drv->fill_area(term->dev, dlg->x + DIALOG_LB + x, y, dlg->x + DIALOG_LB + w, y + G_BFU_FONT_SIZE, bgcolor);
|
||||||
set_clip_area(term->dev, &old_area);
|
set_clip_area(term->dev, &old_area);
|
||||||
|
if (drv->end_draw) drv->end_draw(term->dev);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
mem_free(txt);
|
mem_free(txt);
|
||||||
|
@ -1099,6 +1104,7 @@ static void redraw_list(struct terminal *term, void *bla)
|
||||||
int w = dlg->xw - 2 * DIALOG_LB - (F ? sirka_scrollovadla : 0);
|
int w = dlg->xw - 2 * DIALOG_LB - (F ? sirka_scrollovadla : 0);
|
||||||
y = dlg->y + DIALOG_TB;
|
y = dlg->y + DIALOG_TB;
|
||||||
|
|
||||||
|
if (drv->start_draw) drv->start_draw(term->dev);
|
||||||
#ifdef G
|
#ifdef G
|
||||||
if (F) {
|
if (F) {
|
||||||
int total = get_total_items(ld);
|
int total = get_total_items(ld);
|
||||||
|
@ -1123,6 +1129,7 @@ static void redraw_list(struct terminal *term, void *bla)
|
||||||
if (dlg->s) exclude_from_set(&dlg->s, dlg->x + DIALOG_LB, y, dlg->x + DIALOG_LB + w, dlg->y + DIALOG_TB + ld->n_items * G_BFU_FONT_SIZE);
|
if (dlg->s) exclude_from_set(&dlg->s, dlg->x + DIALOG_LB, y, dlg->x + DIALOG_LB + w, dlg->y + DIALOG_TB + ld->n_items * G_BFU_FONT_SIZE);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
if (drv->end_draw) drv->end_draw(term->dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
2
os_dep.h
2
os_dep.h
|
@ -90,7 +90,7 @@ static inline int dir_sep(unsigned char x) { return x == '/' || x == '\\'; }
|
||||||
|
|
||||||
static inline int dir_sep(unsigned char x) { return x == '/' || x == '\\'; }
|
static inline int dir_sep(unsigned char x) { return x == '/' || x == '\\'; }
|
||||||
#define NEWLINE "\r\n"
|
#define NEWLINE "\r\n"
|
||||||
#define NO_ASYNC_LOOKUP /* Cygwin 3.5.3 has some bug that async lookup doesn't work when started from a detached thread */
|
/*#define NO_ASYNC_LOOKUP*/
|
||||||
#define SYSTEM_ID SYS_WIN_32
|
#define SYSTEM_ID SYS_WIN_32
|
||||||
#define SYSTEM_NAME "Win32"
|
#define SYSTEM_NAME "Win32"
|
||||||
#define DEFAULT_SHELL "cmd.exe"
|
#define DEFAULT_SHELL "cmd.exe"
|
||||||
|
|
|
@ -2887,6 +2887,8 @@ struct graphics_driver pmshell_driver = {
|
||||||
pm_draw_vline,
|
pm_draw_vline,
|
||||||
pm_scroll,
|
pm_scroll,
|
||||||
NULL,
|
NULL,
|
||||||
|
NULL, /* start_draw */
|
||||||
|
NULL, /* end_draw */
|
||||||
pm_flush,
|
pm_flush,
|
||||||
NULL, /* block */
|
NULL, /* block */
|
||||||
NULL, /* unblock */
|
NULL, /* unblock */
|
||||||
|
|
6
rebuild
6
rebuild
|
@ -123,14 +123,10 @@ LC_ALL=
|
||||||
.
|
.
|
||||||
/DELETE1/-1,/DELETE1/d
|
/DELETE1/-1,/DELETE1/d
|
||||||
/DELETE2/-1,/DELETE2/d
|
/DELETE2/-1,/DELETE2/d
|
||||||
,s/^main/int main/
|
|
||||||
,s/XtMalloc/'int XtMalloc'/
|
|
||||||
,s/foo()/int foo()/
|
|
||||||
w
|
w
|
||||||
q
|
q
|
||||||
EOS
|
EOS
|
||||||
sed -i '/^#include <stdio.h>/a#include <stdlib.h>' configure
|
|
||||||
sed -i '/^#include <ctype.h>/a#include <stdlib.h>' configure
|
|
||||||
else
|
else
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -284,9 +284,11 @@ static void x_print_screen_status(struct terminal *term, void *ses_)
|
||||||
if (ses->st) print_text(term, 0, term->y - 1, (int)strlen(cast_const_char ses->st), ses->st, COLOR_STATUS);
|
if (ses->st) print_text(term, 0, term->y - 1, (int)strlen(cast_const_char ses->st), ses->st, COLOR_STATUS);
|
||||||
#ifdef G
|
#ifdef G
|
||||||
} else {
|
} else {
|
||||||
|
if (drv->start_draw) drv->start_draw(term->dev);
|
||||||
int l = 0;
|
int l = 0;
|
||||||
if (ses->st) g_print_text(term->dev, 0, term->y - G_BFU_FONT_SIZE, bfu_style_wb_mono, ses->st, &l);
|
if (ses->st) g_print_text(term->dev, 0, term->y - G_BFU_FONT_SIZE, bfu_style_wb_mono, ses->st, &l);
|
||||||
drv->fill_area(term->dev, l, term->y - G_BFU_FONT_SIZE, term->x, term->y, !proxies.only_proxies ? bfu_bg_color : bfu_fg_color);
|
drv->fill_area(term->dev, l, term->y - G_BFU_FONT_SIZE, term->x, term->y, !proxies.only_proxies ? bfu_bg_color : bfu_fg_color);
|
||||||
|
if (drv->end_draw) drv->end_draw(term->dev);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -666,6 +668,7 @@ void download_window_function(struct dialog_data *dlg)
|
||||||
} else {
|
} else {
|
||||||
unsigned char *q;
|
unsigned char *q;
|
||||||
int p, s, ss, m;
|
int p, s, ss, m;
|
||||||
|
if (drv->start_draw) drv->start_draw(term->dev);
|
||||||
y += G_BFU_FONT_SIZE;
|
y += G_BFU_FONT_SIZE;
|
||||||
q = download_percentage(down, 1);
|
q = download_percentage(down, 1);
|
||||||
extend_str(&q, 1);
|
extend_str(&q, 1);
|
||||||
|
@ -683,6 +686,7 @@ void download_window_function(struct dialog_data *dlg)
|
||||||
if (dlg->s) exclude_from_set(&dlg->s, x, y, x + w, y + G_BFU_FONT_SIZE);
|
if (dlg->s) exclude_from_set(&dlg->s, x, y, x + w, y + G_BFU_FONT_SIZE);
|
||||||
mem_free(q);
|
mem_free(q);
|
||||||
y += G_BFU_FONT_SIZE;
|
y += G_BFU_FONT_SIZE;
|
||||||
|
if (drv->end_draw) drv->end_draw(term->dev);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2
string.c
2
string.c
|
@ -85,7 +85,7 @@ void add_bytes_to_str(unsigned char **s, int *l, unsigned char *a, size_t ll)
|
||||||
(defined(__ARM_ARCH) && __ARM_ARCH < 5) || \
|
(defined(__ARM_ARCH) && __ARM_ARCH < 5) || \
|
||||||
(defined(__sparc__) && (!defined(__VIS__) || __VIS__ < 0x300)) ||\
|
(defined(__sparc__) && (!defined(__VIS__) || __VIS__ < 0x300)) ||\
|
||||||
defined(__hppa) || \
|
defined(__hppa) || \
|
||||||
(defined(__riscv) && !defined(__riscv_zbb)) || \
|
defined(__riscv) || \
|
||||||
defined(__sh__))
|
defined(__sh__))
|
||||||
if (!(sizeof(unsigned) & (sizeof(unsigned) - 1))) {
|
if (!(sizeof(unsigned) & (sizeof(unsigned) - 1))) {
|
||||||
new_length = 2U << ((sizeof(unsigned) * 8 - 1)
|
new_length = 2U << ((sizeof(unsigned) * 8 - 1)
|
||||||
|
|
1537
suffix.inc
1537
suffix.inc
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -2380,6 +2380,8 @@ struct graphics_driver svga_driver = {
|
||||||
NULL, /* draw_vline */
|
NULL, /* draw_vline */
|
||||||
NULL, /* scroll */
|
NULL, /* scroll */
|
||||||
NULL, /* set_clip_area */
|
NULL, /* set_clip_area */
|
||||||
|
NULL, /* start_draw */
|
||||||
|
NULL, /* end_draw */
|
||||||
NULL, /* flush */
|
NULL, /* flush */
|
||||||
vga_block, /* block */
|
vga_block, /* block */
|
||||||
vga_unblock, /* unblock */
|
vga_unblock, /* unblock */
|
||||||
|
|
|
@ -969,7 +969,6 @@ static void redraw_screen(struct terminal *term)
|
||||||
int l = 0;
|
int l = 0;
|
||||||
int print_next = 0;
|
int print_next = 0;
|
||||||
struct term_spec *s;
|
struct term_spec *s;
|
||||||
n_chars = n_chars + 0; /* avoid warning */
|
|
||||||
NO_GFX;
|
NO_GFX;
|
||||||
if (!term->dirty || (term->master && is_blocked())) return;
|
if (!term->dirty || (term->master && is_blocked())) return;
|
||||||
a = init_str();
|
a = init_str();
|
||||||
|
|
|
@ -476,6 +476,7 @@ static long scroll_bar_bar_color;
|
||||||
void draw_vscroll_bar(struct graphics_device *dev, int x, int y, int yw, int total, int view, int pos)
|
void draw_vscroll_bar(struct graphics_device *dev, int x, int y, int yw, int total, int view, int pos)
|
||||||
{
|
{
|
||||||
int spos, epos;
|
int spos, epos;
|
||||||
|
if (drv->start_draw) drv->start_draw(dev);
|
||||||
drv->draw_hline(dev, x, y, x + G_SCROLL_BAR_WIDTH, scroll_bar_frame_color);
|
drv->draw_hline(dev, x, y, x + G_SCROLL_BAR_WIDTH, scroll_bar_frame_color);
|
||||||
drv->draw_vline(dev, x, y, y + yw, scroll_bar_frame_color);
|
drv->draw_vline(dev, x, y, y + yw, scroll_bar_frame_color);
|
||||||
drv->draw_vline(dev, x + G_SCROLL_BAR_WIDTH - 1, y, y + yw, scroll_bar_frame_color);
|
drv->draw_vline(dev, x + G_SCROLL_BAR_WIDTH - 1, y, y + yw, scroll_bar_frame_color);
|
||||||
|
@ -486,11 +487,13 @@ void draw_vscroll_bar(struct graphics_device *dev, int x, int y, int yw, int tot
|
||||||
drv->fill_area(dev, x + 2, y + 1, x + G_SCROLL_BAR_WIDTH - 2, y + 2 + spos, scroll_bar_area_color);
|
drv->fill_area(dev, x + 2, y + 1, x + G_SCROLL_BAR_WIDTH - 2, y + 2 + spos, scroll_bar_area_color);
|
||||||
drv->fill_area(dev, x + 2, y + 2 + spos, x + G_SCROLL_BAR_WIDTH - 2, y + 2 + epos, scroll_bar_bar_color);
|
drv->fill_area(dev, x + 2, y + 2 + spos, x + G_SCROLL_BAR_WIDTH - 2, y + 2 + epos, scroll_bar_bar_color);
|
||||||
drv->fill_area(dev, x + 2, y + 2 + epos, x + G_SCROLL_BAR_WIDTH - 2, y + yw - 1, scroll_bar_area_color);
|
drv->fill_area(dev, x + 2, y + 2 + epos, x + G_SCROLL_BAR_WIDTH - 2, y + yw - 1, scroll_bar_area_color);
|
||||||
|
if (drv->end_draw) drv->end_draw(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
void draw_hscroll_bar(struct graphics_device *dev, int x, int y, int xw, int total, int view, int pos)
|
void draw_hscroll_bar(struct graphics_device *dev, int x, int y, int xw, int total, int view, int pos)
|
||||||
{
|
{
|
||||||
int spos, epos;
|
int spos, epos;
|
||||||
|
if (drv->start_draw) drv->start_draw(dev);
|
||||||
drv->draw_vline(dev, x, y, y + G_SCROLL_BAR_WIDTH, scroll_bar_frame_color);
|
drv->draw_vline(dev, x, y, y + G_SCROLL_BAR_WIDTH, scroll_bar_frame_color);
|
||||||
drv->draw_hline(dev, x, y, x + xw, scroll_bar_frame_color);
|
drv->draw_hline(dev, x, y, x + xw, scroll_bar_frame_color);
|
||||||
drv->draw_hline(dev, x, y + G_SCROLL_BAR_WIDTH - 1, x + xw, scroll_bar_frame_color);
|
drv->draw_hline(dev, x, y + G_SCROLL_BAR_WIDTH - 1, x + xw, scroll_bar_frame_color);
|
||||||
|
@ -501,6 +504,7 @@ void draw_hscroll_bar(struct graphics_device *dev, int x, int y, int xw, int tot
|
||||||
drv->fill_area(dev, x + 1, y + 2, x + 2 + spos, y + G_SCROLL_BAR_WIDTH - 2, scroll_bar_area_color);
|
drv->fill_area(dev, x + 1, y + 2, x + 2 + spos, y + G_SCROLL_BAR_WIDTH - 2, scroll_bar_area_color);
|
||||||
drv->fill_area(dev, x + 2 + spos, y + 2, x + 2 + epos, y + G_SCROLL_BAR_WIDTH - 2, scroll_bar_bar_color);
|
drv->fill_area(dev, x + 2 + spos, y + 2, x + 2 + epos, y + G_SCROLL_BAR_WIDTH - 2, scroll_bar_bar_color);
|
||||||
drv->fill_area(dev, x + 2 + epos, y + 2, x + xw - 1, y + G_SCROLL_BAR_WIDTH - 2, scroll_bar_area_color);
|
drv->fill_area(dev, x + 2 + epos, y + 2, x + xw - 1, y + G_SCROLL_BAR_WIDTH - 2, scroll_bar_area_color);
|
||||||
|
if (drv->end_draw) drv->end_draw(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void g_get_search(struct f_data *f, unsigned char *s)
|
static void g_get_search(struct f_data *f, unsigned char *s)
|
||||||
|
@ -567,9 +571,11 @@ void draw_graphical_doc(struct terminal *t, struct f_data_c *scr, int active)
|
||||||
vx = vs->view_posx;
|
vx = vs->view_posx;
|
||||||
vy = vs->view_pos;
|
vy = vs->view_pos;
|
||||||
restrict_clip_area(t->dev, &old, scr->xp, scr->yp, scr->xp + xw, scr->yp + yw);
|
restrict_clip_area(t->dev, &old, scr->xp, scr->yp, scr->xp + xw, scr->yp + yw);
|
||||||
|
if (drv->start_draw) drv->start_draw(t->dev);
|
||||||
if (scr->vsb) draw_vscroll_bar(t->dev, scr->xp + xw - G_SCROLL_BAR_WIDTH, scr->yp, yw - scr->hsb * G_SCROLL_BAR_WIDTH, scr->f_data->y, yw - scr->hsb * G_SCROLL_BAR_WIDTH, vs->view_pos);
|
if (scr->vsb) draw_vscroll_bar(t->dev, scr->xp + xw - G_SCROLL_BAR_WIDTH, scr->yp, yw - scr->hsb * G_SCROLL_BAR_WIDTH, scr->f_data->y, yw - scr->hsb * G_SCROLL_BAR_WIDTH, vs->view_pos);
|
||||||
if (scr->hsb) draw_hscroll_bar(t->dev, scr->xp, scr->yp + yw - G_SCROLL_BAR_WIDTH, xw - scr->vsb * G_SCROLL_BAR_WIDTH, scr->f_data->x, xw - scr->vsb * G_SCROLL_BAR_WIDTH, vs->view_posx);
|
if (scr->hsb) draw_hscroll_bar(t->dev, scr->xp, scr->yp + yw - G_SCROLL_BAR_WIDTH, xw - scr->vsb * G_SCROLL_BAR_WIDTH, scr->f_data->x, xw - scr->vsb * G_SCROLL_BAR_WIDTH, vs->view_posx);
|
||||||
if (scr->vsb && scr->hsb) drv->fill_area(t->dev, scr->xp + xw - G_SCROLL_BAR_WIDTH, scr->yp + yw - G_SCROLL_BAR_WIDTH, scr->xp + xw, scr->yp + yw, scroll_bar_frame_color);
|
if (scr->vsb && scr->hsb) drv->fill_area(t->dev, scr->xp + xw - G_SCROLL_BAR_WIDTH, scr->yp + yw - G_SCROLL_BAR_WIDTH, scr->xp + xw, scr->yp + yw, scroll_bar_frame_color);
|
||||||
|
if (drv->end_draw) drv->end_draw(t->dev);
|
||||||
restrict_clip_area(t->dev, NULL, scr->xp, scr->yp, scr->xp + xw - scr->vsb * G_SCROLL_BAR_WIDTH, scr->yp + yw - scr->hsb * G_SCROLL_BAR_WIDTH);
|
restrict_clip_area(t->dev, NULL, scr->xp, scr->yp, scr->xp + xw - scr->vsb * G_SCROLL_BAR_WIDTH, scr->yp + yw - scr->hsb * G_SCROLL_BAR_WIDTH);
|
||||||
/*debug("buu: %d %d %d, %d %d %d", scr->xl, vx, xw, scr->yl, vy, yw);*/
|
/*debug("buu: %d %d %d, %d %d %d", scr->xl, vx, xw, scr->yl, vy, yw);*/
|
||||||
if (drv->flags & GD_DONT_USE_SCROLL && overwrite_instead_of_scroll) goto rrr;
|
if (drv->flags & GD_DONT_USE_SCROLL && overwrite_instead_of_scroll) goto rrr;
|
||||||
|
@ -1326,6 +1332,7 @@ void draw_title(struct f_data_c *f)
|
||||||
int b, z, w;
|
int b, z, w;
|
||||||
struct graphics_device *dev = f->ses->term->dev;
|
struct graphics_device *dev = f->ses->term->dev;
|
||||||
unsigned char *title = stracpy(!drv->set_title && f->f_data && f->f_data->title && f->f_data->title[0] ? f->f_data->title : NULL);
|
unsigned char *title = stracpy(!drv->set_title && f->f_data && f->f_data->title && f->f_data->title[0] ? f->f_data->title : NULL);
|
||||||
|
if (drv->start_draw) drv->start_draw(dev);
|
||||||
if (!title) {
|
if (!title) {
|
||||||
if (f->rq && f->rq->url)
|
if (f->rq && f->rq->url)
|
||||||
title = display_url(f->ses->term, f->rq->url, 1);
|
title = display_url(f->ses->term, f->rq->url, 1);
|
||||||
|
@ -1342,6 +1349,7 @@ void draw_title(struct f_data_c *f)
|
||||||
g_print_text(dev, b, 0, !proxies.only_proxies ? bfu_style_bw : bfu_style_wb, title, &b);
|
g_print_text(dev, b, 0, !proxies.only_proxies ? bfu_style_bw : bfu_style_wb, title, &b);
|
||||||
drv->fill_area(dev, b, 0, dev->size.x2, G_BFU_FONT_SIZE, !proxies.only_proxies ? bfu_bg_color : bfu_fg_color);
|
drv->fill_area(dev, b, 0, dev->size.x2, G_BFU_FONT_SIZE, !proxies.only_proxies ? bfu_bg_color : bfu_fg_color);
|
||||||
mem_free(title);
|
mem_free(title);
|
||||||
|
if (drv->end_draw) drv->end_draw(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct f_data *srch_f_data;
|
static struct f_data *srch_f_data;
|
||||||
|
|
129
x.c
129
x.c
|
@ -217,15 +217,13 @@ static GC x_normal_gc = 0, x_copy_gc = 0, x_drawbitmap_gc = 0, x_scroll_gc = 0;
|
||||||
static long x_normal_gc_color;
|
static long x_normal_gc_color;
|
||||||
static struct rect x_scroll_gc_rect;
|
static struct rect x_scroll_gc_rect;
|
||||||
static Colormap x_default_colormap, x_colormap;
|
static Colormap x_default_colormap, x_colormap;
|
||||||
static Atom x_delete_window_atom, x_wm_protocols_atom, x_sel_atom, x_targets_atom, x_utf8_string_atom, x__net_supporting_wm_check, x__net_wm_name;
|
static Atom x_delete_window_atom, x_wm_protocols_atom, x_sel_atom, x_targets_atom, x_utf8_string_atom;
|
||||||
static Pixmap x_icon = 0;
|
static Pixmap x_icon = 0;
|
||||||
|
|
||||||
#ifdef X_INPUT_METHOD
|
#ifdef X_INPUT_METHOD
|
||||||
static XIM xim = NULL;
|
static XIM xim = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int prefer_utf8_window_title;
|
|
||||||
|
|
||||||
extern struct graphics_driver x_driver;
|
extern struct graphics_driver x_driver;
|
||||||
|
|
||||||
static unsigned char *x_driver_param = NULL;
|
static unsigned char *x_driver_param = NULL;
|
||||||
|
@ -1528,49 +1526,6 @@ static void x_process_events(void *data)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned_char_p x_get_property_string(Window w, Atom prop, Atom type, Bool del)
|
|
||||||
{
|
|
||||||
unsigned_char_p buffer;
|
|
||||||
unsigned long pty_size, pty_items;
|
|
||||||
int pty_format, ret;
|
|
||||||
Atom pty_type;
|
|
||||||
|
|
||||||
/* Get size and type of property */
|
|
||||||
ret = XGetWindowProperty(
|
|
||||||
x_display,
|
|
||||||
w,
|
|
||||||
prop,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
False,
|
|
||||||
AnyPropertyType,
|
|
||||||
&pty_type,
|
|
||||||
&pty_format,
|
|
||||||
&pty_items,
|
|
||||||
&pty_size,
|
|
||||||
&buffer);
|
|
||||||
/*debug("1: %d %d %d %ld %ld %p", ret, pty_type, pty_format, pty_items, pty_size, buffer);*/
|
|
||||||
if (ret != Success || !buffer) return NULL;
|
|
||||||
XFree(buffer);
|
|
||||||
|
|
||||||
ret = XGetWindowProperty(
|
|
||||||
x_display,
|
|
||||||
w,
|
|
||||||
prop,
|
|
||||||
0,
|
|
||||||
(long)pty_size,
|
|
||||||
del,
|
|
||||||
AnyPropertyType,
|
|
||||||
&pty_type,
|
|
||||||
&pty_format,
|
|
||||||
&pty_items,
|
|
||||||
&pty_size,
|
|
||||||
&buffer
|
|
||||||
);
|
|
||||||
/*debug("2: %d %d %d %ld %ld %p", ret, pty_type, pty_format, pty_items, pty_size, buffer);*/
|
|
||||||
if (ret != Success || !buffer) return NULL;
|
|
||||||
return buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void x_after_fork(void)
|
static void x_after_fork(void)
|
||||||
{
|
{
|
||||||
|
@ -1854,40 +1809,15 @@ visual_found:
|
||||||
gcv.fill_style = FillSolid;
|
gcv.fill_style = FillSolid;
|
||||||
gcv.background = x_black_pixel;
|
gcv.background = x_black_pixel;
|
||||||
|
|
||||||
x_delete_window_atom = XInternAtom(x_display, "WM_DELETE_WINDOW", False);
|
x_delete_window_atom = XInternAtom(x_display,"WM_DELETE_WINDOW", False);
|
||||||
x_wm_protocols_atom = XInternAtom(x_display, "WM_PROTOCOLS", False);
|
x_wm_protocols_atom = XInternAtom(x_display,"WM_PROTOCOLS", False);
|
||||||
x_sel_atom = XInternAtom(x_display, "SEL_PROP", False);
|
x_sel_atom = XInternAtom(x_display, "SEL_PROP", False);
|
||||||
x_targets_atom = XInternAtom(x_display, "TARGETS", False);
|
x_targets_atom = XInternAtom(x_display, "TARGETS", False);
|
||||||
x_utf8_string_atom = XInternAtom(x_display, "UTF8_STRING", False);
|
x_utf8_string_atom = XInternAtom(x_display, "UTF8_STRING", False);
|
||||||
x__net_supporting_wm_check = XInternAtom(x_display, "_NET_SUPPORTING_WM_CHECK", False);
|
|
||||||
x__net_wm_name = XInternAtom(x_display, "_NET_WM_NAME", False);
|
|
||||||
|
|
||||||
if (x_have_palette) win_attr.colormap = x_colormap;
|
if (x_have_palette) win_attr.colormap = x_colormap;
|
||||||
else win_attr.colormap = x_default_colormap;
|
else win_attr.colormap = x_default_colormap;
|
||||||
|
|
||||||
prefer_utf8_window_title = 0;
|
|
||||||
#if defined(HAVE_XSUPPORTSLOCALE) && defined(HAVE_XMBTEXTLISTTOTEXTPROPERTY) && X_HAVE_UTF8_STRING
|
|
||||||
{
|
|
||||||
unsigned_char_p buffer;
|
|
||||||
Window win;
|
|
||||||
buffer = x_get_property_string(x_root_window, x__net_supporting_wm_check, XA_WINDOW, False);
|
|
||||||
if (!buffer)
|
|
||||||
goto skip_wm_name;
|
|
||||||
win = *(Window *)buffer;
|
|
||||||
XFree(buffer);
|
|
||||||
x_prepare_for_failure(X_GetProperty);
|
|
||||||
buffer = x_get_property_string(win, x__net_wm_name, AnyPropertyType, False);
|
|
||||||
if (x_test_for_failure())
|
|
||||||
goto skip_wm_name;
|
|
||||||
if (!buffer)
|
|
||||||
goto skip_wm_name;
|
|
||||||
if (!strcasecmp(cast_const_char buffer, "kwin"))
|
|
||||||
prefer_utf8_window_title = 1;
|
|
||||||
XFree(buffer);
|
|
||||||
}
|
|
||||||
skip_wm_name:
|
|
||||||
#endif
|
|
||||||
|
|
||||||
fake_window = XCreateWindow(
|
fake_window = XCreateWindow(
|
||||||
x_display,
|
x_display,
|
||||||
x_root_window,
|
x_root_window,
|
||||||
|
@ -2821,7 +2751,7 @@ retry_encode_ascii:
|
||||||
if (XSupportsLocale()) {
|
if (XSupportsLocale()) {
|
||||||
ret = XmbTextListToTextProperty(x_display, &xx_str, 1, XStdICCTextStyle, &windowName);
|
ret = XmbTextListToTextProperty(x_display, &xx_str, 1, XStdICCTextStyle, &windowName);
|
||||||
#ifdef X_HAVE_UTF8_STRING
|
#ifdef X_HAVE_UTF8_STRING
|
||||||
if (ret > 0 || (!ret && prefer_utf8_window_title)) {
|
if (ret > 0) {
|
||||||
XFree(windowName.value);
|
XFree(windowName.value);
|
||||||
ret = XmbTextListToTextProperty(x_display, &xx_str, 1, XUTF8StringStyle, &windowName);
|
ret = XmbTextListToTextProperty(x_display, &xx_str, 1, XUTF8StringStyle, &windowName);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
@ -2986,13 +2916,48 @@ static unsigned char *x_get_clipboard_text(void)
|
||||||
}
|
}
|
||||||
if (event.xselection.property) {
|
if (event.xselection.property) {
|
||||||
unsigned_char_p buffer;
|
unsigned_char_p buffer;
|
||||||
|
unsigned long pty_size, pty_items;
|
||||||
|
int pty_format, ret;
|
||||||
|
Atom pty_type;
|
||||||
|
|
||||||
if (event.xselection.target != type_atom) goto no_new_sel;
|
if (event.xselection.target != type_atom) goto no_new_sel;
|
||||||
if (event.xselection.property != x_sel_atom) goto no_new_sel;
|
if (event.xselection.property != x_sel_atom) goto no_new_sel;
|
||||||
|
|
||||||
buffer = x_get_property_string(fake_window, event.xselection.property, True, AnyPropertyType);
|
|
||||||
if (!buffer)
|
/* Get size and type of property */
|
||||||
goto no_new_sel;
|
ret = XGetWindowProperty(
|
||||||
|
x_display,
|
||||||
|
fake_window,
|
||||||
|
event.xselection.property,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
False,
|
||||||
|
AnyPropertyType,
|
||||||
|
&pty_type,
|
||||||
|
&pty_format,
|
||||||
|
&pty_items,
|
||||||
|
&pty_size,
|
||||||
|
&buffer);
|
||||||
|
if (ret != Success) goto no_new_sel;
|
||||||
|
XFree(buffer);
|
||||||
|
|
||||||
|
ret = XGetWindowProperty(
|
||||||
|
x_display,
|
||||||
|
fake_window,
|
||||||
|
event.xselection.property,
|
||||||
|
0,
|
||||||
|
(long)pty_size,
|
||||||
|
True,
|
||||||
|
AnyPropertyType,
|
||||||
|
&pty_type,
|
||||||
|
&pty_format,
|
||||||
|
&pty_items,
|
||||||
|
&pty_size,
|
||||||
|
&buffer
|
||||||
|
);
|
||||||
|
if (ret != Success) goto no_new_sel;
|
||||||
|
|
||||||
|
pty_size = (pty_format>>3) * pty_items;
|
||||||
|
|
||||||
x_clear_clipboard();
|
x_clear_clipboard();
|
||||||
if (type_atom == x_utf8_string_atom) {
|
if (type_atom == x_utf8_string_atom) {
|
||||||
|
@ -3020,12 +2985,12 @@ struct graphics_driver x_driver = {
|
||||||
x_init_device,
|
x_init_device,
|
||||||
x_shutdown_device,
|
x_shutdown_device,
|
||||||
x_shutdown_driver,
|
x_shutdown_driver,
|
||||||
NULL,
|
NULL, /* emergency_shutdown */
|
||||||
x_after_fork,
|
x_after_fork,
|
||||||
x_get_driver_param,
|
x_get_driver_param,
|
||||||
x_get_af_unix_name,
|
x_get_af_unix_name,
|
||||||
NULL,
|
NULL, /* get_margin */
|
||||||
NULL,
|
NULL, /* set_margin */
|
||||||
x_get_empty_bitmap,
|
x_get_empty_bitmap,
|
||||||
x_register_bitmap,
|
x_register_bitmap,
|
||||||
x_prepare_strip,
|
x_prepare_strip,
|
||||||
|
@ -3037,7 +3002,9 @@ struct graphics_driver x_driver = {
|
||||||
x_draw_hline,
|
x_draw_hline,
|
||||||
x_draw_vline,
|
x_draw_vline,
|
||||||
x_scroll,
|
x_scroll,
|
||||||
NULL,
|
NULL, /* set_clip_area */
|
||||||
|
NULL, /* start_draw */
|
||||||
|
NULL, /* end_draw */
|
||||||
x_flush,
|
x_flush,
|
||||||
NULL, /* block */
|
NULL, /* block */
|
||||||
NULL, /* unblock */
|
NULL, /* unblock */
|
||||||
|
|
Loading…
Reference in a new issue