pUPnGO 2012

A home for all kinds of Puppy related projects
Message
Author
User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#321 Post by Keef »

I did a framebuffer build of Netsurf some time back. If you actually ran it in the framebuffer, it was impossible to exit, and also I think that links would not work, as in you had to type in URLs in the address bar.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#322 Post by goingnuts »

technosaurus: I cant run your binary - probably libc version problem. pUPnGO2012 support the framebuffer.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#323 Post by technosaurus »

goingnuts wrote:technosaurus: I cant run your binary - probably libc version problem. pUPnGO2012 support the framebuffer.
Wary's glibc somehow got linked in. Here is a static musl only rebuild of svgtiny, uploading pets of nsfb to my uis.edu page now too ... one with builtin (ugly but light/fast) fonts and the other with freetype support. The uncompressed binary is pushing 3Mb, but should be able to remove some unused font support and curl protocols (smtp, etc...) to reduce it closer to 2. It would be a lot smaller, but I added support for freetype fonts and javascript as well as bmp/ico, webp and svg images - the freetype version looks better than seamonkey

Notes: There is the option to build in support for pdf export and printing via libharu, but I don't see a way to actually do it in the framebuffer so I left it out for now. It also needs some form of download dialog - probably using the nsfbtk with curl since it is already included.

http://uisacad5.uis.edu/~bconroy/netsur ... 1-i486.pet
http://uisacad5.uis.edu/~bconroy/netsur ... 1-i486.pet

TODO - fix the x framebuffer backend (based on argv[0]?) to output a title for swallowing in jwm - could be useful for tray applets.
Attachments
svgtiny.tar.gz
(138.88 KiB) Downloaded 427 times
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#324 Post by mavrothal »

technosaurus wrote: uploading pets of nsfb to my uis.edu page now too ... one with builtin (ugly but light/fast) fonts and the other with freetype support.
I tried your "heavy" freetype-version in my low-spec XOs running Precise-5.5 and the speed is jaw-dropping :shock: , while it handles A LOT of difficult sites, just fine :!:

I was wondering if there is any way to save user changes, ie, default font size, bookmarks, etc.
It supposes to save user data in ~/.netsurf but this folder is not generated and if you make it remains empty.
`about:config' also does not allow you to change anything.
Is it something that I miss/know how to do?

Thx
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#325 Post by technosaurus »

mavrothal wrote:Is it something that I miss/know how to do?
If so, I missed it too even after looking through ~50% of the source. What would you like to see changed? I already rebuilt it to change the window size where you can see the on screen keyboard button... I'd like to see someone make an arm build for android tablets (the java/dalvik ones are pretty slow on low end tablets) Right now I am looking through the source to see where urls with unhandled mime types go so I can set up a handler to pass the url to (something like a download manager / xdg-open) ... right now it is basically a kiosk mode browser (the gtk version is much more robust)
Attachments
nsfb-hist-nav.png
ever want to find a web page you went to from google,
but lost because you later went to a different page....
(42.31 KiB) Downloaded 620 times
nsfb-oskb.png
(54.75 KiB) Downloaded 645 times
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#326 Post by mavrothal »

technosaurus wrote:
mavrothal wrote:Is it something that I miss/know how to do?
If so, I missed it too even after looking through ~50% of the source. What would you like to see changed?
Able to bookmark pages is major I believe, though this means that should not be in kiosk mode.
Also changing font size is important to compensate for different screen dpi densities (or eye sight :) ).

Another thing I noticed is the you can not have the rubber-band function in mouse either on the page body or the address field. Would be handy to have
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#327 Post by greengeek »

Tried this one on Slacko53 and it seems to be pretty functional. I had a couple of minor issues - lots of image tearing when scrolling (fixed by clicking refresh) and the keyboard seemed to confuse some of the keystrokes. Couldn't sign in to my email till I figured out I had to use the " key when I wanted the @ sign. Good potential as a fast simple browser.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#328 Post by goingnuts »

Tested the freetype version in pupngo2012: Needs xserver with shm so installed the "pupngo_xorg_pack_412_static.pet". It works!
I thought the Xvesa was with shm support - will check up on that.
Could not run the nsfb from cli though.
Looking very promising :D :!:
Btw works in P412 as well...

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#329 Post by Keef »

If you want a different window size, or start page, you can launch it with:

Code: Select all

nsfb -w 800 -h 600  murga-linux.com/puppy
You aren't able to save bookmarks as the framebuffer frontend is a bit crippled and basic. If you want that sort of thing, you will need the gtk stuff I believe.
I haven't had much luck with Techno's builds yet (tried both), keep getting segmentation faults (on Pupngo 2012, 412, and ThinSlacko).
For those who have had success, does the cursor show? It was invisible when I did it about a year ago (not static though, dont know how...)
And if anyone tries it on the framebuffer, can you quit without using the powerbutton?

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#330 Post by technosaurus »

did anyone else notice you can also drag the screen like you would on a tablet (also pg up/down forces a redraw that fixes tearing) The history navigation window would make a good template for bookmarking, but the fbtk needs to add a popup window (for right click menu to include bookmark/download/view source/copy/paste etc..., javascript alerts, and others - it may be already be possible using some css tricks and existing fbtk widgets.

the paths in the pet are required, don't move them from /usr/local/share/netsurf or you will get segfaults... and truetype fonts must be in /usr/share/fonts/default/TTF as:

NETSURF_FB_FONTPATH := /usr/share/fonts/default/TTF
NETSURF_FB_FONT_SANS_SERIF := DejaVuSans.ttf
NETSURF_FB_FONT_SANS_SERIF_BOLD := DejaVuSans-Bold.ttf
NETSURF_FB_FONT_SANS_SERIF_ITALIC := DejaVuSans-Oblique.ttf
NETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD := DejaVuSans-BoldOblique.ttf
NETSURF_FB_FONT_SERIF := DejaVuSerif.ttf
NETSURF_FB_FONT_SERIF_BOLD := DejaVuSerif-Bold.ttf
NETSURF_FB_FONT_MONOSPACE := DejaVuSansMono.ttf
NETSURF_FB_FONT_MONOSPACE_BOLD := DejaVuSansMono-Bold.ttf
NETSURF_FB_FONT_CURSIVE := Comic_Sans_MS.ttf
NETSURF_FB_FONT_FANTASY := Impact.ttf

to change default settings try the css files in /usr/local/share/netsurf (one of them controls ad blocking too)

here is the code I modified in gui.c (process_cmdline) for x and linux backend to go full screen ... (it was defaulting to sdl and 800x600x32) if anyone cared to comment - I was just shotgunning it and probably need to close the (temporary) xcb connection

Code: Select all

	if (getenv("DISPLAY")){
#include <xcb/xcb.h>
		fename = "x";
		xcb_connection_t *c;
		int32_t screen_number; 
		xcb_screen_t     *screen;
		c = xcb_connect (NULL, &screen_number );
		screen = xcb_setup_roots_iterator(xcb_get_setup (c)).data;
		if (screen){
			fewidth = screen->width_in_pixels;
			feheight = screen->height_in_pixels - 48 ; //handle tray
			febpp = screen->root_depth;
		}
	}else{
#include <sys/ioctl.h>
#include <linux/fb.h>
		fename = "linux";
		struct fb_var_screeninfo variable_info;
		//ioctl (open ("/dev/fb0", O_RDWR), FBIOGET_VSCREENINFO, &variable_info);
		ioctl(STDOUT_FILENO, FBIOGET_VSCREENINFO, &variable_info);
		fewidth = variable_info.xres;
		feheight = variable_info.yres;
		febpp = variable_info.bits_per_pixel;
	}


	if ((nsoption_charp(homepage_url) != NULL) && 
	    (nsoption_charp(homepage_url)[0] != '\0')) {
		feurl = nsoption_charp(homepage_url);
	} else {
		feurl = NETSURF_HOMEPAGE;
	}
any preferences for homepage_url / NETSURF_HOMEPAGE?

Edit: framebuffer/fbtk/event.c should have this keymap instead:

static int sh_keymap[] = {
/* 0 1 2 3 4 5 6 7 8 9 */
-1, -1, -1, -1, -1, -1, -1, -1, 8, 9, /* 0 - 9 */
-1, -1, -1, 13, -1, -1, -1, -1, -1, -1, /* 10 - 19 */
-1, -1, -1, -1, -1, -1, -1, 27, -1, -1, /* 20 - 29 */
-1, -1, ' ', '!', '"', '~', '$', -1, '&', '"', /* 30 - 39 */
'(', ')', '*', '+', '<', '_', '>', '?', ')', '!', /* 40 - 49 */
'@', '#', '$', '%', '^', '&', '*', '(', ';', ':', /* 50 - 59 */
'<', '+', '>', '?', '@', -1, -1, -1, -1, -1, /* 60 - 69 */
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 70 - 79 */
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 80 - 89 */
-1, '{', '|', '}', '~', '_', '~', 'A', 'B', 'C', /* 90 - 99 */
'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', /* 100 - 109 */
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', /* 110 - 119 */
'X', 'Y', 'Z', -1, -1, -1, -1, -1, -1, -1, /* 120 - 129 */
};
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#331 Post by Ibidem »

http://comments.gmane.org/gmane.comp.we ... devel/9194
That's the state netsurf js was originally in, but...though they might have improved it, it sounds like improvements ran into "Can't do that yet".

But anyhow: a good page would be something related to puppy, but with a way to search...or Google.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#332 Post by technosaurus »

I fixed the keys and changed the homepage to the puppy standard. Is anyone interested in the vnc or wayland backend or have a reason to want sdl (sdl should be covered by wayland, linux and x) before I rebase my build environment (may do a gtk2 build in between)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#333 Post by goingnuts »

When running from CLI the error I get is:
ioctl(1,FBIOGET_VSCREENINFO,0xbff64890) = -1 EINVAL (Invalid argument)
exit_group(1)
Any chance to get CLI going as well?
Tested in pUPnGO with Xvesa with shm - runs but without any content. Not sure but maybe xserver needs some fontserver capabilities as well?
When switch to Xorg it runs ok...

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#334 Post by technosaurus »

goingnuts wrote:When running from CLI the error I get is:
ioctl(1,FBIOGET_VSCREENINFO,0xbff64890) = -1 EINVAL (Invalid argument)
exit_group(1)
Any chance to get CLI going as well?
Tested in pUPnGO with Xvesa with shm - runs but without any content. Not sure but maybe xserver needs some fontserver capabilities as well?
When switch to Xorg it runs ok...
:oops:
I added this code, note the //comment ... I was just guessing from some other code
It can probably just be removed and replaced with the standard default 800x600x32 (which can be overridden)

Code: Select all

#include <sys/ioctl.h> 
#include <linux/fb.h> 
      fename = "linux"; 
      struct fb_var_screeninfo variable_info; 
      //ioctl (open ("/dev/fb0", O_RDWR), FBIOGET_VSCREENINFO, &variable_info); 
      ioctl(STDOUT_FILENO, FBIOGET_VSCREENINFO, &variable_info); 
      fewidth = variable_info.xres; 
      feheight = variable_info.yres; 
      febpp = variable_info.bits_per_pixel; 
   } 
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#335 Post by technosaurus »

I redid the xcb/framebuffer logic and rebuilt
http://uisacad5.uis.edu/~bconroy/nsfb-git-i486.pet
Note: this is a temporary location - please mirror.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#336 Post by Keef »

Just tried latest version on ThinSlacko.
Under X a window opens but it is blank.
Tried using the framebuffer (1024x768, vga=791). Started up and filled the screen, but then cursor is seen flashing. Netsurf is not running, and need to press control-c to get prompt back. Its looking very good though.
Been playing again with a nfsb I did last year. Found I can exit by switching TTYs (alt F1 or other, and back to alt-F2 again) - this shows the original console it was launched from so can use ctrl-c. Pressing alt-F4 gets back to NetSurf if still running.
Can be a little erratic though, sometimes have to try alt-F12 first. No idea why. I'd given up on it before as having to reboot was a little tiresome...
[update]
No joy on Akita, but works perfectly under X on Wary 5.5. Same problem as above on the framebuffer though. Shame, was dying to try that nice quit button too.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#337 Post by technosaurus »

try manually setting the width height and bpp with -w <width> -h <height> and -b <bpp> ... you can also make it skip the X checks by using -f linux

for x to work, you have to have the TTF fonts in

# freetype compiled in font serch path
NETSURF_FB_FONTPATH := /usr/share/fonts/default/TTF:/usr/share/fonts/truetype/ttf-dejavu:/usr/share/fonts/truetype/msttcorefonts

and

# Default freetype font files
NETSURF_FB_FONT_SANS_SERIF := DejaVuSans.ttf
NETSURF_FB_FONT_SANS_SERIF_BOLD := DejaVuSans-Bold.ttf
NETSURF_FB_FONT_SANS_SERIF_ITALIC := DejaVuSans-Oblique.ttf
NETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD := DejaVuSans-BoldOblique.ttf
NETSURF_FB_FONT_SERIF := DejaVuSerif.ttf
NETSURF_FB_FONT_SERIF_BOLD := DejaVuSerif-Bold.ttf
NETSURF_FB_FONT_MONOSPACE := DejaVuSansMono.ttf
NETSURF_FB_FONT_MONOSPACE_BOLD := DejaVuSansMono-Bold.ttf
NETSURF_FB_FONT_CURSIVE := Comic_Sans_MS.ttf
NETSURF_FB_FONT_FANTASY := Impact.ttf


For ~5min I had a pet uploaded that was built for /usr/share/netsurf, but had the files in /usr/local/.... - it is fixed now

these may be useful...

# Default binary install path
NETSURF_FRAMEBUFFER_BIN := $(PREFIX)/bin/

# Default resource install path
NETSURF_FRAMEBUFFER_RESOURCES := $(PREFIX)/share/netsurf/

# Default framebuffer search path
NETSURF_FB_RESPATH := $${HOME}/.netsurf/:$${NETSURFRES}:$(NETSURF_FRAMEBUFFER_RESOURCES):./framebuffer/res

It would be interesting to use this as a toolkit for making web apps, but I would like to fix the curl bindings to use curl directly vs. accessing openssl, so we could use axtls or polarssl for https
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#338 Post by Keef »

Aaaah. . looks like I got the one with /usr/local/share/netsurf/, but it is working ok on Wary anyway (under X).
Attachments
nsfb.jpg
(55.59 KiB) Downloaded 707 times

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#339 Post by technosaurus »

ahh, yes Wary (and other woof-built pups?) has /usr/share/doc/home.htm ... otherwise you would get a blank page ... perhaps I should just modify the default about:welcome page instead. I am trying to figure out how to get drop-down menus to work in netsurf but they only have partial css3 support - if anyone finds a page where dropdown menus work, please let me know and I will update the web desktop for integrated use with pupngo.

p.s. I have been working on a restful web applications backend that is built around busybox tools - right now I only have a video rental store using sqlite3 as a database (though you could use flat files), but the code is pretty easy to follow if anyone is interested in things like being able to run stuff on pupngo via their droid phone or using netsurf as an application toolkit. I have some extra code in bashbox for on-the-fly generation of html too, but I got side tracked with trying to implement on-the-fly content based on the user agent string (such as svg content for real browsers and vrml for old IE)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#340 Post by goingnuts »

Well cant get your last version to run in pupngo...it runs but with the blank page without navigation (fonts installed so not that...). Runs OK in P412 though...
I was wondering if a lighter font could be used - the DejaVuSans take 1816K of space?

I cant compile it for framebuffer myself so cant check below code to set application/windowname (and its for X-app and not framebuffer) - but for older jwm it would be nice to have the name set as hover mouse over taskbar makes jwm crash:

Code: Select all

#define APPNAME    "nsfb"
// Set classhint
  XClassHint classHint;
  classHint.res_name  = APPNAME;
  classHint.res_class = APPNAME;
  XSetClassHint(display, appWin, &classHint);

  // Set windowname
  XStoreName(display, appWin, APPNAME);
  XSetIconName(display, appWin, APPNAME);
Also looked again at links-2.7 for comparison: It might have more stuff already (almost same bin size static linked) but the graphics are more "coarse" than netsurf...might be worth looking into the links code? Some of the "odd" look is missing icons in toolbar (and a permanent visible toolbar) but simple javascript is handled...well - just a thought...
Attachments
snap0000.png
(178.79 KiB) Downloaded 657 times

Post Reply