Kitsune ~

Foxkit Web Browser

Web Jul 29 2008
Score 74%
26 Dislikes
Foxkit Web Browser

Web 29 comments

by kit
Score 74%
26 Dislikes
Jul 29 2008
>Help-about Foxkit shows "0.3-git" which is a bit confusing!

Now thats an oversight if I've ever seen one! I'm not even to 0.3 yet! :P The version string is now set to 0.0.6-git, though I'll need to remember to set it correctly for release... and I think we all now know I'll probably forget (hopefully I won't!) - Aug 28 2008
"Looking good so far, thanks for the effort!"

Good to know!

"Foxkit does not appear in KDE menu."

Yeah, I haven't made a .desktop file for Foxkit yet, though since I finished making the first icon a little while ago I don't really have any excuses now, there shouldn't be any reason that that won't work in the next version.

"You also mentioned 'make install' in 0.0.6 will place foxkitui.rc. Will it do this automatically for new users too?"

Yeah, the next release should automatically do that for both new and old users alike, though older users might wanna delete the foxkitui.rc file they manually copied (I can't recall if I've changed that file in a while, I think I have).

Basically both of those problems are because I kept trying to push back learning more about CMake :P 'make install' should also be working if you pull the sources from the git repository.

In the next week or so I really should push another release since I haven't done any in a good while and theres been lots of nice changes.

"Note: This comment was posted using Foxkit :)"

At least I know it works on some else's computer :P - Aug 27 2008
Thanks for the feedback!

I've added that problem to my todo list, I've still got a good bit of work to do wrt SSL certificates and not much time so I might not be able to get around to it for a bit, but eventually I should! - Aug 19 2008
Good news! The latest Git sources (not in 0.0.5, but should be in the next release) will now properly install everything with 'make install' (if you're following git you'll need to delete your CMakeCache since having an old one of those caused problems for me, and rerun cmake of course).

Probably by the time I have the next release I'll also make a .desktop file and have cmake also install that. - Aug 07 2008
Having the cursor change to include a little '+' or some other symbol when hovering over a link that'd by default open a new tab/window sounds like it'd be a good idea, although I'm not sure if it'd be possible to know for a javascript link if it'd try to open in a new tab or not.

Having MMB always open in a new tab (except those pesky javascript links like GMail uses...) and shift+MMB (try to) always open in the same tab would probably be the most user friendly way to do it, as it'd be less likely to surprise the user.

It might also be interesting to have an option to force all links that are opened via left mouse click to open in the current tab (again, js might be a problem for this).

A slightly less all-or-nothing way would be to create an extension (once I've added Kross support) that'd use regular expressions on all links that are opened via left clicks and if it gets a match to force it to be opened a certain way (always in a new tab, always in the current tab). Similar functionality could probably be achieved by a greasemonkey-like extension, although I don't have any experience with greasemonkey so I doubt that'd take less time to implement that the others. - Aug 03 2008
Right now nothing is installed (I haven't added that to the cmake files yet). The instructions at the top of the page include manually copying the foxkitui.rc file to "`kde4-config --localprefix`/share/apps/foxkit/foxkitui.rc".

I've been meaning to add the cmake setup stuff but just haven't gotten around to it. - Jul 29 2008
At first it'll only be possible to view PDFs externally, but if/when I switch Foxkit over to using KParts it should be quite easy to allow embedding Okular for viewing PDFs. At this point I'm still not sure if I'll end up using KParts or not, I still have to weigh the pros and cons of using them.

As for doing file system stuff, thats something I kinda hope to avoid as adding it will likely make the code base much more complex, and without great care it'll probably also clutter up the interface and configuration.

But Foxkit is still in early development so lots of things are still up in the air and might change given time. - Jun 22 2008
People that don't want to use Firefox already have a few alternatives. Theres Epiphany, which is a GTK browser which uses WebKit (formerly Gecko, they recently ditched it). Theres also Arora, which is a pure-Qt browser (started by a TrollTech employee as the demo browser to show off QtWebKit).

Before the release of Qt 4.4 (originally tech preview 1 for Qt 4.4) I started developing an application that used QtWebKit as an alternative launcher ("City Launcher") for a MMO, but I ran into a few bugs with QtWebKit (at the time I wasn't sure if they were bugs or me just not having a clue what I was doing) and that kinda halted the development while I waited for the next release. Unfortunately I somewhat forgot about it (and some of the future binary packages for the tech previews and beta didn't include QtWebKit module) so I hadn't done anything with it for quite a while when Qt4.4 was released. Shortly after the release I decided that writing a web browser would be a good learning experience for the program I was making (as well as an excuse to learn to use Git), so I began working on Foxkit as a Qt-only application. Arora started at around the same time as Foxkit, and being based off of the Qt demobrowser it had quite a head start (it's a really nice browser, quite solid actually) I decided if I wanted Foxkit to have a real meaning I'd have to differentiate it from Arora (otherwise Arora would probably always be clearly superior to Foxkit and I'd probably quickly lose all motivation to further develop it), using the KDE technologies would give me a MAJOR advantage (scripting via Kross, Solid, KActions vs QActions, KTabWidget vs QTabWidget, configurable shortcuts/toolbars for free, looking like a first class citizen in a major desktop environment, and lots of other things). It took me a while to refactor most of the code to use the KDE version of things (some things simply required replacing a Q with a K, some allowed me to scrap many lines of code and extra external files and replace it with just a couple lines of code, and the KXMLGUI required the most work requiring me to setup the foxkitui.rc file and learning that). Basically just from swithcing to using KDE+Qt I simplified Foxkit's code base, got better configurability, and much closer integration.

As for Foxkit vs Konqueror, it's pretty similar to Dolphin vs Konqueror. Konqueror has a very complex code base (from having to handle all sorts of situations) and a massive amount of configuration options (unfortunately my favorite setting, having the tab's icon turn into a close button, is hidden away in configuration file). I've tried working on Konqueror but the size and complexity is simply overwhelming since I have no clue where to start or where anything was. Foxkit's code base is small and simple enough that I know where everything is in my head and it isn't hard to manage everything. Hopefully by maybe around the end of this summer I can have Foxkit at around feature parity with Konqueror as a web browser, and from there hopefully improvements I make to Foxkit (like tag based bookmarks) can be propogate into Konqueror (like how the breadcrumb widget and dolphinpart were added to Konqueror).

I chose WebKit over KHTML because I found it easier to use, and Foxkit originally started off as being a pure-Qt application, and CityLauncher before it couldn't realistically use KHTML. In the future I hope to allow using KHTML as an alternative rendering engine to WebKit, but that probably won't happen for quite a while. - Jun 12 2008
Whoops! Over looked that

Now fixed in Git, should be in the next release :P - Jun 11 2008
I don't really have any plans on making Foxkit a universal viewer like Konqueror, partly because Konqueror is already a kick-ass universal viewer :P

I'm more so intending Foxkit to be a Dolphin of the web. Right now Foxkit is *much* simpler than Konqueror (both in the interface and the code base), and I think I'll be able to maintain most of that simplicity as I fill in Foxkit's missing features (cookie and history should be fairly unobtrusive, as they'll mostly be seen by the user in the configuration dialog and have their own classes in the code base).

I've designed (for varying definitions of 'design' ;) Foxkit to not have the child classes depend on the parent classes (i.e. only using signals to talk to parent classes and not directly accessing any of the functions that exist in parent classes) so hopefully porting systems used in Foxkit to Konqueror won't be too challenging (although none of the currently existing stuff is that interesting). Hopefully Foxkit will be able to be used as a test-bed for new ideas like Dolphin was, which may then benefit Konqueror as they're ported over. - Jun 11 2008
Following the lead of Plasma would probably be a good idea, I've never really done any plugin development before so following the lead of some people that seem to know what they're doing would probably be a good idea :P

And actually Foxkit is closer to that point that I realized, there had been several problems wrt tab switching that'd been around for quite a while that I solved last night (I'm disappointed how simple the fixes were that I'd been over looking :P) so with some few minor exceptions (I think mostly just re-doing the link's context menu to allow opening it in a new tab) I'm gonna start working on the really interesting things like cookie handling (I want a way to be able to use multiple sets of cookies for a single site... like being able to be logged into two gmail accounts at once), history, enabling the webkit's web inspector, and after that point I can probably begin working on things like Kross support... Oh yeah, somewhere in there I should probably implement the configuration dialog and make it possible to install Foxkit system wide :P - Jun 10 2008
I was actually planning to use Kross to hopefully implement something similar to Firefox's extension support. Being able to use a combination of Kross and Get Hot New Stuff would easily solve a good portion of the whole extensions problem one would face when making something equivalent to Firefox's.

As for the bookmarks, I haven't even begun to think about that yet and most likely I'll first throw together something like the traditional model and then come back later to hopefully get a more modern model (I've never been a fan of the traditional bookmarks menu, I rarely use it and mine always ends up being a giant mess of never-used bookmarks). Hopefully Nepomuk+Stringi will open more options.

I might also try to have the whole bookmarks system exist as a plugin to simplify ripping it out and replacing it with some crazy new models that might be the next big thing/total failures (failures can be as much fun as success :P).

Hopefully by the end of this summer I'll have something that I'm willing to use as my primary browser full time, and depending on how much of a masochist I am, I'll probably start focusing on a 1.0 release then.

Thanks for the reply! If you have any more ideas please post them! - Jun 09 2008
Just as a clarification, the lines 'mkdir ~/.kde4/share/apps/foxkit

cp ./src/foxkitui.rc ~/.kde4/share/apps/foxkit/foxkitui.rc' are required so that FoxKit will see the ui.rc file (otherwise the toolbars/menus will be rather... not working). Currently you can't actually 'install' Foxkit system-wide (at least without doing it all yourself :P). Eventually I'll get around to adding that to the cmakelist files, but for the 0.0.1 release it's not supported. - Jun 09 2008