summaryrefslogtreecommitdiff
path: root/atari
diff options
context:
space:
mode:
authorOle Loots <ole@monochrom.net>2011-02-05 14:32:15 +0000
committerOle Loots <ole@monochrom.net>2011-02-05 14:32:15 +0000
commitd7745d59bd9f4c9c1d1115312ea1bb87753f77db (patch)
tree7000b66009a95033bf68687466e0687215396311 /atari
parent096e638b8ce240376d60fe6bac861c0b318d70db (diff)
downloadnetsurf-d7745d59bd9f4c9c1d1115312ea1bb87753f77db.tar.gz
netsurf-d7745d59bd9f4c9c1d1115312ea1bb87753f77db.tar.bz2
Added file upload / file dragdrop
svn path=/trunk/netsurf/; revision=11621
Diffstat (limited to 'atari')
-rw-r--r--atari/Makefile.target2
-rwxr-xr-xatari/browser_win.c130
-rwxr-xr-xatari/browser_win.h1
-rwxr-xr-xatari/dragdrop.c515
-rwxr-xr-xatari/dragdrop.h51
-rwxr-xr-xatari/scripts/mkpkg.sh10
6 files changed, 701 insertions, 8 deletions
diff --git a/atari/Makefile.target b/atari/Makefile.target
index ad967916b..00f902763 100644
--- a/atari/Makefile.target
+++ b/atari/Makefile.target
@@ -40,7 +40,7 @@ S_ATARI := gui.c findfile.c filetype.c misc.c bitmap.c schedule.c \
plot.c plot/plotter.c plot/plotter_vdi.c plot/eddi.s \
plot/font_vdi.c plot/font_freetype.c \
browser_win.c toolbar.c statusbar.c browser.c \
- global_evnt.c osspec.c system_colour.c
+ global_evnt.c osspec.c dragdrop.c system_colour.c
S_ATARI := $(addprefix atari/,$(S_ATARI))
diff --git a/atari/browser_win.c b/atari/browser_win.c
index 0cb7e376a..c40f126de 100755
--- a/atari/browser_win.c
+++ b/atari/browser_win.c
@@ -27,6 +27,7 @@
#include <windom.h>
#include <assert.h>
#include <math.h>
+#include <osbind.h>
#include "utils/log.h"
#include "desktop/gui.h"
@@ -35,7 +36,13 @@
#include "desktop/browser.h"
#include "desktop/mouse.h"
#include "desktop/plotters.h"
-
+#include "desktop/textinput.h"
+#include "content/content.h"
+#include "content/hlcache.h"
+#include "content/urldb.h"
+#include "css/css.h"
+#include "render/box.h"
+#include "render/form.h"
#include "atari/gui.h"
#include "atari/browser_win.h"
#include "atari/browser.h"
@@ -46,6 +53,7 @@
#include "atari/toolbar.h"
#include "atari/statusbar.h"
#include "atari/plot/plotter.h"
+#include "atari/dragdrop.h"
bool cfg_rt_resize = false;
@@ -145,6 +153,7 @@ int window_create( struct gui_window * gw, struct browser_window * bw, unsigned
EvntAdd( gw->root->handle, WM_MOVED, evnt_window_rt_resize, EV_BOT );
}
EvntAttach( gw->root->handle, WM_FORCE_MOVE, evnt_window_rt_resize );
+ EvntDataAttach( gw->root->handle, AP_DRAGDROP, evnt_window_dd, gw );
EvntDataAdd( gw->root->handle, WM_DESTROY,evnt_window_destroy, NULL, EV_TOP );
EvntDataAdd( gw->root->handle, WM_ARROWED,evnt_window_arrowed, NULL, EV_TOP );
EvntDataAdd( gw->root->handle, WM_NEWTOP, evnt_window_newtop, &evnt_data, EV_BOT);
@@ -333,6 +342,125 @@ bool window_widget_has_focus( struct gui_window * gw, enum focus_element_type t,
return( ( element == gw->root->focus.element && t == gw->root->focus.type) );
}
+static void __CDECL evnt_window_dd( WINDOW *win, short wbuff[8], void * data )
+{
+ struct gui_window * gw = (struct gui_window *)data;
+ char file[DD_NAMEMAX];
+ char name[DD_NAMEMAX];
+ char *buff=NULL;
+ int dd_hdl;
+ int dd_msg; /* pipe-handle */
+ long size;
+ char ext[32];
+ short mx,my,bmstat,mkstat;
+ graf_mkstate(&mx, &my, &bmstat, &mkstat);
+
+ if( gw == NULL )
+ return;
+ if( (win->status & WS_ICONIFY))
+ return;
+
+ dd_hdl = ddopen( wbuff[7], DD_OK);
+ if( dd_hdl<0)
+ return; /* pipe not open */
+ memset( ext, 0, 32);
+ strcpy( ext, "ARGS");
+ dd_msg = ddsexts( dd_hdl, ext);
+ if( dd_msg<0)
+ goto error;
+ dd_msg = ddrtry( dd_hdl, (char*)&name[0], (char*)&file[0], (char*)&ext[0], &size);
+ if( size+1 >= PATH_MAX )
+ goto error;
+ if( !strncmp( ext, "ARGS", 4) && dd_msg > 0)
+ {
+ ddreply(dd_hdl, DD_OK);
+ buff = (char*)alloca(sizeof(char)*(size+1));
+ if( buff != NULL )
+ {
+ if( Fread(dd_hdl, size, buff ) == size)
+ {
+ buff[size] = 0;
+ }
+ LOG(("file: %s, ext: %s, size: %d dropped at: %d,%d\n",
+ (char*)buff, (char*)&ext,
+ size, mx, my
+ ));
+ {
+ int posx, posy;
+ struct box *box;
+ struct box *file_box = 0;
+ hlcache_handle *h;
+ int box_x, box_y;
+ LGRECT bwrect;
+ struct browser_window * bw = gw->browser->bw;
+ h = bw->current_content;
+ if (!bw->current_content || content_get_type(h) != CONTENT_HTML)
+ return;
+ browser_get_rect( gw, BR_CONTENT, &bwrect );
+ mx = mx - bwrect.g_x;
+ my = my - bwrect.g_y;
+ if( (mx < 0 || mx > bwrect.g_w) || (my < 0 || my > bwrect.g_h) )
+ return;
+ box = html_get_box_tree(h);
+ box_x = box->margin[LEFT];
+ box_y = box->margin[TOP];
+
+ while ((box = box_at_point(box, mx+gw->browser->scroll.current.x, my+gw->browser->scroll.current.y, &box_x, &box_y, &h)))
+ {
+ if (box->style && css_computed_visibility(box->style) == CSS_VISIBILITY_HIDDEN)
+ continue;
+ if (box->gadget)
+ {
+ switch (box->gadget->type)
+ {
+ case GADGET_FILE:
+ file_box = box;
+ break;
+ /*
+ TODO: handle these
+ case GADGET_TEXTBOX:
+ case GADGET_TEXTAREA:
+ case GADGET_PASSWORD:
+ text_box = box;
+ break;
+ */
+ default:
+ break;
+ }
+ }
+ } /* end While */
+ if ( !file_box )
+ return;
+ if (file_box) {
+ utf8_convert_ret ret;
+ char *utf8_fn;
+
+ ret = local_encoding_to_utf8( buff, 0, &utf8_fn);
+ if (ret != UTF8_CONVERT_OK) {
+ /* A bad encoding should never happen */
+ LOG(("utf8_from_local_encoding failed"));
+ assert(ret != UTF8_CONVERT_BADENC);
+ /* Load was for us - just no memory */
+ return;
+ }
+ /* Found: update form input. */
+ free(file_box->gadget->value);
+ file_box->gadget->value = utf8_fn;
+ /* Redraw box. */
+ box_coords(file_box, &posx, &posy);
+ gui_window_redraw(bw->window,
+ posx - gw->browser->scroll.current.x,
+ posy - gw->browser->scroll.current.y,
+ posx - gw->browser->scroll.current.x + file_box->width,
+ posy - gw->browser->scroll.current.y + file_box->height);
+ }
+ }
+ }
+ }
+error:
+ ddclose( dd_hdl);
+}
+
/* -------------------------------------------------------------------------- */
/* Non Public Modul event handlers: */
/* -------------------------------------------------------------------------- */
diff --git a/atari/browser_win.h b/atari/browser_win.h
index 08fe39eed..37610c9f7 100755
--- a/atari/browser_win.h
+++ b/atari/browser_win.h
@@ -74,6 +74,7 @@ void __CDECL evnt_window_resize( WINDOW *win, short buff[8] );
static void __CDECL evnt_window_move( WINDOW *win, short buff[8] );
static void __CDECL evnt_window_rt_resize( WINDOW *win, short buff[8] );
static void __CDECL evnt_window_close( WINDOW *win, short buff[8], void *data );
+static void __CDECL evnt_window_dd( WINDOW *win, short wbuff[8], void * data ) ;
static void __CDECL evnt_window_destroy( WINDOW *win, short buff[8], void *data );
static void __CDECL evnt_window_keybd(WINDOW *win, short buff[8], void *data );
static void __CDECL evnt_window_mbutton(WINDOW *win, short buff[8], void *data );
diff --git a/atari/dragdrop.c b/atari/dragdrop.c
new file mode 100755
index 000000000..9e55d790c
--- /dev/null
+++ b/atari/dragdrop.c
@@ -0,0 +1,515 @@
+/*
+* Routine pour Drag and drop sous MultiTos
+* source: D&D Atari, demo OEP (Alexander Lorenz)
+*
+* Struktur OEP (oep.apid): AES-ID der Applikation
+*
+* (Tab = 4)
+*/
+
+#ifdef __PUREC__
+#include <tos.h>
+#else
+#include <osbind.h>
+#include <mintbind.h>
+#include <signal.h>
+#endif
+
+#include <string.h>
+#include <stdio.h>
+
+#include "windom.h"
+#include "dragdrop.h"
+
+#ifndef EACCDN
+#define EACCDN (-36)
+#endif
+
+#ifndef FA_HIDDEN
+#define FA_HIDDEN 0x02
+#endif
+
+static char pipename[] = "U:\\PIPE\\DRAGDROP.AA";
+static long pipesig;
+
+/*
+* Routinen fr den Sender
+*/
+
+/*
+* Erzeugt Pipe fr D&D
+*
+* Eingabeparameter:
+* pipe - Pointer auf 2 Byte Buffer fr Pipeextension
+*
+* Ausgabeparameters:
+* keine
+*
+* Returnwert:
+* >0: Filehandle der Pipe
+* -1: Fehler beim Erzeugen der Pipe
+*/
+
+short ddcreate(short *pipe)
+{
+ long fd = -1;
+
+ pipename[17] = 'A';
+ pipename[18] = 'A' - 1;
+
+ do /* ouvre un pipe inoccup‚ */
+ {
+ pipename[18]++;
+ if (pipename[18] > 'Z')
+ {
+ pipename[17]++;
+ if (pipename[17] > 'Z')
+ break;
+ else
+ pipename[18] = 'A';
+ }
+
+ /* FA_HIDDEN fr Pipe notwendig! */
+
+ fd = Fcreate(pipename, FA_HIDDEN);
+
+ } while (fd == (long) EACCDN);
+
+ if (fd < 0L)
+ return(-1);
+
+ *pipe = (pipename[17] << 8) | pipename[18];
+
+
+ /* Signalhandler konfigurieren */
+
+ ddgetsig(&pipesig);
+
+
+ return((short) fd);
+}
+
+
+
+/*
+* Sendet AP_DRAGDROP an Empf„ngerapplikation
+*
+* Eingabeparameter:
+* apid - AES-ID der Emf„ngerapp.
+* fd - Filehandle der D&D-Pipe
+* winid - Handle des Zielfensters (0 fr Desktopfenster)
+* mx/my - Maus X und Y Koord.
+* (-1/-1 fr einen fake Drag&Drop)
+* kstate - Sondertastenstatus
+* pipename - Extension der D&D-Pipe
+*
+* Ausgabeparameter:
+* keine
+*
+* Returnwert:
+* >0: kein Fehler
+* -1: Empf„ngerapp. gibt DD_NAK zurck
+* -2: Empf„ngerapp. antwortet nicht (Timeout)
+* -3: Fehler bei appl_write()
+*/
+
+short ddmessage(short apid, short fd, short winid, short mx, short my, short kstate, short pipeid)
+{
+ char c;
+ short i, msg[8];
+ long fd_mask;
+
+
+ /* AES-Message define and post */
+
+ msg[0] = AP_DRAGDROP;
+ msg[1] = _AESapid;
+ msg[2] = 0;
+ msg[3] = winid;
+ msg[4] = mx;
+ msg[5] = my;
+ msg[6] = kstate;
+ msg[7] = pipeid;
+
+ i = appl_write(apid, 16, msg);
+
+ if (i == 0)
+ {
+ ddclose(fd);
+ return(-3);
+ }
+
+
+ /* receiver reaction */
+
+ fd_mask = (1L << fd);
+ i = Fselect(DD_TIMEOUT, &fd_mask, 0L, 0L);
+ if (!i || !fd_mask)
+ {
+ /* Timeout eingetreten */
+
+ ddclose(fd);
+ return(-2);
+ }
+
+
+ /* le recepteur refuse (lecture du pipe) */
+
+ if (Fread(fd, 1L, &c) != 1L)
+ {
+ ddclose(fd);
+ return(-1);
+ }
+
+ if (c != DD_OK)
+ {
+ ddclose(fd);
+ return(-1);
+ }
+
+ return(1);
+}
+
+
+
+/*
+* Liest die 8 "bevorzugten" Extensionen der Empf„ngerapplikation
+*
+* Eingabeparameter:
+* fd - Filehandle der D&D-Pipe
+*
+* Ausgabeparameters:
+* exts - 32 Bytebuffer fr die 8 bevorzugten Extensionen
+* der Zielapp.
+*
+* Returnwert:
+* >0: kein Fehler
+* -1: Fehler beim Lesen aus der Pipe
+*/
+
+short ddrexts(short fd, char *exts)
+{
+ if (Fread(fd, DD_EXTSIZE, exts) != DD_EXTSIZE)
+ {
+ ddclose(fd);
+ return(-1);
+ }
+
+ return(1);
+}
+
+
+
+/*
+* Testet, ob der Empf„nger einen Datentyp akzeptiert
+*
+* Eingabeparameter:
+* fd - Filehandle (von ddcreate())
+* ext - Zeiger auf Datentyp (4 Bytes zB. "ARGS")
+* text - Zeiger auf Datenbeschreibung (optional, zB. "DESKTOP args")
+* name - Zeiger auf Datendateiname (optional, zB. "SAMPLE.TXT")
+* size - Anzahl Bytes der zu sendenden Daten
+*
+* Ausgabeparameter:
+* keine
+*
+* Returnwert:
+* DD_OK - Empf„nger akzeptiert Datentyp
+* DD_NAK - Empf„nger brach Drag&Drop ab
+* DD_EXT - Empf„nger lehnt Datentyp ab
+* DD_LEN - Empf„nger kann Datenmenge nicht verarbeiten
+* DD_TRASH - Drop erfolgte auf Mlleimer
+* DD_PRINTER - Drop erfolgte auf Drucker
+* DD_CLIPBOARD - Drop erfolgte auf Clipboard
+*/
+
+short ddstry(short fd, char *ext, char *text, char *name, long size)
+{
+ char c;
+ short hdrlen, i;
+
+ /* 4 Bytes fr "ext", 4 Bytes fr "size",
+ 2 Bytes fr Stringendnullen */
+
+ hdrlen = (short) (4 + 4 + strlen(text)+1 + strlen(name)+1);
+
+
+ /* Header senden */
+
+ if (Fwrite(fd, 2L, &hdrlen) != 2L)
+ return(DD_NAK);
+
+ i = (short) Fwrite(fd, 4L, ext);
+ i += (short) Fwrite(fd, 4L, &size);
+ i += (short) Fwrite(fd, strlen(text)+1, text);
+ i += (short) Fwrite(fd, strlen(name)+1, name);
+
+ if (i != hdrlen)
+ return(DD_NAK);
+
+
+ /* auf die Antwort warten */
+
+ if (Fread(fd, 1L, &c) != 1L)
+ return(DD_NAK);
+
+ return(c);
+}
+
+
+
+/* Routinen fr Sender und Empf„nger */
+
+/*
+* Pipe schliežen (Drag&Drop beenden/abbrechen)
+*/
+
+void ddclose(short fd)
+{
+ /* Signalhandler restaurieren */
+
+ ddsetsig(pipesig);
+
+
+ Fclose(fd);
+}
+
+
+/*
+* Signalhandler fr D&D konfigurieren
+*
+* Eingabeparameter:
+* oldsig - Zeiger auf 4 Byte Puffer fr alten Handlerwert
+*
+* Ausgabeparameter:
+* keine
+*
+* Returnwerte:
+* keine
+*/
+
+void ddgetsig(long *oldsig)
+{
+ *oldsig = (long) Psignal(SIGPIPE, (void *) SIG_IGN);
+}
+
+
+/*
+* Signalhandler nach D&D restaurieren
+*
+* Eingabeparameter:
+* oldsig - Alter Handlerwert (von ddgetsig)
+*
+* Ausgabeparameter:
+* keine
+*
+* Returnwerte:
+* keine
+*/
+
+void ddsetsig(long oldsig)
+{
+ if (oldsig != -32L)
+ Psignal(SIGPIPE, (void *) oldsig);
+}
+
+
+
+/* Routinen fr Empf„nger */
+
+/*
+* Drag&Drop Pipe ”ffnen
+*
+* Eingabeparameter:
+* ddnam - Extension der Pipe (letztes short von AP_DRAGDROP)
+* ddmsg - DD_OK oder DD_NAK
+*
+* Ausgabeparameter:
+* keine
+*
+* Returnwerte:
+* >0 - Filehandle der Drag&Drop pipe
+* -1 - Drag&Drop abgebrochen
+*/
+
+short ddopen(short ddnam, char ddmsg)
+{
+ long fd;
+
+ pipename[17] = (ddnam & 0xff00) >> 8;
+ pipename[18] = ddnam & 0x00ff;
+
+ fd = Fopen(pipename, 2);
+
+ if (fd < 0L)
+ return(-1);
+
+
+ /* Signalhandler konfigurieren */
+
+ ddgetsig(&pipesig);
+
+
+ if (Fwrite((short) fd, 1L, &ddmsg) != 1L)
+ {
+ ddclose((short) fd);
+ return(-1);
+ }
+
+ return((short) fd);
+}
+
+
+
+/*
+* Schreibt die 8 "bevorzugten" Extensionen der Applikation
+*
+* Eingabeparameter:
+* fd - Filehandle der D&D-Pipe
+* exts - Liste aus acht 4 Byte Extensionen die verstanden
+* werden. Diese Liste sollte nach bevorzugten Datentypen
+* sortiert sein. Sollten weniger als DD_NUMEXTS
+* Extensionen untersttzt werden, muž die Liste mit
+* Nullen (0) aufgefllt werden!
+*
+* Ausgabeparameter:
+* keine
+*
+* Returnwert:
+* >0: kein Fehler
+* -1: Fehler beim Schreiben in die Pipe
+*/
+
+short ddsexts(short fd, char *exts)
+{
+ if (Fwrite(fd, DD_EXTSIZE, exts) != DD_EXTSIZE)
+ {
+ ddclose(fd);
+ return(-1);
+ }
+
+ return(1);
+}
+
+
+
+/*
+* N„chsten Header vom Sender holen
+*
+* Eingabeparameter:
+* fd - Filehandle der Pipe (von ddopen())
+*
+* Ausgabeparameters:
+* name - Zeiger auf Buffer fr Datenbeschreibung (min. DD_NAMEMAX!)
+* file - Zeiger auf Buffer fr Datendateiname (min. DD_NAMEMAX!)
+* whichext- Zeiger auf Buffer fr Extension (4 Bytes)
+* size - Zeiger auf Buffer fr Datengr”že (4 Bytes)
+*
+* Returnwert:
+* >0: kein Fehler
+* -1: Sender brach Drag&Drop ab
+*
+* On lit dans le pipe qui normalement est constitu‚ de:
+* 1 short: taille du header
+* 4 CHAR: type de donn‚e (extension)
+* 1 long: taille des donn‚es
+* STRING: description des donn‚es
+* STRING: nom du fichiers
+* soit au minimun 11 octets (cas ou les string sont r‚duites … \0)
+* les string sont limit‚ a 128 octets
+*/
+
+short ddrtry(short fd, char *name, char *file, char *whichext, long *size)
+{
+ char buf[DD_NAMEMAX * 2];
+ short hdrlen, i, len;
+
+ if (Fread(fd, 2L, &hdrlen) != 2L)
+ return(-1);
+
+
+ if (hdrlen < 9) /* il reste au minimum 11 - 2 = 9 octets a lire */
+ {
+ /* sollte eigentlich nie passieren */
+
+ return(-1); /* erreur taille incorrecte */
+ }
+
+ if (Fread(fd, 4L, whichext) != 4L) /* lecture de l'extension */
+ return(-1);
+
+ if (Fread(fd, 4L, size) != 4L) /* lecture de la longueurs des donn‚es */
+ return(-1);
+
+ hdrlen -= 8; /* on a lu 8 octets */
+
+ if (hdrlen > DD_NAMEMAX*2)
+ i = DD_NAMEMAX*2;
+ else
+ i = hdrlen;
+
+ len = i;
+
+ if (Fread(fd, (long) i, buf) != (long) i)
+ return(-1);
+
+ hdrlen -= i;
+
+ strncpy(name, buf, DD_NAMEMAX);
+
+ i = (short) strlen(name) + 1;
+
+ if (len - i > 0)
+ strncpy(file, buf + i, DD_NAMEMAX);
+ else
+ file[0] = '\0';
+
+
+ /* weitere Bytes im Header in den Mll */
+
+ while (hdrlen > DD_NAMEMAX*2)
+ {
+ if (Fread(fd, DD_NAMEMAX*2, buf) != DD_NAMEMAX*2)
+ return(-1);
+
+ hdrlen -= DD_NAMEMAX*2;
+ }
+
+ if (hdrlen > 0)
+ {
+ if (Fread(fd, (long) hdrlen, buf) != (long) hdrlen)
+ return(-1);
+ }
+
+ return(1);
+}
+
+
+
+/*
+* Sendet der Senderapplikation eine 1 Byte Antwort
+*
+* Eingabeparameter:
+* fd - Filehandle der Pipe (von ddopen())
+* ack - Byte das gesendet werden soll (zB. DD_OK)
+*
+* Ausgabeparameter:
+* keine
+*
+* Returnwert:
+* >0: kein Fehler
+* -1: Fehler (die Pipe wird automatisch geschlossen!)
+*/
+
+short ddreply(short fd, char ack)
+{
+ if (Fwrite(fd, 1L, &ack) != 1L)
+ {
+ ddclose(fd);
+ return(-1);
+ }
+
+ return(1);
+}
+
+
diff --git a/atari/dragdrop.h b/atari/dragdrop.h
new file mode 100755
index 000000000..10bb780c9
--- /dev/null
+++ b/atari/dragdrop.h
@@ -0,0 +1,51 @@
+/*
+* MultiTOS Drag&Drop Header file
+*/
+
+/* Rckgabewerte von ddstry() etc. */
+
+#define DD_OK 0
+#define DD_NAK 1
+#define DD_EXT 2
+#define DD_LEN 3
+#define DD_TRASH 4
+#define DD_PRINTER 5
+#define DD_CLIPBOARD 6
+
+
+/* Timeout in Millisekunden (4 sek.) */
+
+#define DD_TIMEOUT 4000
+
+
+/* Anzahl der Extensionen/Bytes der "bevorzugten Extensionen" */
+
+#define DD_NUMEXTS 8
+#define DD_EXTSIZE 32L
+
+
+/* Max. L„nge des Drag&Drop name/file */
+
+#define DD_NAMEMAX 128
+
+
+/* Max. L„nge des Drag&Drop Header */
+
+#define DD_HDRMAX (8+DD_NAMEMAX+DD_NAMEMAX)
+
+
+/*
+* Funktionsdeklarationen
+*/
+
+short ddcreate(short *pipe);
+short ddmessage(short apid, short fd, short winid, short mx, short my, short kstate, short pipename);
+short ddrexts(short fd, char *exts);
+short ddstry(short fd, char *ext, char *text, char *name, long size);
+void ddclose(short fd);
+void ddgetsig(long *oldsig);
+void ddsetsig(long oldsig);
+short ddopen(short ddnam, char ddmsg);
+short ddsexts(short fd, char *exts);
+short ddrtry(short fd, char *name, char *file, char *whichext, long *size);
+short ddreply(short fd, char ack);
diff --git a/atari/scripts/mkpkg.sh b/atari/scripts/mkpkg.sh
index 2263ad825..a5821c974 100755
--- a/atari/scripts/mkpkg.sh
+++ b/atari/scripts/mkpkg.sh
@@ -152,7 +152,7 @@ http_proxy_auth_user:
http_proxy_auth_pass:
suppress_curl_debug:1
font_size:120
-font_min_size:80
+font_min_size:110
#font_sans:Sans
#font_serif:Serif
#font_mono:Monospace
@@ -183,10 +183,10 @@ window_screen_width:0
window_screen_height:0
scale:100
incremental_reflow:1
-min_reflow_period:200
+min_reflow_period:2000
tree_icons_dir:./res/icons
core_select_menu:1
-max_fetchers:16
+max_fetchers:8
max_fetchers_per_host:2
max_cached_fetch_handles:6
target_blank:1
@@ -205,11 +205,9 @@ downloads_clear:0
request_overwrite:1
downloads_directory:./download
url_file:./res/URLs
-button_type:2
disable_popups:0
-disable_plugins:0
history_age:0
-hover_urls:0
+hover_urls:1
focus_new:0
new_blank:0
hotlist_path:./res/Hotlist