Monday, 30 May 2016
Re: [Rpcemu] FreeBSD
> Attempting to build rpcemu on FreeBSD bails out with "use of
> undeclared identifier 'off64_t'; did you mean 'off_t'?" in cdrom-iso.c
>
> Basic incompatibility with BSD or something that can be fixed?
Perhaps for portability it should be using off_t and configure Linux to
use 64 bits for that, even for a 32-bit target.
https://lists.freebsd.org/pipermail/freebsd-questions/2008-October/183455.html
http://www.gnu.org/software/libc/manual/html_node/File-Position-Primitive.html
Cheers, Ralph.
_______________________________________________
Rpcemu mailing list
Rpcemu@riscos.info
http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu
Sunday, 29 May 2016
[Rpcemu] FreeBSD
Basic incompatibility with BSD or something that can be fixed?
_______________________________________________
Rpcemu mailing list
Rpcemu@riscos.info
http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu
Wednesday, 25 May 2016
[Rpcemu] Defunct ROM site link on RPCEmu web site
Tuesday, 24 May 2016
Moving to core build system
the same system as used for all the libraries and tools [1]. If any
developers have feedback on this please ensure those get added to the
wiki page, I am not making these changes arbitrarily and am happy to
receive feedback, what has been done so far is uncontroversial and
generally agreed.
Part of this activity involves updating the source code layout to be
more maintainable. As I proceed with these changes it has become
apparent that many frontends are pulling in headers for core
interfaces they do not use.
It would be immensely helpful if frontend maintainers could look at
their *core* header usage (headers not under frontends directory) and
remove any that are unnecessary. It is especially difficult when
frontend headers include core headers because it is no longer clear
which frontend module is actually using an interface, please can we
avoid this pattern.
Also I have noticed a tendency within frontends to assume they cannot
change core functionality to fix a problem, we are not alone in this
platform problem[2]. I just wanted to remind developers that just
because the source code layout segregates the browser that they are at
liberty to improve all interfaces.
[1] http://wiki.netsurf-browser.org/NetSurf_Corebuild
[2] https://lwn.net/Articles/443531/
--
Regards Vincent
http://www.kyllikki.org/
Tuesday, 17 May 2016
Re: how to make Netsurf forget its logged-in state
> On 12 May 2016 as I do recall,
> Jim Nagel wrote:
>> Harriet Bazley wrote on 12 May:
>> Cache: Is there an easy way to clear the Netsurf cache? Where is it?
>>
> I don't know about 'easy'...
> It's a directory in !Scrap: <Wimp$ScrapDir>.WWW.NetSurf.Cache
> It can be deleted manually, which may or may not help.
There's a nice little utility called !ShowScrap that opens the
IDdisabled directory for you (then WWW > NetSurf > Cache as above).
I keep it on my launcher (!MenuBar).
--
Richard Porter http://www.minijem.plus.com/
Skype: minijem2 mailto:ricp@minijem.plus.com
I don't want a "user experience" - I just want stuff that works.
Re: how to make Netsurf forget its logged-in state
Jim Nagel wrote:
> Harriet Bazley wrote on 12 May:
> > Clearing the cache/cookie file?
>
> Thanks.
>
> Cookies: none involved -- it's my own site I'm talking about, and it
> doesn't make any cookies.
>
> Cache: Is there an easy way to clear the Netsurf cache? Where is it?
>
I don't know about 'easy'...
It's a directory in !Scrap: <Wimp$ScrapDir>.WWW.NetSurf.Cache
It can be deleted manually, which may or may not help.
--
Harriet Bazley == Loyaulte me lie ==
Sattinger's Law: It works better if you plug it in.
Re: Facebook
Baxendale <thebears@sarno.freeserve.co.uk> wrote:
> In message <5580b6b6a9JohnRW@ukgateway.net> John Williams
> <JohnRW@ukgateway.net> wrote:
> >
> > I've just discovered that I can get Facebook up in NetSurf if I
> > substitute "m" for "www" in the URL.
> >
> > That'll save a lot of wear and tear on the memory stick to get photos
> > of the new granddaughter into my RISC OS e-mails for the elderly
> > relative (90) that sends cheques, not to mention my time!
> >
> > Forgive me if you already knew ...
> >
> > John
> >
> I was surprised the other day to discover that Facebook renders OK with
> recent builds. CI#3537 ATM. An organisation I am with has a page and
> it just used to give a blank page but not now. Takes a while to render
> on this Kinetic Strong ARM. Thanks guys.
Mobile sites can be less demanding. This works too:
http://m.twitter.com
--
Tim Hill
www.timil.com
web sites * multimedia * training
Monday, 16 May 2016
Re: Facebook
John Williams <JohnRW@ukgateway.net> wrote:
>
> I've just discovered that I can get Facebook up in NetSurf if I substitute
> "m" for "www" in the URL.
>
> That'll save a lot of wear and tear on the memory stick to get photos of
> the new granddaughter into my RISC OS e-mails for the elderly relative (90)
> that sends cheques, not to mention my time!
>
> Forgive me if you already knew ...
>
> John
>
I was surprised the other day to discover that Facebook renders OK
with recent builds. CI#3537 ATM. An organisation I am with has a page
and it just used to give a blank page but not now. Takes a while to
render on this Kinetic Strong ARM. Thanks guys.
TTFN
--
Geoff.
Using Acorn StrongARM Kinetic RiscPC.
Oxymoron of the day: "Tight Slacks"
[gccsdk] GnuTLS/autobuilder/4.7.4 and other findings
The TLS for gmail failed to work some time ago, but I have found building a newer libgnutls(from Jessie) and rebuilding !POP3S as worked, and as long as you are reading this, !SMTPS is now working also.
A quick tip here for a simple way to avoid the repeating of downloading the debian archives when the autobuilder fails.
I can recall there being another way, But by putting the downloaded archive in the root directory of my Iyonix, running !Ftps and using
AB_URL=ftp://<iyonix ip>/archive name
in setvars and the problem is solved without changing settings in the autobuilder globally.
I think I've found that if libtasn1 have not been built, gnutls will use it's internal version and there is no need to link to libtasn1 or libintl when compiling SMTPS/POP3S also.
libcrypt is no longer needed with this version either.
So for depends I only had libnettle and libgmp.
It could depend on libgnutls end use, the full external libs version is probably better.
To get a pic free libgnutls.a I had to specify --disable-shared
The result was I still got the shared libraries and then the archive passed the Libtool check.
The latest gnutls30 setvars uses --with-pic=no , sounds better.
--with-libnettle-prefix=$GCCSDK_INSTALL_ENV
was getting ignored so I deleted that
As libtool installs libraries it checks them, and it found that libgnutls.a had pic left in, causing an error. It is worth noting that ro-make install on its own would miss this check.
Note that building libgnutls with the 4.7.4 crosscompiler means that the compiling of SMTPS/POP3S has to be done with GCC 4.7.4 (or the crosscompiler I guess) as there is lack of support for flockfile and funlockfile in the earlier versions. I dont know what would have happened if I had used the 4.1.2 setup, but where there is encryption involved the later compiler may give the option for a boost for some hardware.
Ron M.
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Re: KolibriOS Port for Netsurf
* Copyright 2016 Nina Kalinina <ninacarrot@ya.ru>
* Copyright 2016 Ashish Gupta <ashmew2@gmail.com>
*
* This file is a part of libnsfb, http://www.netsurf-browser.org/
* Licenced under the MIT License,
* http://www.opensource.org/licenses/mit-license.php
*/
#include <stdbool.h>
#include <stdlib.h>
#include "libnsfb.h"
#include "libnsfb_event.h"
#include "libnsfb_plot.h"
#include "libnsfb_plot_util.h"
#include "nsfb.h"
#include "surface.h"
#include "palette.h"
#include "plot.h"
#include "cursor.h"
/* Define codes for KolibriOS' events */
#define EVENT_REDRAW (1 << 0)
#define EVENT_KEY (1 << 1)
#define EVENT_BUTTON (1 << 2)
#define EVENT_END_REQUEST (1 << 3)
#define EVENT_DESKTOP_BACK_DRAW (1 << 4)
#define EVENT_MOUSE_CHANGE (1 << 5)
#define EVENT_IPC (1 << 6)
#define EVENT_NETWORK (1 << 7)
#define EVENT_INACTIVE_NO_CURSOR (1 << 30)
#define EVENT_INACTIVE_NO_MOUSE (1 << 31)
/* Pixel array which we need to pass around. */
unsigned char * pixels;
unsigned previous_mouse_position, previous_mouse_buttons;
int kolibri_get_button_id(void)
{
uint16_t __ret;
__asm__ __volatile__ (
"int $0x40"
:"=a"(__ret)
:"0"(17));
if ((__ret & 0xFF) == 0) {
return (__ret >> 8) & 0xFF;
}
else {
return -1;
}
}
int kolibri_wait_for_event(void)
{
uint32_t __ret;
__asm__ __volatile__ ("int $0x40":"=a"(__ret):"0"(10));
return __ret;
}
int kolibri_get_pressed_key(void)
{
uint16_t __ret;
__asm__ __volatile__ ("int $0x40":"=a"(__ret):"0"(2));
if (!(__ret & 0xFF)) {
return (__ret >> 8) & 0xFF;
}
else {
return 0;
}
}
void kolibri_define_window(uint16_t x1, uint16_t y1, uint16_t xsize,
uint16_t ysize, uint32_t body_color, uint32_t grab_color,
uint32_t frame_color)
{
uint32_t a, b;
a = (x1 << 16) | xsize;
b = (y1 << 16) | ysize;
__asm__ __volatile__ ("int $0x40"
::"a"(0),
"b"(a),
"c"(b),
"d"(body_color),
"S"(grab_color),
"D"(frame_color));
}
void kolibri_window_redraw(int status)
{
__asm__ __volatile__ ("int $0x40"::"a"(12),"b"(status));
}
void kolibri_set_wanted_events(uint32_t ev)
{
__asm__ __volatile__ ("int $0x40"::"a"(40),"b"(ev));
}
inline void f65_32bpp(unsigned x, unsigned y, unsigned w, unsigned h, char *d)
{
__asm__ __volatile__ ("pusha");
__asm__ __volatile__ ("nop"::"D"(0), "c"(w*65536 + h), "d"(x*65536 + y),
"b"(d));
__asm__ __volatile__ ("xor %eax, %eax");
__asm__ __volatile__ ("movl %eax, %ebp");
__asm__ __volatile__ ("pushl $32");
__asm__ __volatile__ ("popl %esi");
__asm__ __volatile__ ("int $0x40"::"a"(65));
__asm__ __volatile__ ("popa");
}
unsigned kolibri_mouse_get_relative(void)
{
unsigned error;
__asm__ __volatile__ ("int $0x40":"=a"(error):"a"(37), "b"(1));
return error;
}
unsigned kolibri_mouse_get_buttonpress(void)
{
unsigned error;
__asm__ __volatile__ ("int $0x40":"=a"(error):"a"(37), "b"(2));
return error;
}
unsigned kolibri_mouse_get_scrolldata(void)
{
unsigned error;
__asm__ __volatile__ ("int $0x40":"=a"(error):"a"(37), "b"(7));
return error;
}
/* timeout is in 1/100 seconds */
unsigned kolibri_wait_for_event_with_timeout(int timeout)
{
unsigned event;
__asm__ __volatile__ ("int $0x40":"=a"(event):"a"(23), "b"(timeout));
return event;
}
unsigned kolibri_scancodes(void)
{
unsigned error;
__asm__ __volatile__ ("int $0x40":"=a"(error):"a"(66), "b"(1), "c"(1));
return error;
}
void kolibri_redraw(nsfb_t *nsfb)
{
f65_32bpp(0, 0, nsfb->width, nsfb->height, pixels + 1);
}
unsigned kolibri_skin_get_height(void)
{
unsigned error;
__asm__ __volatile__ ("int $0x40":"=a"(error):"a"(48), "b"(4));
return error;
}
unsigned kolibri_area(char *data)
{
unsigned error;
__asm__ __volatile__ ("int $0x40":"=a"(error):"a"(9), "b"(data),
"c"(0xffffffff));
return error;
}
void kolibri_fb_redraw(nsfb_t *nsfb)
{
kolibri_window_redraw(1);
kolibri_define_window(100, 100, nsfb->width + 9,
nsfb->height + kolibri_skin_get_height(), 0x74000080,
0x800000FF, "Netsurf for KolibriOS");
debug_board_write_str("f65 is mighty with 32 bpp!\n");
/* Here put image pixels! it's 32bpp */
f65_32bpp(0, 0, nsfb->width, nsfb->height, pixels + 1);
kolibri_window_redraw(2);
}
static int kolibri_surface_set_geometry(nsfb_t *nsfb, int width, int height,
enum nsfb_format_e format)
{
/* fail if surface already initialised */
if (nsfb->surface_priv != NULL)
return -1;
nsfb->width = width;
nsfb->height = height;
nsfb->format = format;
/* We add one more byte to balance XBGR to BGRX for KolibriOS. */
/* *4 because we only support 32bpp */
pixels = (char *)malloc(width * height * 4 + 1);
/* select default sw plotters for format */
/* Fail if plotter selection fails */
if (select_plotters(nsfb) == false) {
return -1;
}
return 0;
}
static int kolibri_surface_initialise(nsfb_t *nsfb)
{
enum nsfb_format_e fmt;
kolibri_scancodes();
previous_mouse_position = 0;
previous_mouse_buttons = 0;
debug_board_write_str("Kolibri Initialise in libnsfb.\n");
if (nsfb->surface_priv != NULL) {
debug_board_write_str("Surface already "
"has private surface\n. Abort\n");
return -1;
}
nsfb->surface_priv = pixels;
nsfb->ptr = pixels;
nsfb->linelen = (nsfb->width * nsfb->bpp) / 8;
debug_board_write_str("Redraw\n");
kolibri_redraw(nsfb);
/* This is for setting flags for MCALL 40 for events read by a window */
kolibri_set_wanted_events(EVENT_REDRAW |
EVENT_KEY |
EVENT_BUTTON |
EVENT_MOUSE_CHANGE |
EVENT_INACTIVE_NO_CURSOR |
EVENT_INACTIVE_NO_MOUSE |
EVENT_NETWORK);
return 0;
}
static int kolibri_surface_finalise(nsfb_t *nsfb)
{
nsfb = nsfb;
exit(1);
return 0;
}
int key_is_up(int scancode)
{
return (scancode & 0x80) >> 7;
}
int scan2key(int scan)
{
int keycode = scan & 0x0FF7F;
/* MAIN KB - NUMS */
if (keycode == 0x02) return NSFB_KEY_1;
if (keycode == 0x03) return NSFB_KEY_2;
if (keycode == 0x04) return NSFB_KEY_3;
if (keycode == 0x05) return NSFB_KEY_4;
if (keycode == 0x06) return NSFB_KEY_5;
if (keycode == 0x07) return NSFB_KEY_6;
if (keycode == 0x08) return NSFB_KEY_7;
if (keycode == 0x09) return NSFB_KEY_8;
if (keycode == 0x0A) return NSFB_KEY_9;
if (keycode == 0x0B) return NSFB_KEY_0;
if (keycode == 0x10) return NSFB_KEY_q;
if (keycode == 0x11) return NSFB_KEY_w;
if (keycode == 0x12) return NSFB_KEY_e;
if (keycode == 0x13) return NSFB_KEY_r;
if (keycode == 0x14) return NSFB_KEY_t;
if (keycode == 0x15) return NSFB_KEY_y;
if (keycode == 0x16) return NSFB_KEY_u;
if (keycode == 0x17) return NSFB_KEY_i;
if (keycode == 0x18) return NSFB_KEY_o;
if (keycode == 0x19) return NSFB_KEY_p;
if (keycode == 0x1A) return NSFB_KEY_LEFTBRACKET;
if (keycode == 0x1B) return NSFB_KEY_RIGHTBRACKET;
if (keycode == 0x1E) return NSFB_KEY_a;
if (keycode == 0x1F) return NSFB_KEY_s;
if (keycode == 0x20) return NSFB_KEY_d;
if (keycode == 0x21) return NSFB_KEY_f;
if (keycode == 0x22) return NSFB_KEY_g;
if (keycode == 0x23) return NSFB_KEY_h;
if (keycode == 0x24) return NSFB_KEY_j;
if (keycode == 0x25) return NSFB_KEY_k;
if (keycode == 0x26) return NSFB_KEY_l;
if (keycode == 0x2C) return NSFB_KEY_z;
if (keycode == 0x2D) return NSFB_KEY_x;
if (keycode == 0x2E) return NSFB_KEY_c;
if (keycode == 0x2F) return NSFB_KEY_v;
if (keycode == 0x30) return NSFB_KEY_b;
if (keycode == 0x31) return NSFB_KEY_n;
if (keycode == 0x32) return NSFB_KEY_m;
/* TODO: Add a TAB Key here to cycle through fields */
if (keycode == 0x27) return NSFB_KEY_SEMICOLON;
if (keycode == 0x28) return NSFB_KEY_QUOTEDBL;
if (keycode == 0x2B) return NSFB_KEY_BACKSLASH;
if (keycode == 0x33) return NSFB_KEY_COMMA;
if (keycode == 0x34) return NSFB_KEY_PERIOD;
if (keycode == 0x35) return NSFB_KEY_SLASH;
if (keycode == 0x0C) return NSFB_KEY_MINUS;
if (keycode == 0x0D) return NSFB_KEY_EQUALS;
if (keycode == 0x0E) return NSFB_KEY_BACKSPACE;
if (keycode == 0xE053) return NSFB_KEY_DELETE;
if (keycode == 0x2A) return NSFB_KEY_LSHIFT;
if (keycode == 0x36) return NSFB_KEY_RSHIFT;
if (keycode == 0x1C) return NSFB_KEY_RETURN;
if (keycode == 0xE04B) return NSFB_KEY_LEFT;
if (keycode == 0xE04D) return NSFB_KEY_RIGHT;
if (keycode == 0xE048) return NSFB_KEY_UP;
if (keycode == 0xE050) return NSFB_KEY_DOWN;
if (keycode == 0x3F) return NSFB_KEY_F5;
if (keycode == 0x39) return NSFB_KEY_SPACE;
if (keycode == 0x01) return NSFB_KEY_ESCAPE;
if (keycode == 0x38) return NSFB_KEY_LALT;
if (keycode == 0x1D) return NSFB_KEY_LCTRL;
if (keycode == 0xE038) return NSFB_KEY_RALT;
if (keycode == 0xE01D) return NSFB_KEY_RCTRL;
if (keycode == 0xE047) return NSFB_KEY_HOME;
if (keycode == 0xE04F) return NSFB_KEY_END;
if (keycode == 0xE049) return NSFB_KEY_PAGEUP;
if (keycode == 0xE051) return NSFB_KEY_PAGEDOWN;
return NSFB_KEY_UNKNOWN;
}
/* TODO: Useful for future implementation */
int ispowerkey(int scancode)
{
return (scancode & 0xE000) >> 15;
}
static bool kolibri_surface_input(nsfb_t *nsfb, nsfb_event_t *event,
int timeout)
{
int got_event;
static int scanfull = 0;
char event_num[20];
nsfb = nsfb; /* unused */
if (timeout >= 0) {
got_event = kolibri_wait_for_event_with_timeout(timeout / 10);
} else {
got_event = kolibri_wait_for_event();
}
if (got_event == 0) {
return false;
}
/* sprintf(event_num, "got_event = %d\n", got_event); */
/* debug_board_write_str(event_num); */
event->type = NSFB_EVENT_NONE;
/* redraw event */
if (got_event == 1) {
kolibri_fb_redraw(nsfb);
}
/* keypress event */
if (got_event == 2) {
int scanz = kolibri_get_pressed_key();
if (scanz == 0xE0) {
scanfull = 0xE000;
return true;
} else {
scanfull = scanfull + scanz;
}
if (key_is_up(scanfull) == 1) {
event->type = NSFB_EVENT_KEY_UP;
} else {
event->type = NSFB_EVENT_KEY_DOWN;
}
event->value.keycode = scan2key(scanfull);
scanfull = 0;
return true;
}
/* button press event */
if (got_event == 3) {
if (kolibri_get_button_id() == 1)
kolibri_surface_finalise(nsfb);
return true;
}
/* mouse event */
if (got_event == 6) {
unsigned z = kolibri_mouse_get_relative();
unsigned b = kolibri_mouse_get_buttonpress();
int s = kolibri_mouse_get_scrolldata();
if (previous_mouse_position != z) {
event->type = NSFB_EVENT_MOVE_ABSOLUTE;
event->value.vector.x = (z & 0xffff0000) >> 16;
event->value.vector.y = z & 0xffff;
event->value.vector.z = 0;
previous_mouse_position = z;
}
else if (previous_mouse_buttons != b) {
unsigned diff = previous_mouse_buttons^b;
/* All high bits in the XOR represent bits that
changed */
if (diff & EVENT_REDRAW) {
/* Left mouse button */
event->value.keycode = NSFB_KEY_MOUSE_1;
if (b & EVENT_REDRAW) {
event->type = NSFB_EVENT_KEY_DOWN;
} else {
event->type = NSFB_EVENT_KEY_UP;
}
} else if (diff & EVENT_KEY) {
/* Right mouse button */
event->value.keycode = NSFB_KEY_MOUSE_3;
if (b & EVENT_KEY) {
event->type = NSFB_EVENT_KEY_DOWN;
} else {
event->type = NSFB_EVENT_KEY_UP;
}
} else if (diff & EVENT_BUTTON) {
/* Middle mouse button */
event->value.keycode = NSFB_KEY_MOUSE_2;
if (b & EVENT_BUTTON) {
event->type = NSFB_EVENT_KEY_DOWN;
} else {
event->type = NSFB_EVENT_KEY_UP;
}
} else if (diff & EVENT_END_REQUEST) {
/* 4th mouse button (forward) */
event->value.keycode = NSFB_KEY_MOUSE_4;
if (b & EVENT_END_REQUEST) {
event->type = NSFB_EVENT_KEY_DOWN;
} else {
event->type = NSFB_EVENT_KEY_UP;
}
} else if (diff & EVENT_DESKTOP_BACK_DRAW) {
/* 5th mouse button (back) */
event->value.keycode = NSFB_KEY_MOUSE_5;
if (b & EVENT_DESKTOP_BACK_DRAW) {
event->type = NSFB_EVENT_KEY_DOWN;
} else {
event->type = NSFB_EVENT_KEY_UP;
}
} else {
/*The Event 6 did not match any handled cases*/
char diffstr[40];
sprintf(diffstr, "Unhandled case."
"Previous_mouse_buttons^b is :"
"%u", diff);
debug_board_write_str(diffstr);
}
previous_mouse_buttons = b;
}
else if (s != 0) {
short int vert = s & 0xffff;
short int hori = s >> 16;
event->type = NSFB_EVENT_KEY_DOWN;
if (vert != 0) {
/*Handle vertical scroll*/
if (vert > 0) /*SCROLL DOWN*/
event->value.keycode = NSFB_KEY_MOUSE_5;
else /*SCROLL UP*/
event->value.keycode = NSFB_KEY_MOUSE_4;
}
else {
/* TODO: Handle Horizontal scroll here */
}
}
return true;
}
}
static int kolibri_surface_claim(nsfb_t *nsfb, nsfb_bbox_t *box)
{
/* TODO: Convert to full function from stub */
/*
if ((cursor != NULL) &&
(cursor->plotted == true) &&
(nsfb_plot_bbox_intersect(box, &cursor->loc))) {
nsfb_cursor_clear(nsfb, cursor);
}
*/
return 0;
}
static int kolibri_surface_cursor(nsfb_t *nsfb, struct nsfb_cursor_s *cursor)
{
/* Convert to full function from stub */
return true;
}
static int kolibri_surface_update(nsfb_t *nsfb, nsfb_bbox_t *box)
{
/* Do the window redraw here */
kolibri_redraw(nsfb);
return 0;
}
const nsfb_surface_rtns_t kolibri_rtns = {
.initialise = kolibri_surface_initialise,
.finalise = kolibri_surface_finalise,
.input = kolibri_surface_input,
.claim = kolibri_surface_claim,
.update = kolibri_surface_update,
.cursor = kolibri_surface_cursor,
.geometry = kolibri_surface_set_geometry,
};
NSFB_SURFACE_DEF(kolibri, NSFB_SURFACE_KOLIBRI, &kolibri_rtns)
Hi Michael.
Thanks for the review of the surface. I have fixed the issues you mentioned.
It just seems better to stick to the Netsurf code style as much as possible.
The revise file is attached to this mail. It can also be found on github[1].
>> static int kolibri_surface_claim(nsfb_t *nsfb, nsfb_bbox_t *box)
>> {
>> /* TODO: Convert to full function from stub */
>>
>> /*
>> if ((cursor != NULL) &&
>> (cursor->plotted == true) &&
>> (nsfb_plot_bbox_intersect(box, &cursor->loc))) {
>> nsfb_cursor_clear(nsfb, cursor);
>> }
>> */
>>
>> return 0;
>> }
>
>
> The framebuffer front end normally renders its own mouse pointer.
> From this, I guess you're relying on the pointer from the KolibriOS desktop.
>
> This should work for the most part, but I'm not sure you'll be able to
> do things like make the pointer change shape when hovering over a link
> unless we extend the nsfb surface API.
This isn't high priority (or even required) atm, so I think It's best
to let the stub remain for a future maintainer (possibly myself) in
the hopes that it will be eventually fixed.
I'll wait for Vince's opinion on this.
Once that's done and I get Netsurf git access, I'll start moving the code.
Thank you, everyone!
Regards,
Ashish Gupta
[1] : https://github.com/ashmew2/nskolibrios/blob/nskolibrios/libnsfb/src/surface/kolibri.c
Re: KolibriOS Port for Netsurf
> Daniel, can we get branch commit access for Ashish on the NetSurf git?
Yep.
Ashish: You need to provide to me (by direct email please) your
legal name, chosen email address, and attached to that mail I need
an SSH *public* key, either RSA of at least 2048bit length, or ECDSA of
at least 256bit length. Finally I'll need a username you'd prefer
to have on the git server. I'll default to 'ashmew2' unless you
say otherwise.
If you can provide that, I should be able to set up your user pretty
soon.
D.
--
Daniel Silverstone http://www.netsurf-browser.org/
PGP mail accepted and encouraged. Key Id: 3CCE BABE 206C 3B69
Sunday, 15 May 2016
"m" for "www" in the URL.
That'll save a lot of wear and tear on the memory stick to get photos of
the new granddaughter into my RISC OS e-mails for the elderly relative (90)
that sends cheques, not to mention my time!
Forgive me if you already knew ...
John
--
| John Williams
| johnrw@ukgateway.net
Names for Soul Band:- Soul Suppliers *
Re: KolibriOS Port for Netsurf
> My nick on #netsurf on Freenode : ashmew2
Hi, Ashish!
Thanks for doing a NetSurf port for KolibriOS.
> This is the first of a few patches / additions to the netsurf code
> base to fully support the KolibriOS port and eventually merge to the
> Jenkins CI.
> With that said, could someone review the libnsfb surface for KolibriOS
> ? I've tried to stick to the Netsurf code style guide as much as
> possible but also drew some inspiration from the already existing
> surfaces. Once this is finalized, I'll patch the libnsfb Makefile as
> well.
OK, I will comment in line below.
I'm more familiar with the libnsfb plot code, rather than the surface
handlers, so perhaps it would be worth Vince having a look. It looked
fine to me.
> I've attached the kolibri.c file to this email. The same file is also
> available on github at the primary development repository[1] . If you
> are interested in the progress, the forum thread on KolibriOS Board[2]
> will help you understand more. If it is more convenient for you, you
> can also comment on github directly (Let me know, so I can grant you
> rights as required).
Daniel, can we get branch commit access for Ashish on the NetSurf git?
> /*
> * Copyright 2016 Nina Kalinina <ninacarrot@ya.ru>
> * Copyright 2016 Ashish Gupta <ashmew2@gmail.com>
> *
> * This file is a part of libnsfb, http://www.netsurf-browser.org/
> * Licenced under the MIT License,
> * http://www.opensource.org/licenses/mit-license.php
> */
>
> #include <stdbool.h>
> #include <stdlib.h>
>
> #include "libnsfb.h"
> #include "libnsfb_event.h"
> #include "libnsfb_plot.h"
> #include "libnsfb_plot_util.h"
>
> #include "nsfb.h"
> #include "surface.h"
> #include "palette.h"
> #include "plot.h"
> #include "cursor.h"
>
> /* Define codes for KolibriOS' events */
> #define EVENT_REDRAW 0x00000001
> #define EVENT_KEY 0x00000002
> #define EVENT_BUTTON 0x00000004
> #define EVENT_END_REQUEST 0x00000008
> #define EVENT_DESKTOP_BACK_DRAW 0x00000010
> #define EVENT_MOUSE_CHANGE 0x00000020
> #define EVENT_IPC 0x00000040
NetSurf style is usually:
#define EVENT_REDRAW (1 << 0)
#define EVENT_KEY (1 << 1)
#define EVENT_BUTTON (1 << 2)
#define EVENT_END_REQUEST (1 << 3)
#define EVENT_DESKTOP_BACK_DRAW (1 << 4)
#define EVENT_MOUSE_CHANGE (1 << 5)
#define EVENT_IPC (1 << 6)
I'd add defines for the other bits which are set in the code later, too:
#define WHATEVER_0 (1 << 7)
#define WHATEVER_1 (1 << 30)
#define WHATEVER_2 (1 << 31)
> /* Pixel array which we need to pass around. */
> unsigned char * pixels;
> unsigned previous_mouse_position, previous_mouse_buttons;
>
> int kolibri_get_button_id(void)
> {
> uint16_t __ret;
> __asm__ __volatile__ (
> "int $0x40"
> :"=a"(__ret)
> :"0"(17));
>
> if((__ret & 0xFF) == 0)
> return (__ret >> 8) & 0xFF;
> else
> return -1;
> }
NetSurf style is to have a space between keyword and '('., and to
use {...} blocks even for single lines.
if ((__ret & 0xFF) == 0) {
return (__ret >> 8) & 0xFF;
} else {
return -1;
}
I am not personally too bothered about style in frontend-specific code,
so its up to you if you want to change this sort of thing.
> /*This is for setting flags for mcall40 for events read by a window*/
> kolibri_set_wanted_events(EVENT_REDRAW |
> EVENT_KEY |
> EVENT_BUTTON |
> EVENT_MOUSE_CHANGE |
> (1 << 30) | (1 << 31) | (1 << 7));
These are the bits that could be #defined.
> static int kolibri_surface_claim(nsfb_t *nsfb, nsfb_bbox_t *box)
> {
> /* TODO: Convert to full function from stub */
>
> /*
> if ((cursor != NULL) &&
> (cursor->plotted == true) &&
> (nsfb_plot_bbox_intersect(box, &cursor->loc))) {
> nsfb_cursor_clear(nsfb, cursor);
> }
> */
>
> return 0;
> }
The framebuffer front end normally renders its own mouse pointer.
From this, I guess you're relying on the pointer from the KolibriOS
desktop.
This should work for the most part, but I'm not sure you'll be able to
do things like make the pointer change shape when hovering over a link
unless we extend the nsfb surface API.
--
Michael Drake http://www.codethink.co.uk/
google sites
All I get is "Unable to fetch document".
https://sites.google.com/site/probehouse/download/phsw-Atari-software-downloads
Peter
Re: how to make Netsurf forget its logged-in state
> I'm tinkering with something on my own website, an area that requires
> the viewer to provide a username and password.
>
> I successfully get in with my own username and password. Now I want
> to test those of another user.
>
> So I click the link that takes me to the subsite -- and I'm straight
> in; I don't see any box asking for username and password.
>
> Tried Ctrl-F5, menu Reload, tried deleting from the History file,
> tried quitting and relaunching Netsurf. Still never see the login box
> again.
>
> How do I "log out"? (If that's the correct term in this situation.
> Maybe it's more like changing the "state".)
>
> --
> Jim Nagel www.archivemag.co.uk
>
>
You appear to be using basic authentication login. In which case you
can get all the gory details [1] on stack overflow. Efectively basic
auth has no way of logging out!
NetSurf implements basic auth by simply keeping the details in the
memory based url database untill the browser is quit (inline with
every other browser) and short of a load of javascript messing about
(which I doubt we get right) there is nothing to be done and we work
as specified.
[1] http://stackoverflow.com/questions/233507/how-to-log-out-user-from-web-site-using-basic-authentication
--
Regards Vincent
http://www.kyllikki.org/
Re: how to make Netsurf forget its logged-in state
> From: Jim Nagel <netsurf@abbeypress.co.uk>
> Subject: Re: how to make Netsurf forget its logged-in state
>
> Frank de Bruijn wrote on 14 May:
> > If I quit NetSurf it *does* forget the login details, as I would have
> > expected. The authentication window pops up again after a restart.
> > That's with NetSurf 3.6 (Dev CI #3538). Which version are you using?
>
> I'm using Netsurf 3.5 #3433 (with Javascript switched off at the
> moment, if that's relevant). And I'll update today, I promise. I
> usually update much more frequently; the past month or two are
> atypical.
>
> You're right, though: quitting Netsurf does forget the login details.
> So that's obviously the simple solution to my original problem.
>
> Still would like to know where Netsurf stores this info -- cache? --
> and if there'd be any way to erase it (i.e., to "log out") without
> quitting everything else that might be open.
>
>
This sounds like the sort of session behaviour that (Oracle) single sign-on
provides. Once you sign-in the browser remembers until you close the whole
browser, this is how IE, Firefox behave with Oracle sso.
Peter
Saturday, 14 May 2016
Re: how to make Netsurf forget its logged-in state
Jim Nagel <netsurf@abbeypress.co.uk> wrote:
>Frank de Bruijn wrote on 14 May:
>> If I quit NetSurf it *does* forget the login details, as I would have
>> expected. The authentication window pops up again after a restart.
>> That's with NetSurf 3.6 (Dev CI #3538). Which version are you using?
>
>I'm using Netsurf 3.5 #3433 (with Javascript switched off at the
>moment, if that's relevant). And I'll update today, I promise. I
>usually update much more frequently; the past month or two are
>atypical.
>
>You're right, though: quitting Netsurf does forget the login details.
>So that's obviously the simple solution to my original problem.
>
>Still would like to know where Netsurf stores this info -- cache? --
>and if there'd be any way to erase it (i.e., to "log out") without
>quitting everything else that might be open.
I've been looking at the NS source code, and it appears that the
login username and password are stored as part of the session,
which is simply in RAM - as is lots of other stuff. I don't
know of any way of deleting the session information without
quitting NS. I don't have a login to your site, but it occurred
to me that I see the same behaviour with the ROOL site, so I
tried it so as to remind myself of exactly what happens. When
I have logged in, I can close the window, then open another to
the ROOL site, whereupon I'm logged in automatically. If I quit
and restart NS and open a window to ROOL, I have to log in anew.
I get the same behaviour with Firefox on Linux. If I log in to
ROOL, open a new blank window, close the ROOL window, then open
the blank window to ROOL, I'm automatically logged in; whereas
if I log in, then quit and restart FF, I need to log in anew.
So I think that restarting NS is just what you're going to have
to do.
Dave
____________________________________________________________
Can't remember your password? Do you need a strong and secure password?
Use Password manager! It stores your passwords & protects your account.
Check it out at http://mysecurelogon.com/password-manager
Re: how to make Netsurf forget its logged-in state
Jim Nagel <netsurf@abbeypress.co.uk> wrote:
> Still would like to know where Netsurf stores this info -- cache? --
> and if there'd be any way to erase it (i.e., to "log out") without
> quitting everything else that might be open.
It probably just keeps it in memory without actually storing it
anywhere. I've never been able to find any way to clear that data
without closing the browser. But I must admit it was about a decade ago
I had reason to investigate that for various browsers, so I don't know
what has changed since then. I do know my main (Linux) browser still
works like that.
> Further curious observation just now after restarting Netsurf: I type
> the URL as http://archivemag.co.uk/Volume24/01 and give details in the
> login box; I get in.
> Then I type the URL as www.archivemag.co.uk/Volume24/01 -- this time
> including the optional www prefix -- and the login box appears again.
> So it seems Netsurf treats these as two separate cases, even though
> they lead to the identical target in the website itself. OK, no harm
> in that, just an observation.
They are separate. Two different urls. The fact they both end up at the
same location doesn't matter to the browser.
Regards,
Frank
Re: how to make Netsurf forget its logged-in state
> If I quit NetSurf it *does* forget the login details, as I would have
> expected. The authentication window pops up again after a restart.
> That's with NetSurf 3.6 (Dev CI #3538). Which version are you using?
I'm using Netsurf 3.5 #3433 (with Javascript switched off at the
moment, if that's relevant). And I'll update today, I promise. I
usually update much more frequently; the past month or two are
atypical.
You're right, though: quitting Netsurf does forget the login details.
So that's obviously the simple solution to my original problem.
Still would like to know where Netsurf stores this info -- cache? --
and if there'd be any way to erase it (i.e., to "log out") without
quitting everything else that might be open.
Further curious observation just now after restarting Netsurf: I type
the URL as http://archivemag.co.uk/Volume24/01 and give details in the
login box; I get in.
Then I type the URL as www.archivemag.co.uk/Volume24/01 -- this time
including the optional www prefix -- and the login box appears again.
So it seems Netsurf treats these as two separate cases, even though
they lead to the identical target in the website itself. OK, no harm
in that, just an observation.
--
Jim Nagel www.archivemag.co.uk
Friday, 13 May 2016
how to make Netsurf forget its logged-in state
> I'll run some tests with the login details you sent me recently to see
> if I can figure out where NetSurf stores this info.
No dice. I don't think it stores it anywhere, which is consistent with
forgetting it after shutdown.
Regards,
Frank
Re: how to make Netsurf forget its logged-in state
> I'll run some tests with the login details you sent me recently to see
> if I can figure out where NetSurf stores this info.
Interesting. If I quit NetSurf it *does* forget the login details, as I
would have expected. The authentication window pops up again after a
restart. That's with NetSurf 3.6 (Dev CI #3538). Which version are you
using?
Regards,
Frank
Re: how to make Netsurf forget its logged-in state
Jim Nagel <netsurf@abbeypress.co.uk> wrote:
> [Please reply to the list rather than to me privately.]
> Ashish Gupta wrote on 13 May:
> > Thanks for explaining the login process. It looks like you make use of
> > Basic Auth for the login.
> The PHP includes statements like this:
> if (!isset($_SERVER["PHP_AUTH_USER"])
> Does that confirm what you say about "Basic Auth"? Is that something
> that resides on the server as a resource for customers like me?
That variable does indeed have to do with HTTP authentication. That type
of authentication does not use cookies, but is handled by the browser
internally. It remembers the login details after you've successfully
logged in to a site, but in my experience browsers tend to forget that
after being closed down. If NetSurf retains the information, I *think*
that should be classified as a bug, but I'm not certain. I've just never
seen it happen with the browsers I use regularly.
I'll run some tests with the login details you sent me recently to see
if I can figure out where NetSurf stores this info.
> Then downloaded the log file which the PHP generates on the server and
> checked it. These login tests do NOT appear on the log.
That's because they're not done by the PHP script, which is server side.
The browser does it all by itself.
Regards,
Frank
KolibriOS Port for Netsurf
* Copyright 2016 Nina Kalinina <ninacarrot@ya.ru>
* Copyright 2016 Ashish Gupta <ashmew2@gmail.com>
*
* This file is a part of libnsfb, http://www.netsurf-browser.org/
* Licenced under the MIT License,
* http://www.opensource.org/licenses/mit-license.php
*/
#include <stdbool.h>
#include <stdlib.h>
#include "libnsfb.h"
#include "libnsfb_event.h"
#include "libnsfb_plot.h"
#include "libnsfb_plot_util.h"
#include "nsfb.h"
#include "surface.h"
#include "palette.h"
#include "plot.h"
#include "cursor.h"
/* Define codes for KolibriOS' events */
#define EVENT_REDRAW 0x00000001
#define EVENT_KEY 0x00000002
#define EVENT_BUTTON 0x00000004
#define EVENT_END_REQUEST 0x00000008
#define EVENT_DESKTOP_BACK_DRAW 0x00000010
#define EVENT_MOUSE_CHANGE 0x00000020
#define EVENT_IPC 0x00000040
/* Pixel array which we need to pass around. */
unsigned char * pixels;
unsigned previous_mouse_position, previous_mouse_buttons;
int kolibri_get_button_id(void)
{
uint16_t __ret;
__asm__ __volatile__ (
"int $0x40"
:"=a"(__ret)
:"0"(17));
if((__ret & 0xFF) == 0)
return (__ret >> 8) & 0xFF;
else
return -1;
}
int kolibri_wait_for_event(void)
{
uint32_t __ret;
__asm__ __volatile__("int $0x40":"=a"(__ret):"0"(10));
return __ret;
}
int kolibri_get_pressed_key(void)
{
uint16_t __ret;
__asm__ __volatile__("int $0x40":"=a"(__ret):"0"(2));
if(!(__ret & 0xFF))
return (__ret >> 8) & 0xFF;
else
return 0;
}
void kolibri_define_window(uint16_t x1, uint16_t y1, uint16_t xsize,
uint16_t ysize, uint32_t body_color, uint32_t grab_color,
uint32_t frame_color)
{
uint32_t a, b;
a=(x1 << 16)|xsize;
b=(y1 << 16)|ysize;
__asm__ __volatile__("int $0x40"
::"a"(0),
"b"(a),
"c"(b),
"d"(body_color),
"S"(grab_color),
"D"(frame_color));
}
void kolibri_window_redraw(int status)
{
__asm__ __volatile__("int $0x40"::"a"(12),"b"(status));
}
void kolibri_set_wanted_events(uint32_t ev)
{
__asm__ __volatile__ ("int $0x40"::"a"(40),"b"(ev));
}
inline void f65_32bpp(unsigned x, unsigned y, unsigned w, unsigned h, char *d)
{
__asm__ __volatile__ ("pusha");
__asm__ __volatile__ ("nop"::"D"(0), "c"(w*65536 + h), "d"(x*65536 + y),
"b"(d));
__asm__ __volatile__ ("xor %eax, %eax");
__asm__ __volatile__ ("movl %eax, %ebp");
__asm__ __volatile__ ("pushl $32");
__asm__ __volatile__ ("popl %esi");
__asm__ __volatile__ ("int $0x40"::"a"(65));
__asm__ __volatile__ ("popa");
}
unsigned kolibri_mouse_get_relative(void)
{
unsigned error;
__asm__ __volatile__ ("int $0x40":"=a"(error):"a"(37), "b"(1));
return error;
}
unsigned kolibri_mouse_get_buttonpress(void)
{
unsigned error;
__asm__ __volatile__ ("int $0x40":"=a"(error):"a"(37), "b"(2));
return error;
}
unsigned kolibri_mouse_get_scrolldata(void)
{
unsigned error;
__asm__ __volatile__ ("int $0x40":"=a"(error):"a"(37), "b"(7));
return error;
}
/* timeout is in 1/100 seconds */
unsigned kolibri_wait_for_event_with_timeout(int timeout)
{
unsigned event;
__asm__ __volatile__ ("int $0x40":"=a"(event):"a"(23), "b"(timeout));
return event;
}
unsigned kolibri_scancodes(void)
{
unsigned error;
__asm__ __volatile__ ("int $0x40":"=a"(error):"a"(66), "b"(1), "c"(1));
return error;
}
void kolibri_redraw(nsfb_t *nsfb)
{
f65_32bpp(0, 0, nsfb->width, nsfb->height, pixels + 1);
}
unsigned kolibri_skin_get_height(void)
{
unsigned error;
__asm__ __volatile__ ("int $0x40":"=a"(error):"a"(48), "b"(4));
return error;
}
unsigned kolibri_area(char *data)
{
unsigned error;
__asm__ __volatile__ ("int $0x40":"=a"(error):"a"(9), "b"(data),
"c"(0xffffffff));
return error;
}
void kolibri_fb_redraw(nsfb_t *nsfb)
{
kolibri_window_redraw(1);
kolibri_define_window(100, 100, nsfb->width + 9,
nsfb->height + kolibri_skin_get_height(), 0x74000080,
0x800000FF, "Netsurf for KolibriOS");
debug_board_write_str("f65 is mighty with 32 bpp!\n");
/* Here put image pixels! it's 32bpp */
f65_32bpp(0, 0, nsfb->width, nsfb->height, pixels + 1);
kolibri_window_redraw(2);
}
static int kolibri_surface_set_geometry(nsfb_t *nsfb, int width, int height,
enum nsfb_format_e format)
{
/* fail if surface already initialised */
if (nsfb->surface_priv != NULL)
return -1;
nsfb->width = width;
nsfb->height = height;
nsfb->format = format;
/* We add one more byte to balance XBGR to BGRX for KolibriOS. */
/* *4 because we only support 32bpp */
pixels = (char *)malloc(width*height*4 + 1);
/* select default sw plotters for format */
/* Fail if plotter selection fails */
if (select_plotters(nsfb) == false)
return -1;
return 0;
}
static int kolibri_surface_initialise(nsfb_t *nsfb)
{
enum nsfb_format_e fmt;
kolibri_scancodes();
previous_mouse_position = 0;
previous_mouse_buttons = 0;
debug_board_write_str("Kolibri Initialise in libnsfb.\n");
if (nsfb->surface_priv != NULL) {
debug_board_write_str("Surface already "
"has private surface\n. Abort\n");
return -1;
}
nsfb->surface_priv = pixels;
nsfb->ptr = pixels;
nsfb->linelen = (nsfb->width * nsfb->bpp) / 8;
debug_board_write_str("Redraw\n");
kolibri_redraw(nsfb);
/*This is for setting flags for mcall40 for events read by a window*/
kolibri_set_wanted_events(EVENT_REDRAW |
EVENT_KEY |
EVENT_BUTTON |
EVENT_MOUSE_CHANGE |
(1 << 30) | (1 << 31) | (1 << 7));
return 0;
}
static int kolibri_surface_finalise(nsfb_t *nsfb)
{
nsfb = nsfb;
exit(1);
return 0;
}
int key_is_up(int scancode)
{
return (scancode & 0x80) >> 7;
}
int scan2key(int scan)
{
int keycode = scan & 0x0FF7F;
/* MAIN KB - NUMS */
if (keycode == 0x02) return NSFB_KEY_1;
if (keycode == 0x03) return NSFB_KEY_2;
if (keycode == 0x04) return NSFB_KEY_3;
if (keycode == 0x05) return NSFB_KEY_4;
if (keycode == 0x06) return NSFB_KEY_5;
if (keycode == 0x07) return NSFB_KEY_6;
if (keycode == 0x08) return NSFB_KEY_7;
if (keycode == 0x09) return NSFB_KEY_8;
if (keycode == 0x0A) return NSFB_KEY_9;
if (keycode == 0x0B) return NSFB_KEY_0;
if (keycode == 0x10) return NSFB_KEY_q;
if (keycode == 0x11) return NSFB_KEY_w;
if (keycode == 0x12) return NSFB_KEY_e;
if (keycode == 0x13) return NSFB_KEY_r;
if (keycode == 0x14) return NSFB_KEY_t;
if (keycode == 0x15) return NSFB_KEY_y;
if (keycode == 0x16) return NSFB_KEY_u;
if (keycode == 0x17) return NSFB_KEY_i;
if (keycode == 0x18) return NSFB_KEY_o;
if (keycode == 0x19) return NSFB_KEY_p;
if (keycode == 0x1A) return NSFB_KEY_LEFTBRACKET;
if (keycode == 0x1B) return NSFB_KEY_RIGHTBRACKET;
if (keycode == 0x1E) return NSFB_KEY_a;
if (keycode == 0x1F) return NSFB_KEY_s;
if (keycode == 0x20) return NSFB_KEY_d;
if (keycode == 0x21) return NSFB_KEY_f;
if (keycode == 0x22) return NSFB_KEY_g;
if (keycode == 0x23) return NSFB_KEY_h;
if (keycode == 0x24) return NSFB_KEY_j;
if (keycode == 0x25) return NSFB_KEY_k;
if (keycode == 0x26) return NSFB_KEY_l;
if (keycode == 0x2C) return NSFB_KEY_z;
if (keycode == 0x2D) return NSFB_KEY_x;
if (keycode == 0x2E) return NSFB_KEY_c;
if (keycode == 0x2F) return NSFB_KEY_v;
if (keycode == 0x30) return NSFB_KEY_b;
if (keycode == 0x31) return NSFB_KEY_n;
if (keycode == 0x32) return NSFB_KEY_m;
/* TODO: Add a TAB Key here to cycle through fields */
if (keycode == 0x27) return NSFB_KEY_SEMICOLON;
if (keycode == 0x28) return NSFB_KEY_QUOTEDBL;
if (keycode == 0x2B) return NSFB_KEY_BACKSLASH;
if (keycode == 0x33) return NSFB_KEY_COMMA;
if (keycode == 0x34) return NSFB_KEY_PERIOD;
if (keycode == 0x35) return NSFB_KEY_SLASH;
if (keycode == 0x0C) return NSFB_KEY_MINUS;
if (keycode == 0x0D) return NSFB_KEY_EQUALS;
if (keycode == 0x0E) return NSFB_KEY_BACKSPACE;
if (keycode == 0xE053) return NSFB_KEY_DELETE;
if (keycode == 0x2A) return NSFB_KEY_LSHIFT;
if (keycode == 0x36) return NSFB_KEY_RSHIFT;
if (keycode == 0x1C) return NSFB_KEY_RETURN;
if (keycode == 0xE04B) return NSFB_KEY_LEFT;
if (keycode == 0xE04D) return NSFB_KEY_RIGHT;
if (keycode == 0xE048) return NSFB_KEY_UP;
if (keycode == 0xE050) return NSFB_KEY_DOWN;
if (keycode == 0x3F) return NSFB_KEY_F5;
if (keycode == 0x39) return NSFB_KEY_SPACE;
if (keycode == 0x01) return NSFB_KEY_ESCAPE;
if (keycode == 0x38) return NSFB_KEY_LALT;
if (keycode == 0x1D) return NSFB_KEY_LCTRL;
if (keycode == 0xE038) return NSFB_KEY_RALT;
if (keycode == 0xE01D) return NSFB_KEY_RCTRL;
if (keycode == 0xE047) return NSFB_KEY_HOME;
if (keycode == 0xE04F) return NSFB_KEY_END;
if (keycode == 0xE049) return NSFB_KEY_PAGEUP;
if (keycode == 0xE051) return NSFB_KEY_PAGEDOWN;
return NSFB_KEY_UNKNOWN;
}
/* TODO: Useful for future implementation */
int ispowerkey(int scancode)
{
return (scancode & 0xE000) >> 15;
}
static bool kolibri_surface_input(nsfb_t *nsfb, nsfb_event_t *event,
int timeout)
{
int got_event;
static int scanfull = 0;
char event_num[20];
nsfb = nsfb; /* unused */
if (timeout >= 0) {
got_event = kolibri_wait_for_event_with_timeout(timeout / 10);
} else {
got_event = kolibri_wait_for_event();
}
if (got_event == 0) {
return false;
}
/* sprintf(event_num, "got_event = %d\n", got_event); */
/* debug_board_write_str(event_num); */
event->type = NSFB_EVENT_NONE;
/* redraw event */
if (got_event == 1) {
kolibri_fb_redraw(nsfb);
}
/* keypress event */
if (got_event == 2) {
int scanz = kolibri_get_pressed_key();
if (scanz == 0xE0) {
scanfull = 0xE000;
return true;
} else {
scanfull = scanfull + scanz;
}
if (key_is_up(scanfull) == 1) {
event->type = NSFB_EVENT_KEY_UP;
} else {
event->type = NSFB_EVENT_KEY_DOWN;
}
event->value.keycode = scan2key(scanfull);
scanfull = 0;
return true;
}
/* button press event */
if (got_event == 3) {
if (kolibri_get_button_id() == 1)
kolibri_surface_finalise(nsfb);
return true;
}
/* mouse event */
if (got_event == 6) {
unsigned z = kolibri_mouse_get_relative();
unsigned b = kolibri_mouse_get_buttonpress();
int s = kolibri_mouse_get_scrolldata();
if (previous_mouse_position != z) {
event->type = NSFB_EVENT_MOVE_ABSOLUTE;
event->value.vector.x = (z & 0xffff0000) >> 16;
event->value.vector.y = z & 0xffff;
event->value.vector.z = 0;
previous_mouse_position = z;
}
else if (previous_mouse_buttons != b) {
unsigned diff = previous_mouse_buttons^b;
/* All high bits in the XOR represent bits that
changed */
if(diff&(1 << 0)) {
/* Left mouse button */
event->value.keycode = NSFB_KEY_MOUSE_1;
if(b & (1 << 0)) {
event->type = NSFB_EVENT_KEY_DOWN;
} else {
event->type = NSFB_EVENT_KEY_UP;
}
} else if(diff & (1 << 1)) {
/* Right mouse button */
event->value.keycode = NSFB_KEY_MOUSE_3;
if(b & (1 << 1)) {
event->type = NSFB_EVENT_KEY_DOWN;
} else {
event->type = NSFB_EVENT_KEY_UP;
}
} else if(diff & (1 << 2)) {
/* Middle mouse button */
event->value.keycode = NSFB_KEY_MOUSE_2;
if(b&(1 << 2)) {
event->type = NSFB_EVENT_KEY_DOWN;
} else {
event->type = NSFB_EVENT_KEY_UP;
}
} else if(diff & (1 << 3)) {
/* 4th mouse button (forward) */
event->value.keycode = NSFB_KEY_MOUSE_4;
if(b & (1 << 3)) {
event->type = NSFB_EVENT_KEY_DOWN;
} else {
event->type = NSFB_EVENT_KEY_UP;
}
} else if(diff & (1 << 4)) {
/* 5th mouse button (back) */
event->value.keycode = NSFB_KEY_MOUSE_5;
if(b & (1 << 4)) {
event->type = NSFB_EVENT_KEY_DOWN;
} else {
event->type = NSFB_EVENT_KEY_UP;
}
} else {
/*The Event 6 did not match any handled cases*/
char diffstr[40];
sprintf(diffstr, "Unhandled case."
"Previous_mouse_buttons^b is :"
"%u", diff);
debug_board_write_str(diffstr);
}
previous_mouse_buttons = b;
}
else if(s != 0) {
short int vert = s & 0xffff;
short int hori = s >> 16;
event->type = NSFB_EVENT_KEY_DOWN;
if(vert != 0) {
/*Handle vertical scroll*/
if(vert > 0) /*SCROLL DOWN*/
event->value.keycode = NSFB_KEY_MOUSE_5;
else /*SCROLL UP*/
event->value.keycode = NSFB_KEY_MOUSE_4;
}
else {
/* TODO: Handle Horizontal scroll here */
}
}
return true;
}
}
static int kolibri_surface_claim(nsfb_t *nsfb, nsfb_bbox_t *box)
{
/* TODO: Convert to full function from stub */
/*
if ((cursor != NULL) &&
(cursor->plotted == true) &&
(nsfb_plot_bbox_intersect(box, &cursor->loc))) {
nsfb_cursor_clear(nsfb, cursor);
}
*/
return 0;
}
static int kolibri_surface_cursor(nsfb_t *nsfb, struct nsfb_cursor_s *cursor)
{
/* Convert to full function from stub */
return true;
}
static int kolibri_surface_update(nsfb_t *nsfb, nsfb_bbox_t *box)
{
/* Do the window redraw here */
kolibri_redraw(nsfb);
return 0;
}
const nsfb_surface_rtns_t kolibri_rtns = {
.initialise = kolibri_surface_initialise,
.finalise = kolibri_surface_finalise,
.input = kolibri_surface_input,
.claim = kolibri_surface_claim,
.update = kolibri_surface_update,
.cursor = kolibri_surface_cursor,
.geometry = kolibri_surface_set_geometry,
};
NSFB_SURFACE_DEF(kolibri, NSFB_SURFACE_KOLIBRI, &kolibri_rtns)
Hi Everyone!
My nick on #netsurf on Freenode : ashmew2
As some of you are already aware of, I'm working on a port for Netsurf
to run on KolibriOS. The target platform makes thing a bit more
complex as it does not have libcurl and the windowing library is not
as matured as gtk (or what other OS' might have). As a result, the
port is based around using a framebuffer surface and using a home-made
HTTP fetcher to replace libcurl and all the functionality it offers.
This is the first of a few patches / additions to the netsurf code
base to fully support the KolibriOS port and eventually merge to the
Jenkins CI.
With that said, could someone review the libnsfb surface for KolibriOS
? I've tried to stick to the Netsurf code style guide as much as
possible but also drew some inspiration from the already existing
surfaces. Once this is finalized, I'll patch the libnsfb Makefile as
well.
I've attached the kolibri.c file to this email. The same file is also
available on github at the primary development repository[1] . If you
are interested in the progress, the forum thread on KolibriOS Board[2]
will help you understand more. If it is more convenient for you, you
can also comment on github directly (Let me know, so I can grant you
rights as required).
[1] : https://github.com/ashmew2/nskolibrios/blob/nskolibrios/libnsfb/src/surface/kolibri.c
[2] : http://board.kolibrios.org/viewtopic.php?p=65426#p65381
Thank you!
Warm Regards,
Ashish Gupta
Re: Slow ?
>From: Michael Drake <tlsa@netsurf-browser.org>
>
>
>3242 was built without JavaScript for Atari.
>
>Michael Drake http://www.netsurf-browser.org/
This may be more complex.
While there is a small slow down across versions:
3242 5:15
3427 7:24
3457 6:30
3537 8:28
I was testing by opening the page and then timing how long it takes to
reload.
When I got to 3537 I timed the initial load and then the reload.
Initial load: 4:10
Reload : 9:29
The small change from the previous test of 3537 is probably due to page
changes.
I will do some more tests with other pages to see if the reload is
consistently slower.
Peter
Really odd one here!
Books, both through Pluto.
The PermaJet newsletter loads into NetSurf OK via the HTML file attachment.
But, surprise, surprise, the HTML file attachment in the Wisdom Books
newsletter belongs to the PermaJet newsletter and loads the PermaJet
newsletter into NetSurf.???
Never ever seen this one before. My feeling is that the fault must lie
with Pluto but could the fault lie elsewhere, perhaps? How could this
happen?
Any explanations to this one, please.
Re: how to make Netsurf forget its logged-in state
Ashish Gupta wrote on 13 May:
> Thanks for explaining the login process. It looks like you make use of
> Basic Auth for the login.
The PHP includes statements like this:
if (!isset($_SERVER["PHP_AUTH_USER"])
Does that confirm what you say about "Basic Auth"? Is that something
that resides on the server as a resource for customers like me? (As
you can see, my knowledge of PHP is minimal; this routine was written
for me by somebody else.)
> I think you should be able to destroy the saved state if you login
> using another username and password.
> Could you try doing this ?
> Open this URL, http://username:password@yoursite.com in netsurf.
Did that, using a different valid username as part of the URL, as you
suggest. Got in without seeing a login box.
> Could you try a couple of cases ?
> One, a username password which is valid but different from the saved one.
> A different (invalid) username password combo.
> I am hoping the invalid combo forces the login window next time (or
> locks you out).
Did those tests too. In all cases, I got in without seeing a login
box.
Then downloaded the log file which the PHP generates on the server and
checked it. These login tests do NOT appear on the log.
--
Jim Nagel www.archivemag.co.uk
Re: how to make Netsurf forget its logged-in state
> On 2016-05-12 12:27, Jim Nagel wrote:
>> Cookies: none involved -- it's my own site I'm talking about, and it
>> doesn't make any cookies.
> As you replied below (to an email that doesn't seem to have appeared
> here) ...
People have been replying to me privately -- I wish they would reply
to the list. Probably that's the cause of the confusion.
> I would think that the code you're using to do login sets the cookie
> even if you don't know about it; it's hard to see how else this could
> work.
Netsurf doesn't seem to know about it either. From iconbar menu,
"Open > Show cookies" shows nothing from "archivemag.co.uk".
I'll ask my PHP guru about it. To my eyes, nothing in the bit of PHP
he wrote for me looks like a cookie-setter.
--
Jim Nagel www.archivemag.co.uk
Website displaying without CSS
Thursday, 12 May 2016
Re: how to make Netsurf forget its logged-in state
Thanks for explaining the login process. It looks like you make use of Basic Auth for the login. I think you should be able to destroy the saved state if you login using another username and password.
Could you try doing this ?
Open this URL, http://username:password@yoursite.com in netsurf.
Could you try a couple of cases ?
One, a username password which is valid but different from the saved one.
A different (invalid) username password combo.
I am hoping the invalid combo forces the login window next time (or locks you out).
On May 12, 2016 10:31 PM, "Jim Nagel" <netsurf@abbeypress.co.uk> wrote:
>
> Ashish Gupta wrote on 12 May:
> > It would help if you could elaborate on this login process that your
> > site relies on.
>
> It's a pretty simple PHP script that asks for a username and password.
> The user submits* these, the PHP checks against its list of authorized
> users, if there's a match you're in.
>
> The username and password are input via a standard dialogue box, which
> I guess is provided by the OS or by the browser -- the RiscOS box is
> most familiar to me.
> I also tested with Firefox on Windows and saw an equivalent box
> there, followed by a popup box that asked if I want Firefox to
> remember the details for next time; I said no. RiscOS had no such
> popup.
> Also tested with the default browser on my Android phone: again an
> equivalent login box. Tried that one again just now (two or three
> hours after first access): I'm straight in without being asked for
> username and password.
>
>
> > I am also curious to know how a session is maintained as you mentioned
> > that cookies are not used.
>
> Exactly what I too am curious about.
> When I asked my PHP guru about this, he said HTML is "stateless" --
> meaning, I think, that HTML itself does not register the state of
> logged-in-ness.
>
> --
> Jim Nagel www.archivemag.co.uk
Re: Slow ?
> Build 3242 required 5m 15s
> Build 3537 required 8m 28s
3242 was built without JavaScript for Atari.
--
Michael Drake http://www.netsurf-browser.org/
Re: Slow ?
> Perhaps you can provide the CI build numbers of "working" and "slow"
> versions? the closer these values are together the easier it will be
> for a developer to attempt to diagnose the issue.
Testing on a complex page www.express.co.uk
Build 3242 required 5m 15s
Build 3537 required 8m 28s
At least it looks like it's not imaginary so I will try to narrow
down the version where the change occurs.
Peter
Re: [gccsdk] Failed to init stdio
It's possible - the amount allocated to GCC has been set to the maximum Sourcery allows (16Mb) - with plenty of RAM left.
It's possible that it is no longer compatible with RISCOS 5 (or some part of the emulator) - the author has stated that a bug which stops compilation every so often is present, but won't be fixed as it is not being updated.
Sent from my Android mobile
On 12/05/16 09:28, TheReal GamePlayer wrote:
The generated command line is :
Setting target as '26 / 32 bit independent' for 'Triority'
gcc -c -MD -fPIC -O2 -Wunused -Wuninitialized -Wall -mthrowback - I
HostHS::HostFS.$.Public.Programming.C.Triority.Source - I
HostFS::HostFS.$.Apps.Library.!SDL.SDL - I
HostFS::HostFS.$.Apps.Library.!SDLGFX.SDL -I <Sourcery$LibPrefix0> -o
@.o.Triority @.cc.Triority
Failed to init stdio
gcc: internal compiler error: hangup (program cc1plus)
I suspect that Sourcery isnt really compatible with the latest version
of GCC...
I wonder if it's a memory problem. Memory exhaustion seems the most
likely reason that stdin, etc, would fail to initialise. If Sourcery is
in charge of allocating memory to the process, is it giving it enough?
I realise that GCC should complain if it doesn't have enough memory,
but it might be worth checking.
Lee.
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Re: [gccsdk] Failed to init stdio
> The generated command line is :
>
> Setting target as '26 / 32 bit independent' for 'Triority'
>
> gcc -c -MD -fPIC -O2 -Wunused -Wuninitialized -Wall -mthrowback - I
> HostHS::HostFS.$.Public.Programming.C.Triority.Source - I
> HostFS::HostFS.$.Apps.Library.!SDL.SDL - I
> HostFS::HostFS.$.Apps.Library.!SDLGFX.SDL -I <Sourcery$LibPrefix0> -o
> @.o.Triority @.cc.Triority
>
> Failed to init stdio
> gcc: internal compiler error: hangup (program cc1plus)
>
> I suspect that Sourcery isnt really compatible with the latest version
> of GCC...
I wonder if it's a memory problem. Memory exhaustion seems the most
likely reason that stdin, etc, would fail to initialise. If Sourcery is
in charge of allocating memory to the process, is it giving it enough?
I realise that GCC should complain if it doesn't have enough memory,
but it might be worth checking.
Lee.
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Re: how to make Netsurf forget its logged-in state
It would help if you could elaborate on this login process that your site relies on . I am also curious to know how a session is maintained as you mentioned that cookies are not used.
Harriet Bazley wrote on 12 May:
> Clearing the cache/cookie file?
Thanks.
Cookies: none involved -- it's my own site I'm talking about, and it
doesn't make any cookies.
Cache: Is there an easy way to clear the Netsurf cache? Where is it?
>From the web page displayed in Netsurf, menu>Utilities offers Hotlist,
History and Cookies; no mention of Cache. The relevant History entry
can be cleared, but that does not cure my present problem.
Iconbar menu leads to History and to Cookies, but no mention of Cache.
Iconbar Choices includes Cache, but the resulting dialogue does not
mention clearing it.
--
Jim Nagel www.archivemag.co.uk
Re: how to make Netsurf forget its logged-in state
> Clearing the cache/cookie file?
Thanks.
Cookies: none involved -- it's my own site I'm talking about, and it
doesn't make any cookies.
Cache: Is there an easy way to clear the Netsurf cache? Where is it?
>From the web page displayed in Netsurf, menu>Utilities offers Hotlist,
History and Cookies; no mention of Cache. The relevant History entry
can be cleared, but that does not cure my present problem.
Iconbar menu leads to History and to Cookies, but no mention of Cache.
Iconbar Choices includes Cache, but the resulting dialogue does not
mention clearing it.
--
Jim Nagel www.archivemag.co.uk
Re: [gccsdk] Failed to init stdio
It should be noted that compiling from the command line seems to be fine.
Sent from my Android mobile
Ah - in which case I typed it incorrectly. It looks like it, but Sourcery is using a fixed size font with a narrow "-" :)
Sent from my Android mobile
On 12 May 2016 11:35, "Ralph Corderoy" <ralph@inputplus.co.uk> wrote:Hi Nicholas,
> > > gcc -c -MD -fPIC -O2 -Wunused -Wuninitialized -Wall -mthrowback - I
> > > HostHS::HostFS.$.Public.Programming.C.Triority.Source - I
> > > HostFS::HostFS.$.Apps.Library.!SDL.SDL - I
> > > HostFS::HostFS.$.Apps.Library.!SDLGFX.SDL -I <Sourcery$LibPrefix0> -o
> > > @.o.Triority @.cc.Triority
> >
> > Complete stab in the dark. Are those spaces between the `-' and `I'?
> > Are they meant to be `-I'?
>
> Yes, it does have spaces after each -I parameter, but not any other...
No, between the `-' and the `I'; most of the "-I" you put in the email
were "- I".
Cheers, Ralph.
Re: [gccsdk] Failed to init stdio
Ah - in which case I typed it incorrectly. It looks like it, but Sourcery is using a fixed size font with a narrow "-" :)
Sent from my Android mobile
Hi Nicholas,
> > > gcc -c -MD -fPIC -O2 -Wunused -Wuninitialized -Wall -mthrowback - I
> > > HostHS::HostFS.$.Public.Programming.C.Triority.Source - I
> > > HostFS::HostFS.$.Apps.Library.!SDL.SDL - I
> > > HostFS::HostFS.$.Apps.Library.!SDLGFX.SDL -I <Sourcery$LibPrefix0> -o
> > > @.o.Triority @.cc.Triority
> >
> > Complete stab in the dark. Are those spaces between the `-' and `I'?
> > Are they meant to be `-I'?
>
> Yes, it does have spaces after each -I parameter, but not any other...
No, between the `-' and the `I'; most of the "-I" you put in the email
were "- I".
Cheers, Ralph.
Re: [gccsdk] Failed to init stdio
> > > gcc -c -MD -fPIC -O2 -Wunused -Wuninitialized -Wall -mthrowback - I
> > > HostHS::HostFS.$.Public.Programming.C.Triority.Source - I
> > > HostFS::HostFS.$.Apps.Library.!SDL.SDL - I
> > > HostFS::HostFS.$.Apps.Library.!SDLGFX.SDL -I <Sourcery$LibPrefix0> -o
> > > @.o.Triority @.cc.Triority
> >
> > Complete stab in the dark. Are those spaces between the `-' and `I'?
> > Are they meant to be `-I'?
>
> Yes, it does have spaces after each -I parameter, but not any other...
No, between the `-' and the `I'; most of the "-I" you put in the email
were "- I".
Cheers, Ralph.
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Re: [gccsdk] Failed to init stdio
Yes, it does have spaces after each -I parameter, but not any other...
Nicholas
Sent from my Android mobile
Hi Nicholas,
> gcc -c -MD -fPIC -O2 -Wunused -Wuninitialized -Wall -mthrowback - I
> HostHS::HostFS.$.Public.Programming.C.Triority.Source - I
> HostFS::HostFS.$.Apps.Library.!SDL.SDL - I
> HostFS::HostFS.$.Apps.Library.!SDLGFX.SDL -I <Sourcery$LibPrefix0> -o
> @.o.Triority @.cc.Triority
Complete stab in the dark. Are those spaces between the `-' and `I'?
Are they meant to be `-I'?
Cheers, Ralph.
Re: [gccsdk] Failed to init stdio
> gcc -c -MD -fPIC -O2 -Wunused -Wuninitialized -Wall -mthrowback - I
> HostHS::HostFS.$.Public.Programming.C.Triority.Source - I
> HostFS::HostFS.$.Apps.Library.!SDL.SDL - I
> HostFS::HostFS.$.Apps.Library.!SDLGFX.SDL -I <Sourcery$LibPrefix0> -o
> @.o.Triority @.cc.Triority
Complete stab in the dark. Are those spaces between the `-' and `I'?
Are they meant to be `-I'?
Cheers, Ralph.
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Re: [gccsdk] Failed to init stdio
The generated command line is :
Setting target as '26 / 32 bit independent' for 'Triority'
gcc -c -MD -fPIC -O2 -Wunused -Wuninitialized -Wall -mthrowback - I HostHS::HostFS.$.Public.Programming.C.Triority.Source - I HostFS::HostFS.$.Apps.Library.!SDL.SDL - I HostFS::HostFS.$.Apps.Library.!SDLGFX.SDL -I <Sourcery$LibPrefix0> -o @.o.Triority @.cc.Triority
Failed to init stdio
gcc: internal compiler error: hangup (program cc1plus)
I suspect that Sourcery isnt really compatible with the latest version of GCC...
> On 10 May 2016 at 13:42, Lee Noar <leenoar@sky.com> wrote:
>>
>> On 09/05/16 19:53, TheReal GamePlayer wrote:
>>>
>>> Hello
>>>
>>> I'm trying to compile a c++ file, but I'm getting this error message
>>> during compilation.
>>>
>>> I'm using RISCOS 5.22 and version 4.7.4 of GCC
>>>
>>> I'm trying to compile a Shared C++ library (ELF) 26/32bit independant
>>> using !Sourcery
>>
>>
>> This error message occurs when either stdin, stdout and/or stderr cannot
>> be created. Can you post the command line that is used to build, and the
>> full output up to the error.
>>
>> Lee.
>>
>>
>> _______________________________________________
>> GCCSDK mailing list gcc@gccsdk.riscos.info
>> Bugzilla: http://www.riscos.info/bugzilla/index.cgi
>> List Info: http://www.riscos.info/mailman/listinfo/gcc
>> Main Page: http://www.riscos.info/index.php/GCCSDK
>
>
Re: Slow ?
> I am going to work back through the versions to see if it is a real
> or imagined performance drop.
If the performance drop came around the time JS builds were enabled for
Atari, try running with JS configured off.
--
Michael Drake http://www.codethink.co.uk/
Wednesday, 11 May 2016
Re: how to make Netsurf forget its logged-in state
Jim Nagel wrote:
> I'm tinkering with something on my own website, an area that requires
> the viewer to provide a username and password.
>
> I successfully get in with my own username and password. Now I want
> to test those of another user.
>
> So I click the link that takes me to the subsite -- and I'm straight
> in; I don't see any box asking for username and password.
>
> Tried Ctrl-F5, menu Reload, tried deleting from the History file,
> tried quitting and relaunching Netsurf. Still never see the login box
> again.
>
> How do I "log out"? (If that's the correct term in this situation.
> Maybe it's more like changing the "state".)
>
Clearing the cache/cookie file?
(This worked for me in a remote site where the 'logout' link didn't function
with Netsurf, but then the site was setting cookies to store log-in status.)
--
Harriet Bazley == Loyaulte me lie ==
We prefer to speak evil of ourselves than not speak of ourselves at all.
how to make Netsurf forget its logged-in state
the viewer to provide a username and password.
I successfully get in with my own username and password. Now I want
to test those of another user.
So I click the link that takes me to the subsite -- and I'm straight
in; I don't see any box asking for username and password.
Tried Ctrl-F5, menu Reload, tried deleting from the History file,
tried quitting and relaunching Netsurf. Still never see the login box
again.
How do I "log out"? (If that's the correct term in this situation.
Maybe it's more like changing the "state".)
--
Jim Nagel www.archivemag.co.uk
Re: Slow ?
> As I have mentioned previously, the Atari port has no active
> maintainer and therefore only receives the absolute minimum of changes
> to keep it compiling in the CI system. This is also why it is not a
> release candidate frontend.
>
> Given the general lack of developer time at present I cannot guarantee
> there will be resources to examine this issue.
>
> On Tue, May 10, 2016 at 09:27:54PM +0000, Peter Slegg wrote:
> >
> > In the past few weeks I've noticed that the download and
> > rendering speed of the (Atari) test builds seems quite a
> > bit slower than with earlier versions.
>
> As far as I know there have been no core changes recently that would
> affect the browsers speed. Generally all recent changes have been code
> cleanups in preparation for larger planned updates.
>
> Please can I ask you to check that you have not made any other changes
> to your system that might have caused this. There have been several
> reports recently which have turned out to be related to updates
> completely unrelated to NetSurf.
>
> >
> > Some pages are taking over 20 mins and more are timing out.
>
> Perhaps you can provide the CI build numbers of "working" and "slow"
> versions? the closer these values are together the easier it will be
> for a developer to attempt to diagnose the issue.
>
> >
> >
> > Peter
> >
> >
Since the Atari is one of the slower machines using Netsurf I
imagine it is good test for highlighting anything reducing speed.
High-end users might not notice a small speed drop.
I am going to work back through the versions to see if it is a real
or imagined performance drop.
I haven't made any changes that could have affected the performance.
Regards,
Peter
Re: Slow ?
maintainer and therefore only receives the absolute minimum of changes
to keep it compiling in the CI system. This is also why it is not a
release candidate frontend.
Given the general lack of developer time at present I cannot guarantee
there will be resources to examine this issue.
On Tue, May 10, 2016 at 09:27:54PM +0000, Peter Slegg wrote:
>
> In the past few weeks I've noticed that the download and
> rendering speed of the (Atari) test builds seems quite a
> bit slower than with earlier versions.
As far as I know there have been no core changes recently that would
affect the browsers speed. Generally all recent changes have been code
cleanups in preparation for larger planned updates.
Please can I ask you to check that you have not made any other changes
to your system that might have caused this. There have been several
reports recently which have turned out to be related to updates
completely unrelated to NetSurf.
>
> Some pages are taking over 20 mins and more are timing out.
Perhaps you can provide the CI build numbers of "working" and "slow"
versions? the closer these values are together the easier it will be
for a developer to attempt to diagnose the issue.
>
>
> Peter
>
>
>
>
>
>
--
Regards Vincent
http://www.kyllikki.org/
Tuesday, 10 May 2016
Slow ?
rendering speed of the (atari) test builds seems quite a
bit slower than with earlier versions.
Some pages are taking over 20 mins and more are timing out.
Peter
Re: [gccsdk] Failed to init stdio
> Hello
>
> I'm trying to compile a c++ file, but I'm getting this error message
> during compilation.
>
> I'm using RISCOS 5.22 and version 4.7.4 of GCC
>
> I'm trying to compile a Shared C++ library (ELF) 26/32bit independant
> using !Sourcery
This error message occurs when either stdin, stdout and/or stderr cannot
be created. Can you post the command line that is used to build, and the
full output up to the error.
Lee.
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Monday, 9 May 2016
[gccsdk] Failed to init stdio
Hello
I'm trying to compile a c++ file, but I'm getting this error message during compilation.
I'm using RISCOS 5.22 and version 4.7.4 of GCC
I'm trying to compile a Shared C++ library (ELF) 26/32bit independant using !Sourcery
Nicholas
Sent from my Android mobile
Sunday, 8 May 2016
Re: Fwd: Hotlist and strange mouse behaviour (Atari)
> From: Dave Higton <dave@davehigton.me.uk>
> Subject: Re: Fwd: Hotlist and strange mouse behaviour (Atari)
>
> Peter Slegg wrote:
>
> >
> >This issue is still present, I can't find it in Mantis so I
> >don't think it was ever logged.
> >
> >Press F6 and instead of opening the Bookmarks window the cursor focus moves
> >to the url field.
> >
> >If the mouse pointed is moved outside the NS window and F6 pressed
> >then the Bookmarks window opens as expected.
> >
> >Regards,
> >
> >Peter
> >
> >
> >------ Forwarded message. ------
> > Originated by Peter Slegg
> > Date Sat, 22 Nov 2014 11:51:40
> >------ ------
> >
> >
> >I suspect this is an Atari only issue (build 2369).
> >
> >When the mouse is over the Netsurf window, pressing F6 does
> >nothing but move the mouse outside the window and F6 opens
> >the Hotlist immediately.
>
> OK, so have you logged a Mantis case now?
>
> Dave
>
>
I didn't want to create a duplicate if it was just me not able to
find it :-)
I have created issue 2456:
http://bugs.netsurf-browser.org/mantis/view.php?id=2456
Regards,
Peter
Re: Unicode font library could not be initialised
Dave Symes <dave@triffid.co.uk> wrote:
> In article <557ce86b3bdave@triffid.co.uk>,
> Dave Symes <dave@triffid.co.uk> wrote:
> > RISC OS 6.20 running on RPCEmu 0.8.14 (Win 7 Pro 64bit)
> > A few days ago I was using Netsurf okay, but this morning it will not
> > run reporting the subject line...
> [Snip]
> Couldn't say what version as NS wouldn't run so I couldn't see...
> Just fathomed out (Thanks for the prompt Jeremy) which version of
> NetSurf I have installed.
> version 3433 Of March 2016.
> Dave
Okay, as no answer was forthcoming, I sorted the problem myself.
Now I suppose you want me to tell you...
After checking all the stuff required by NS was in Boot and in the
required places, I though what the .... is going on...
Anyway to cut a longer story short, it was a bum Font, one that I'd
recently converted from TrueType using !TTF2f Version 0.04
All because I can not longer use !effTTT because it's tied to a now
failing SARPC by a deceased author.
If I was a really, really grumpy person, I would write a few more choice
paragraphs, but I'm a pussy cat so i'll keep quiet and just chew my desk.
;-)
Dave
--
Dave Triffid
Re: Unicode font library could not be initialised
Dave Symes <dave@triffid.co.uk> wrote:
> RISC OS 6.20 running on RPCEmu 0.8.14 (Win 7 Pro 64bit)
> A few days ago I was using Netsurf okay, but this morning it will not run
> reporting the subject line...
[Snip]
Couldn't say what version as NS wouldn't run so I couldn't see...
Just fathomed out (Thanks for the prompt Jeremy) which version of NetSurf
I have installed.
version 3433 Of March 2016.
Dave
--
Dave Triffid