Page 1 of 7

Posted: Sun 10 May 2009, 08:05
by vovchik
Dear Mark,

Wonderful work. I installed it in 4.12 on my Samsung NC10 netbook - after finding the libgee pet - and it works very well. It's great for browsing documentation, like your earlier html-viewer, only better.

Thanks.

With kind regards,
vovchik

PS. I share Lobster's enthusiasm.

Posted: Sun 10 May 2009, 11:34
by BarryK
Wow, just when I put together a internal HTML-viewer PET for Woof alpha7, you are already miles ahead (or I should say "kilometres ahead"!)

Well, perhaps I'llleave it as-is for alpha7, because if I attempt to update it, I'll look on the forum the next day and see you have done heaps more to improve it.

I'm planing the next Woof release after alpha7 will be 'beta1', then I'll update it.

Posted: Sun 10 May 2009, 12:22
by MU
Lobster, is there no icon in the menu?
Then I must change the "category" entry in /usr/share/applications/PuppyBrowser.desktop to a different one. I just had tested the menu-entry in lxde.
*edit: in Puppy 4.2 it works, just takes a moment to appear.

Vovchik,
yes, libgee is needed for the bookmarks.
It can be installed with PetGet.
I could replace the lists with fixed arrays, but must check, if it would have other advantages.
Libgee lists have an unlimited length, while arrays are fixed, so they would need some tricks to allow a non-limited amount of bookmarks. But it would be possible, so we had one dependency less.

Barry,
in the next 2 weeks I finish my C# course, and must work on my final project (C#2vala), so there will be not much time for the browser.
So it will remain like it is I think until then.

There is one issue, that is a showstopper:
if you click on links, that should open a new window, nothing happens.

E.g. the links on dotpups.de use "target=_blank", and do not work.
I have not found out yet, how to solve it, and if someone knows a solution, I would add it quickly.
A workaround is, to drag those links in the URL-entry, and click on the "ok" button.

Apart from that, it basically works as I like, I just would like to add support for tabbed browsing later, and mabe a very simple config dialog.

Mark

Posted: Sun 10 May 2009, 13:51
by MU
The pet included old sourcecode without active pwget button (but the binary was the current).
I updated the pet with the current source, and added some comments in it, to make it easier readable.
Mark

Posted: Sun 10 May 2009, 16:09
by Lobster
Lobster, is there no icon in the menu?


Yes there is, just booted up (restart x might have done it too) 8)

- just did a JWM refresh which is sufficient in 4.2
(or there is a button to refresh menu - got confused with that . . .

Posted: Sun 10 May 2009, 17:07
by sullysat
Mark,

This looks great but I need libgee and I don't see it in the petget list. I'm probably missing something simple and have no idea how to use petget from terminal.

Help?
Sully

Posted: Sun 10 May 2009, 18:01
by MU
I added libgee to the message where you could download the browser.
http://www.murga-linux.com/puppy/viewto ... 882#303882
Mark

Posted: Sun 10 May 2009, 18:04
by sullysat
Awesome! Thanks Mark!

Sully

Posted: Sun 10 May 2009, 18:08
by MU
I attach a pet for interested developers.

This NOT for endusers, as I just started to add tabs, they do not work at all as expected!

I has a new button, that opens a new tabpage with the current URL.
But when I click on the new tabs, a wrong index is returned (printed to console).

If someone can solve it, please let me know.
You must compile it on your own in ValaIde.

The corresponding code is around line 300:

Code: Select all

    def new_tab()
        mozcount ++  
        moz[mozcount] = new MozEmbed ()  
        var a = note.append_page(moz[mozcount] , null)
        print("--%d" ,a)
        moz[mozcount].show()
        load(current_uri)
 


    def note_page_changed()
    
        var index = note.get_current_page()
    
        print("%d" ,index)
This NOT for endusers, as I just started to add tabs, they do not work at all as expected!
Mark

Posted: Sun 10 May 2009, 18:22
by MU
Lobster wrote:Mark, you must be dependent on some libraries from Seamonkey?
Would it be viable to use this in Puppy - allowing users to download a bigger browser if required? Preferences for Opera, Seamonkey, Firefox, Konqueror, Flock, Dillo etc would no longer be an issue . . .
It can be used with Seamonkey 1.x, or Xulrunner 1.8.x.
PuppyBrowser does not replace Seamonkey, it is just a reduced grafical Interface written in pure Gtk. This should explain the faster start, as the Seamonkey interface is very complex to allow extensions and such, while PuppyBrowser just wants to offer the basic requirements to browse websites.
But it requires a full gecko installation (= Seamonkey or Xulrunner).

Xulrunner is a "seamonkey for developers", without own browser-interface, but supplying the Gecko engine and all the required stuff to write own applications based on Gecko.
Among the utilities is gtkmozembed.so, the library, that has wrappers in Vala/Genie.

As it is no longer supported in Seamonkey2 or Xulrunner 1.9, we need a new library for those newer browsers, or must install Xulrunner in an own folder in next versions of Puppy.
I have no idea, what kind of new library will follow for the new browsers.

Mark

Posted: Sun 10 May 2009, 20:04
by 01micko
Hello Mark

I've been experimenting with trying to get the browser to run in fat_ free dillo on my 486 and realise it must actually need seamonkey, because I got all the dependant libs but still get an error, "TLS data" in regard to one of the libs. Giving up on that one

Next step is to remaster a 4.1.2 of puppy adding the puppybrowser and doing a full install to the 486. Methinks that should work. Seamonkey has next to no chance of running on that box due to ram constraints.

Thanks again

Mick

Posted: Sun 10 May 2009, 20:39
by MU
Micko,
it also should run with this one:

http://releases.mozilla.org/pub/mozilla ... 686.tar.gz

Extract it somewhere, you get a folder "xulrunner".

You should symlink it, e.g.:

Code: Select all

ln -s /mnt/sda2/xulrunner /usr/lib/
I think you also need to type in a console:

Code: Select all

export PATH=/usr/lib/xulrunner:$PATH

export LD_LIBRARY_PATH=/usr/lib/xulrunner:$LD_LIBRARY_PATH

export MOZILLA_FIVE_HOME=/usr/lib/xulrunner

/usr/local/PuppyBrowser/puppy-browser
I am not certain, that it is enough, though.
If it works, you could add the commands to a startscript or to "puppy-browser".

Maybe several files could be deleted, as we need no "xul", but only gecko.
I have not investigated yet, how far it can be strupped down, I want to try it, once I added tabs to the browser.
Mark

Posted: Sun 10 May 2009, 21:41
by trapster
Very Impressive MU!
Using it for this message. Very snappy so far!

Posted: Sun 10 May 2009, 22:33
by MU
uploaded Puppybrowser 0.2.
http://www.murga-linux.com/puppy/viewto ... 882#303882

Changes:
- fixed bug, that pages for "new windows" did not load.
They now open in the same window.

- added a statusbar, so you can see where a link points to, when you move the mouse over it.

Mark

Posted: Sun 10 May 2009, 23:10
by sullysat
Okay, the system says the browser is installed and a dependency check says all is good now that I've got libgee installed. I even have the item in the menu, but it does not run.

The first time I try to run the browser when I boot the system I get some activity on the HDD for a few seconds, but nothing else happens.

I'm running 4.0 in a full install.

Sully

Posted: Sun 10 May 2009, 23:23
by MU
sullysat,

please type in a console:
cd /usr/local/PuppyBrowser
./puppy-browser 2>err.txt
gzip err.txt


Then attach here /usr/local/PuppyBrowser/err.txt.gz

Mark

Posted: Mon 11 May 2009, 00:01
by dawnsboy
This is impressive! I have been playing around with 0.1 and now 0.2 and I am having a great time with it. :D

Thank you.

Posted: Mon 11 May 2009, 02:13
by ttuuxxx
It could also turn into a live package manager downloader, well for the install side, like at the repo,my wheels are spinning :)
ttuuxxx

Posted: Mon 11 May 2009, 02:33
by MU
ttuuxxx wrote:It could also turn into a live package manager downloader, well for the install side, like at the repo,my wheels are spinning :)
ttuuxxx
yes, just could not sleep, and dreamt about it.

You could do this:
rule: a website contains in the URL the word "pscriptp".
like http://dotpups.de/install-a-pet-pscriptp.htm

The browser recognizes this, and treats this page in a special way.

Code: Select all

<html>

Security info: this page can install a dotpet.<p>
Please click on the next link.<p>
This opens a dialog, where you must enter a security code.<p>
It is: 12345<p>

<a href="verifycode#code12345">install test.pet</a>

<!-- embedded shellscript -->
#!/bin/sh
cd /tmp
wget -c http://dotpups.de/test.pet
petget /tmp/test.pet
rm -f /tmp/test.pet
<!-- /embedded shellscript -->
</html>
So when the link is clicked, the BROWSER (and not a Javascript engine) would open a dialog, where the security code must be entered.
As it is a inbuilt GTK dialog, there is no chance for malicious javascripts, to manipulate it.
Then it downloads the page, scans if the entered code matches the "#code12345".
If it is correct, it saves the embedded shellscript-code in /tmp/, and executes it.

I had written long ago something similar in Lua, called "microbrowser" I think, but I can't find it again.

Mark

Posted: Mon 11 May 2009, 02:58
by sullysat
MU wrote: please type in a console:
cd /usr/local/PuppyBrowser
./puppy-browser 2>err.txt
gzip err.txt
Mark,

All it says is "load error"

Sully