Thread Tools
Posts: 405 | Thanked: 1,615 times | Joined on Dec 2013
Just like promised the last week I spend some time coding a webbrowser for Sailfish which supports landscape and supports tabbing.
I based my work on the tinywebbrowser project by Mike7b4. So thanks for the initial code and inspiration.

The current features of the browser so far:
  • Landscape support
  • Tabbing support (real without reloading of tabs)
  • Bookmark support
  • Setting browser user agent
  • Setting default font sizes
  • Opening up links in new tab (by long press and hold on link)
  • Copy links (by long press and hold on link)
  • Open rtsp, rtmp and mms links with external viewer (e.g. LLs VideoPlayer)
  • Setting DNS Prefetch
  • Setting Offline WebApplication Cache
  • Manually add bookmark with specific user agent
  • Fast scroll to top or bottom of page
  • Watch Youtube with internal or external player (e.g. LLs VideoPlayer) with direct link
  • Download Youtube videos
  • Private Browsing
  • Clear Cache, Cookies, History
  • ReaderMode (with NightMode)
  • Copy text from website
  • Search text in website
  • Keyboard hotkeys
  • Session support
  • HTML5 Video Tag detection
  • Embeded Youtube detection
  • Integrated file manager
  • Integrated Download Manager
  • Keyboard Hotkeys (for TOHKBD or bluetooth keyboards)
  • Set as default browser
  • Backup Manager (Import/Export Bookmarks,Cookies,History,Settings)
  • Proxy Support
  • Fast Tab Switching
  • Create Website Launchers
  • Cookie Manager

You can find the code here:
RPM here:
Tablet (i486) RPM:

It is recommend to use QtWebkit 5.212 from Version 2.9.7 onwards.
You can currently find RPMs here:

Version 3.0.4
  • Add support for light theme
  • Make background white for video player when isLightTheme
  • Add rew and ffwd buttons to video player

Version 3.0.3
  • searchText: Hide on Esc; Focus Webview on hide and search
  • urlText: support modifier .com/.net/.org shortcuts; merge code duplication
  • added*hw keyboard switch setting + overview page (switch between BB10 like shortcuts or desktop browser shortcuts) [Thanks to jgibbon for this awesome work]
  • urlText: focus webview on escape
  • bookmarks: hide on escape
  • Renamed open-url-webcat to harbour-webcat-open-url + set icon theme and add german translation + use x-scheme-handler for *
    mimetypes (allows setting webcat as default browser in mimer again)
  • Workaround to allow registering harbour-webcat-open-url as http/https handler in the mime database
  • Only copy over dbus service file if necessary
  • Updated translations (Polish, Swedish, French, Spanish)

Version 3.0.2
  • Make quickscroll area smaller, appear after bigger threshold, and don't react on pressed
  • fine tune extraThreshold for landscape quickscroll
  • Disable some debug output
  • Fixed moving of files (causing loss of data) in filemanager
  • Fixed filepicker not able to select files
  • Faster tab switching
  • Don't loose keyboard shortcuts on tab switch / creating new Tab
  • Add function to get nextTab and prevTab
  • Added shortcut for quick tab switching ctrl+tab & ctrl+shift+tab
  • hide tabBar and bookmarkList before switching tab
  • Open Filemanager immediate and don't perform animation when entering about:file
  • Add more keyboard shortcuts (Ctrl+W - Close, Ctrl+T - New Tab, Ctrl+N - New Window, Escape - Stop)
  • Allow swiping on urlTitle (only visible after website loaded completely) to switch tabs
  • Use threshold value resolution dependent for back/forward swipes on minimized toolbar
  • Fix highlighted tab not filling whole width with highlight

Version 3.0.1
  • Fixed mimetype set as default browser
  • Fixed keyboard shortcut for showing bookmarks not working
  • Q should open up bookmarks/tab view aswell [like on BB10]
  • Press A on keyboard to add current page to bookmarks
  • Fixed editing of bookmarks / manually adding bookmarks
  • Fixed wrong aligned ulrtext when pressing U shortcut on keyboard
  • Made fancyscroller width a little bit shorter
  • Fixed create folder in home + showing error message when folder cannot be created
  • Don't show Add to places for home dir

Version 3.0.0
  • Only add default bookmarks once on first start (not if bookmarks are empty)
  • Cleanup (Make TabBar otherComponent)
  • Added nightMode Button (replaced newWindow button) [Thx to Dharmendra63]
  • Updated urls for default bookmarks
  • Port away from SelectUrl page and use TabBar and BookmarkList components (faster navigation less clutter)*
  • Added workaround for rendering cut when window in background
  • Doubleclick on Goto Button switches to previous Tab
  • Distinguish single and doubleClick on gotoButton more and don't fire singleClick event when doubleClicking (200msec delay timer checks for single and double click)
  • Hide webview when bookmarkList is visible (more performance on some devices)
  • Added File Properties Page for FM
  • Open internal video player for audio files aswell
  • Allow opening files with a click on file icon in properties
  • Added RenameDialog + show full size of directories
  • Added CreateDirDialog + fixed removing of folders
  • Added permissionDialog
  • Adapt to new SailfishOS Gallery video player defaults (Close button top right, Fullscreen button bottom right)
  • Fixed margin bottom of fullscreenbutton + margin right for when maxTime is not visible
  • Proper fix for video player component size and anchors after exiting fullscreen or changing orientation
  • Added placesPage for FileManager
  • Removed Pulleymenuitems available in placesPage and add properties to pulleymenu in filemanager
  • Calculate dirSize in background so it does not freeze FileManager UI
  • Added option to add custom bookmarks to placesPage
  • Allow renaming of custom places items
  • Allow setting desktop link to Webcat Fileman
  • Double click on video player component switches to or from fullscreen
  • Disable Split WebView as not working anymore
  • Fixed Video Player Component wrongly anchored on close
  • VideoPlayer Component takes now 1/3 of the the screensize in portrait mode and allows you to browse the web while watching a video
  • Allow swiping video player component up and down to reposition when not in fullscreen or landscape
  • Make sure webview gets visible when exiting fullscreen in portrait mode*
  • Make sure to hide webview on fullscreen all the time
  • Removed pressandhold on gotoButton and quick extraToolbar navigation
  • Cleaned up extraToolbar. Removed newTab + closeTab.
  • Visually redesigned MenuPopup to match rest of Webcat
  • Always show 7 items in extra toolbar and align them to screen size
  • Removed menuPopup from Tabbar (is available now in extraToolbar)
  • Make extraToolbar bigger
  • Use solid highlight color dimmed down as tabbar highlight (show active tab)
  • Removed Jolla Tides default bookmark (website not active anymore)
  • Added tor icon in tab/gotoButton if tor is enabled
  • Fixed infoBanner for proxyPage and tor disabling
  • Fixed urltext anchoring and switch to webtitle + weburl when title of webpage is available
  • Fixed mediaDownloadRec overlaying menuPopup
  • Fixed webview height/width by anchoring it to page and hide toolbars (except minimized main toolbar) at page end
  • Simulate quickScroll UI in FancyScroller when in landscape mode
  • Don't minimize toolbar when loading initial default about: urls
  • Fixed mediadetect running on touchend conflicts with previously detected media (disabled touchend)
  • Only check youtube url and add url to history if not about: url
  • Don't hide mediaDownloadRec if atYBeginning and atYEnd
  • Better workaroundRefresh method
  • Set pixelAligned to true (slightly smoother website scrolling)

Version 2.9.8
  • Detect HTML5 Media elements and embedded youtube videos after website completely loaded
  • Cleaned up Mediadetect.js (make mediadetect rerun html5 a+v & yt embed detect on touchend)
  • Some cleanup (make toolbar browserComponent and separate it from firstPage)
  • Fixed show sun/moon icon when in readermode and toolbar is expanded again
  • Some cleanup (make extraToolbar browserComponent and separate it from firstPage)
  • Fixed some errors in TabList
  • Updated translations
  • Give visual feedback when started in private mode (Closes #59)
  • Sync fmhelper changes with (LLs video Player) -> Copy/Move process in background
  • Get rid of warnings during compile
  • Make MediaDownloadRec browserComponent and separate it from firstPage
  • Fixed mixed content media site (HTML5 + YT) download button
  • Added Sailfish-Browser to share menu
  • Use slightly different approach for devicepixelratio hack that visually looks more pleasing
  • Prevent worker thread of FolderListModel from starting immediately
    de-duplicate some expensive calls
  • Set contextProperties up before loading qml to avoid error messages
  • Enable certain features only on newer qtwebkit versions if available (MediaSource Support, Autoplay Blockage)
  • Added workaround for taphighlight not working on qtwebkit 5.212

Version 2.9.7
  • Long press on close button in tabview closes all tabs
  • Hide bookmarkbutton by default only show when urlbar is focussed
  • Replace reload button in extraToolbar with closeTabButton
  • Reduce spacing between BackIcon and ForwardIcon in toolbar
  • Split Bookmarkspage in 2 columns with bookmarks on the left and tabs on the right if in landscape
  • Added optional input method by long pressing on input box (opens a native input editing dialog)
  • Updated devicePixelRatioHack
  • Enable experimental.overview to better work with devicePixelRatioHack
  • Deactivated pollyfills that aren't necessary anymore (new qtwebkit 5.212 takes care of it upgrade to it if you need svg and full es6 support)
  • Save if media in MediaList is ytMedia
  • Disable HTML5 Audio & Video workarounds (qtwebkit 5.212 takes care of html5 audio + video)
  • Enable HTML5 Audio Tag detection and add to MediaList
  • Slight update of the default user agent
  • Handle onEnterFullScreen and onExitFullScreen
  • Fix Restore Backup functionality
  • Replaced old Adblocker rules with something more recent
  • Attach to window.onload instead of overwriting it (fixes some sites like acid3 test or css3 test not loading)
  • Some DevicePixelRatioHack.js optimizations
  • Added alternative webkit user agent *(used by Sailfish Browser for youtube)
  • Updated Jolla Sailfish Browser user agent

You can get the app in the warehouse and jolla store aswell and rate it there

0.9-1 Videodemo:
0.9.6 Videodemo:
1.9.9 Videodemo:
2.0.9 Videodemo:
2.1.0 Videodemo Backupmanager:
2.2.0 Videodemo Fast Tab Switching:
2.3 Videodemo:
3.0 New Features:
Donation for my sailfish apps via PayPal

Donate using Liberapay

Last edited by llelectronics; 2018-11-09 at 10:47.

The Following 67 Users Say Thank You to llelectronics For This Useful Post:
TMavica's Avatar
Posts: 2,013 | Thanked: 1,034 times | Joined on Apr 2010 @ Hong Kong
nothing can see after install when I start it
The Glorious Lady T.Mavica
Posts: 45 | Thanked: 76 times | Joined on Dec 2013 @ Bruxelles
Thanks for your work. But I have two problems:
1)doesn't work installed by Warehouse(i have installed manually) 2) When you launch the application there is a blank page
Attached Images
Posts: 405 | Thanked: 1,615 times | Joined on Dec 2013
Hmm... need to debug it. Just a sec.
Donation for my sailfish apps via PayPal

Donate using Liberapay
Posts: 751 | Thanked: 2,797 times | Joined on Jan 2011 @ Czech Republic
I have also experienced these two errors (not being able to install through Warehouse and the blank screen).

The error code of the former is:
[W] unknown:11 - file:///usr/share/harbour-webcat/qml/pages/helper/db.js:11: Error: no such column: agent Unable to execute statement
[W] unknown:107 - file:///usr/share/harbour-webcat/qml/pages/helper/db.js:107: Error: no such table: settings Unable to execute statement
I know it's hard to debug such things when databases persist in the SDK

EDIT: Nevermind, that was not the right advice. But the error lies there.

Last edited by nodevel; 2014-01-11 at 15:45.
Posts: 405 | Thanked: 1,615 times | Joined on Dec 2013
For the white screen please make sure to have qt5-qtgraphicaleffects installed.
I will upload a new package with this as dependency when I figured out the db.js problem.
Thx for your help and patience.
Donation for my sailfish apps via PayPal

Donate using Liberapay

The Following 2 Users Say Thank You to llelectronics For This Useful Post:
Posts: 405 | Thanked: 1,615 times | Joined on Dec 2013
Update: I think I fixed it:
Donation for my sailfish apps via PayPal

Donate using Liberapay

The Following 5 Users Say Thank You to llelectronics For This Useful Post:
Morpog's Avatar
Posts: 956 | Thanked: 2,628 times | Joined on Nov 2011
llelectronics you won't make it to harbour with gt5-qtgraphicaleffects
Posts: 405 | Thanked: 1,615 times | Joined on Dec 2013
Really ? Hmm... then I need to think about something else to make it to harbour.
Donation for my sailfish apps via PayPal

Donate using Liberapay
Posts: 751 | Thanked: 2,797 times | Joined on Jan 2011 @ Czech Republic
Thanks! Looks great!

Just few issues I noticed:
  • The URL bar covers a small part of the page - on one website I visit, there a link to switch to mobile version, which is currently hidden behind the bar (I just noticed that the bar becomes thinner after scrolling, but only on longer pages).
  • The tab bar is visually bit confusing - not really sure what is current tab... You could remove the 'New tab' and 'Close' buttons as they're accessible through the pulley menu
  • Would you consider adding bookmark editing function? It is quite easy to edit bookmarks in the default browser (through a config file), but since here it's in a database... It is difficult to make a bookmark pointing to
  • Switching to landcape and then back to portrait zooms the page in
  • Rotation animation is not very smooth

These are just minor issues - I am very impressed by your work. I wouldn't have imagined something would replace the default browser in its initial version. Simply amazing.

browser, webbrowser

Thread Tools

Forum Jump

All times are GMT. The time now is 09:57.