Making Game: How to import partial Firefox browsing history?

Original Source Link

Strangely my Firefox browsing history that’s older than a few months is missing. I don’t know why as I have set “Firefox will Remember history” in the options and expected it to have it remember all browsing history (and I can’t increase places.history.expiration.max_pages). But that would be a separate question.

Now I’d like to restore my browsing history from a backup of the places.sqlite file. It has browsing history older than the few months currently stored in the browser (I checked it with “DB Browser for SQLite”).

How can I restore the browsing history stored in that file without losing the latest history? Simply replacing the places.sqlite file wouldn’t work. Basically I just need to merge entries of the older places.sqlite into the newer file (probably via the url column). Furthermore, I’d like to try to restore various places.sqlite files from backups so that it only imports entries if it detected that the file has entries that are missing from the current browsing history.

I’m using Debian/KDE and while restoring partial history backups doesn’t seem to be possible with WhatsApp I’m sure it’s possible with Firefox.

Tagged : / / /

Linux HowTo: WebGL unsupported when running locally but works when remote?

Original Source Link

Two Debian/testing machines with same version of Firefox but different GPU and X drivers.

On my father’s machine, accessing this website gives the following error message in the Firefox console: “WebGL support for vertex shader samplers is required but not supported.” I have verified with the developers’ site that indeed the support appears to be missing. If I run the same tests on my computer, they pass. So far, nothing odd: lack of WebGL support. I have also tried Chromium (only locally) on his computer and it has the same issue.

Now for the fun part:

  • in front of his computer, running Firefox on my computer (ssh -X) but sending the output to his computer: this also works just fine.
  • in front of my computer, running Firefox on his computer but getting the X output to mine: works nicely.

Only one copy of Firefox running in all tests, profile created from scratch but same results with either his or my normal profile.

If the fault lies with some missing library on his machine, before the application sends the output to the X display, then having mine as remote display should make no difference: it should fail, yet it works. Conversely, if the fault lies with the X display and the GPU drivers, then my own Firefox displayed on his computer should fail as well, but it also works.

How can it be?
I’d love to understand what’s going on and then fix it.

EDIT: ran the same test with my laptop (no webgl support) and my desktop: in this case, remoting does not change the results; firefox from the laptop still fails the test when output is on desktop and viceversa the test passes.

Never mind: the remote / local tests are only confusing the issue, as later tests with my old laptop confirmed. If the hw is too old and lacks proper support, there is simply no way to enable webgl support. (Integrated Graphics Chipset: Intel(R) Pineview GM)

Firefox, “about:support” shows:

WebGL creation failed: 
* Refused to create native OpenGL context because of blacklist entry: FEATURE_FAILURE_OPENGL_1
* Exhausted GL driver options.
WebGL creation failed: 
* Refused to create WebGL2 context because of blacklist entry: FEATURE_FAILURE_OPENGL_1

Tagged : / / / /

Ubuntu HowTo: Firefox freezing with 100% CPU usage for 30 seconds when launching Chromium

Original Source Link

Recently I started to observe this very confusing and annoying, not to say worrying behaviour when having Firefox open and then launching Chromium:

For around 30 seconds, Firefox’ child processes would consume all available CPU resources, causing websites to stop render (already displayed page freezes, new pages show a white page with grey spinning circle) while the overall window is still responsive (menus, page scrolling, switching tabs, even internal pages like about:config or about:preferences work…). Chromium itself does not show any symptoms. Terminating Chromium again immediately, while Firefox is spinning, does not stop the behaviour any faster.

The same happens with my regular Firefox profile, a brand new, untouched Firefox profile without any add-ons etc., Firefox started in safe mode with add-ons disabled, and Firefox started in private mode. Similar for Chromium, I can launch it with my regular profile, in incognito mode or with a temporary profile, always generating the same results.

There is nothing odd happening when Chromium is running and I open Firefox.

When launching Firefox from a terminal, I sometimes get messages like these when I quit it while it is spinning (note the pipe error line mentioning some chromium ipc…):

ExceptionHandler::GenerateDump cloned child 32165
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[Parent 26520, Gecko_IOThread] WARNING: pipe error (52): Connection reset by peer: file /build/firefox-8oo9jx/firefox-62.0+build2/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 353
ExceptionHandler::GenerateDump cloned child 32274
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
ExceptionHandler::SendContinueSignalToChild sent continue signal to child

Strangely I could not reproduce that behaviour in a guest account or a newly created regular (admin) account.

Some system specs (updated):

  • Ubuntu 16.04 (64 bit)
  • Firefox 62.0+build2-0ubuntu0.16.04.5 63.0+build2-0ubuntu0.16.04.2
  • Chromium 69.0.3497.81-0ubuntu0.16.04.1 70.0.3538.77-0ubuntu0.16.04.1
  • fontconfig 2.11.94-0ubuntu1.1
  • Graphics hardware: Intel SkyLake integrated graphics (i5-6200U) + Nvidia GeForce 940M
    Currently I have the nvidia-410 driver installed, but switched to the Intel prime profile.
    How can I further troubleshoot and fix this issue?

I made a performance profile with the Gecko Profiler Extension, installed to a clean fresh Firefox profile on my regular Ubuntu account. It can be found here: https://perfht.ml/2zpTWsh – The unresponsive time frame with 100% CPU usage should roughly correspond to the highlighted area on the Content Proc timelines, from roughly 18s – 56s.

I created a Mozilla bug report for this issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1504461

Important update: Apparently my bug report was a duplicate of https://bugzilla.mozilla.org/show_bug.cgi?id=1495900, which points out fontconfig as the culprit. Seems like starting Chromium is making a change in the font configuration somehow, which triggers a complete reload in Firefox. This fits the performance profiling report, and also aligns with how former updates to font packages have triggered the same kind of freeze.

Any ideas how I can make the three (Firefox, Chromium, fontconfig) behave nicely along each other?

TL;DR: It’s an issue with fontconfig before version 2.13. It can be fixed by upgrading the package to 2.13 or higher (though I couldn’t find a suitable provider). Alternatively, examine all your fonts-related folders and config files in your home directory and test if removing any of them resolves your issue. For me, renaming ~/.fonts did the trick.


After learning about the bug reports https://bugzilla.mozilla.org/show_bug.cgi?id=1495900 and https://bugzilla.mozilla.org/show_bug.cgi?id=1411338 it becomes rather clear that the problem must be caused by fontconfig.

Somehow when Chromium starts, it triggers a change in the fonts database (???), which causes Firefox – if currently running – to re-scan the file system for fonts somehow, resulting in the CPU usage and temporary freeze.

Apparently updating the fontconfig package from version 2.11 to 2.13 (the version shipped e.g. in Ubuntu 18.10) should fix the issue, but I found no easy way to get that version on 16.04, without breaking dependencies of lots of other packages I have installed.

So as the issue is limited to my user account, I examined my user’s local font configuration and folders. There’s quite a mess of different font-related directories to be honest, including ~/.fonts, ~/.local/share/fonts, ~/.local/share-font-manager, ~/.config/font-manager, ~/.cache/font-manager, ~/.cache/fontconfig and a few more config files and application-specific font stuff.

I started by removing (renaming) the ~/.fonts folder, as it didn’t seem to contain anything useful anyway, and a simple touch ~/.fonts/Library/ before that triggered the Firefox misbehaviour. After that folder was gone, so was the issue when launching Chromium. o/

Background

It has been proposed this Firefox Bug 1492360: High CPU usage when open Firefox before chrome/chromium. That is a duplicate of Bug 1495900: Starting Chrome makes Firefox content processes hang for about two minutes, due to FontConfig font rescanning (FcInitReinitialize), is the culprit.

But I’m on Firefox too:

Firefox version.png

And when I open up Chrome:

Chrome version.png

I don’t see any performance hit to CPUs.

It may be against your morals but perhaps you can try installing google-chrome-stable like I have. Then do the test again. If there is no CPU usage spike to 100% then a bug report could be filed between Chromium and Chrome.

I’m on Ubuntu 16.04.5 LTS. Although kernel is currently 4.14.78 LTS chain I don’t think that has anything to do with it as I didn’t notice CPU hits on previous kernels either.

The only time I see all CPU’s at 100% is during update-initramfs.


fontconfig version

In the bug report it is revealed:

$ dpkg -l 'fontconfig*' | grep "^ii"
ii  fontconfig        2.12.6-0ubuntu2 amd64        generic font configuration library - support binaries
ii  fontconfig-config 2.12.6-0ubuntu2 all          generic font configuration library - configuration

In my non-buggy version (could be because of no local fonts though):

$ dpkg -l 'fontconfig*' | grep "^ii"
ii  fontconfig        2.11.94-0ubuntu1.1 amd64        generic font configuration library - support binaries
ii  fontconfig-config 2.11.94-0ubuntu1.1 all          generic font configuration library - configuration

I’m at 2.11.94 version earlier than bug report 2.12 version. In bug report upgrading to 2.13 is a recommended solution but OP mentioned in comments this isn’t possible. As such 2.11.94 might be an option.

Judging from the log, it looks like Firefox is using synchronous IPC (Inter-process communication) for some reason. There are flags in Firefox to turn on synchronous IPC explicitly (eg: network.cookie.ipc.sync). One of those might be enabled. You can access these from the about:config page

The delay would then be a result of firefox waiting on the response. Since there is no load when Chromium has finished starting up or is not actively running, there is an immediate response.

Related: https://bugzilla.mozilla.org/show_bug.cgi?id=1331680

On Ubuntu 16.04, deleting the empty folder ~/.local/share/fonts solved it in my case.

Don’t know if the following suggestion will work or not. You can give a try. Try removing chromium and firefox completely (keep the .deb files of course) using Synaptic Package Manager. After that check if there are any broken dependencies. Fix them using synaptic (if any). Now check for the CPU usage (I use Powertop).Finally do a fresh re install of the browsers.

Note: These things are generally what I do in case of specific abnormalities. I remember facing a slightly similar issue a year ago. It got resolved this way.

I have a large amount of fonts and this issue was regularly making Firefox unusable for at least fifteen minutes (never waited long enough to know if it would ever end). I’ve had the problem ever since I upgraded to Bionic (18.04). In my case, it would reliably trigger if I installed or removed a font from ~/.fonts, but anything that causes a fc-cache run would trigger the problem.

I have updated all fontconfig related packages to newer versions from cosmic (warning: totally unsupported by Ubuntu!). Firefox now recovers from touch ~/.local/share/fonts in seconds. I am now running fontconfig 2.13.0-5ubuntu3. I’ve tested Firefox, OpenOffice, GIMP and a few other tools without encountering any issues so far, but caveat emptor.

Disclaimer: this is totally unsupported, and among other things means that Ubuntu can’t fix security issues in fontconfig for you.

Tagged : / / /

Linux HowTo: Firefox speedport.ip webpage not found

Original Source Link

I’ve the following problem, I installed an Telekom Speedport Router as access point via LAN in my current network. It is connected to my first FritzBox Router. In the settings of my Telekom Speedport Router, I disabled DHCP and assigned a static IP address. Everything works great I’ve internet access!

My problem is know that it’s not possible to access the webpage (http://speedport.ip) of my Telekom Speedport Router! Firefox returns the following error message: We can’t connect to the server at www.speedport.ip, after I typed speedport.ip!

I found this question but the answer doesn’t solve the problem!

Firefox-Version: 60.0.1 (64-Bit) Ubuntu

IP-Speedport: 192.168.179.5

IP-FritzBox: 192.168.179.1

It is interesting, if I connect with a telnet client, the port 80 is definitely open, and I modify the request header than it works, I receive HTML content, but only if I modify the host to speedport.ip

$ telnet 192.168.179.5 80
Trying 192.168.179.5...
Connected to 192.168.179.5.
Escape character is '^]'.
GET /login.htm HTTP/1.1
Host: speedport.ip

Any ideas how to access the router webpage via Firefox?

Unless you’re using the Speedport as your actual Internet gateway, the “domain highjacking” cannot work. It relies on the fact that your network devices use the device’s DNS forwarder. So on your network, you can only use fritz.box.

I haven’t heard of any routers that require a specific Host header. However, you can easily check that by adding an entry for speedport.ip to your computer’s hosts file:

192.168.179.5 speedport.ip

The hosts file is located at %WINDIR%System32driversetchosts on Windows and at /etc/hosts on most other operating systems. It requires Admin/root to edit.

I think a good bet would be to actually type in 192.168.179.5, this should open up the webpage of your speedport router.

Tagged : / / / /

Making Game: Firefox speedport.ip webpage not found

Original Source Link

I’ve the following problem, I installed an Telekom Speedport Router as access point via LAN in my current network. It is connected to my first FritzBox Router. In the settings of my Telekom Speedport Router, I disabled DHCP and assigned a static IP address. Everything works great I’ve internet access!

My problem is know that it’s not possible to access the webpage (http://speedport.ip) of my Telekom Speedport Router! Firefox returns the following error message: We can’t connect to the server at www.speedport.ip, after I typed speedport.ip!

I found this question but the answer doesn’t solve the problem!

Firefox-Version: 60.0.1 (64-Bit) Ubuntu

IP-Speedport: 192.168.179.5

IP-FritzBox: 192.168.179.1

It is interesting, if I connect with a telnet client, the port 80 is definitely open, and I modify the request header than it works, I receive HTML content, but only if I modify the host to speedport.ip

$ telnet 192.168.179.5 80
Trying 192.168.179.5...
Connected to 192.168.179.5.
Escape character is '^]'.
GET /login.htm HTTP/1.1
Host: speedport.ip

Any ideas how to access the router webpage via Firefox?

Unless you’re using the Speedport as your actual Internet gateway, the “domain highjacking” cannot work. It relies on the fact that your network devices use the device’s DNS forwarder. So on your network, you can only use fritz.box.

I haven’t heard of any routers that require a specific Host header. However, you can easily check that by adding an entry for speedport.ip to your computer’s hosts file:

192.168.179.5 speedport.ip

The hosts file is located at %WINDIR%System32driversetchosts on Windows and at /etc/hosts on most other operating systems. It requires Admin/root to edit.

I think a good bet would be to actually type in 192.168.179.5, this should open up the webpage of your speedport router.

Tagged : / / / /

Linux HowTo: How to turn off FireFox’s responsive design’s touch simulator

Original Source Link

I noticed on my FF 26.0 that the responsive design view was upgraded to have a touch simulator. Now when I tried it I could not get it to dissable.

enter image description here

I tried togling it and leaving the responsive view and reloadig the page and even opening the page up in a new tab. Not even closing the browser and reopen the page gets rid of it the touch simulator, it is still on.

EDIT : I even tried to do a re-install, but no luck. It’s still there.

OK so after some searching on my own I found this post on the FF support forum. Were an analog problem ocured.

So this is how to solve this:
enter image description here

First : Go to about:config
Second : Filter the settings to dom.w3c
Third : Make sure that the settings are 0 and false (like in the pic).

It seams that when you (or at least when I) press the touch simulator, then the dom.w3c_touch_events.enabled is turned to 1 and is left like that.

Tagged :

Making Game: How to turn off FireFox’s responsive design’s touch simulator

Original Source Link

I noticed on my FF 26.0 that the responsive design view was upgraded to have a touch simulator. Now when I tried it I could not get it to dissable.

enter image description here

I tried togling it and leaving the responsive view and reloadig the page and even opening the page up in a new tab. Not even closing the browser and reopen the page gets rid of it the touch simulator, it is still on.

EDIT : I even tried to do a re-install, but no luck. It’s still there.

OK so after some searching on my own I found this post on the FF support forum. Were an analog problem ocured.

So this is how to solve this:
enter image description here

First : Go to about:config
Second : Filter the settings to dom.w3c
Third : Make sure that the settings are 0 and false (like in the pic).

It seams that when you (or at least when I) press the touch simulator, then the dom.w3c_touch_events.enabled is turned to 1 and is left like that.

Tagged :

Code Bug Fix: All Cookies from Firefox over Selenium

Original Source Link

For our privacy policy we would like to write a crawler that automatically lists all 3rd party connections as well as all cookies. These should run daily and be compared with the existing ones.

For the implementation I used python3 and Selenium with Firefox.

  1. The function get_cookies() returns only cookies that are intended for the current domain. -> Does not work correctly.
  2. Completely crawling the website and then calling all domains again does not return all cookies. -> Does therefore not work correctly.
  3. An SQLite database is created in the Firefox profile folder (cookies.sqlite), which contains all cookies. However, Firefox over Selenium does not change this file. I have already made several settings in Firefox. When I start Firefox without Selenium, this file is modified. But if I use Selenium, it will not. My code looks like this:
firefox_profile = webdriver.FirefoxProfile("/home/user/.mozilla/firefox/rkggssrl.SeleniumTest")
browser = webdriver.Firefox(firefox_profile, executable_path=r'./geckodriver')
browser.get('https://www.lenovo.com/') # or any other side
time.sleep(20)

I’ve already tried Selenium test runs won’t save cookies?.

Questions:

  1. How do I get all cookies from Firefox over Selenium?
  2. How does Firefox modify the cookies.sqlite over Selenium?
  3. EDIT: I found out that Selenium creates a temporary folder under /tmp on every startup. This is also ok. But how do I get the correct folder programmatically from Selenium?

The solution to question 3 is relatively simple, which automatically answers all other questions as well. I’ll leave it as it is. Selenoum creates a new profile at every start. After that I can read the cookies.sqlite file and get all cookies.

How I figured it out:

  1. By using the dir() function (https://docs.python.org/3/library/functions.html#dir) I got the following.
print(dir(browser))
['CONTEXT_CHROME', 'CONTEXT_CONTENT', 'NATIVE_EVENTS_ALLOWED', '__class__', '__delattr__', 
'__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', 
'__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', 
'__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', 
'__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 
'_file_detector', '_is_remote', '_mobile', '_switch_to', '_unwrap_value', 
'_web_element_cls', '_wrap_value', 'add_cookie', 'application_cache', 'back', 'binary', 
'capabilities', 'close', 'command_executor', 'context', 'create_web_element', 
'current_url', 'current_window_handle', 'delete_all_cookies', 'delete_cookie', 
'desired_capabilities', 'error_handler', 'execute', 'execute_async_script', 
'execute_script', 'file_detector', 'file_detector_context', 'find_element', 
'find_element_by_class_name', 'find_element_by_css_selector', 'find_element_by_id', 
'find_element_by_link_text', 'find_element_by_name', 'find_element_by_partial_link_text', 
'find_element_by_tag_name', 'find_element_by_xpath', 'find_elements', 
'find_elements_by_class_name', 'find_elements_by_css_selector', 'find_elements_by_id', 
'find_elements_by_link_text', 'find_elements_by_name', 
'find_elements_by_partial_link_text', 'find_elements_by_tag_name', 
'find_elements_by_xpath', 'firefox_profile', 'forward', 'fullscreen_window', 'get', 
'get_cookie', 'get_cookies', 'get_log', 'get_screenshot_as_base64', 
'get_screenshot_as_file', 'get_screenshot_as_png', 'get_window_position', 
'get_window_rect', 'get_window_size', 'implicitly_wait', 'install_addon', 'log_types',
 'maximize_window', 'minimize_window', 'mobile', 'name', 'orientation', 'page_source', 
'profile', 'quit', 'refresh', 'save_screenshot', 'service', 'session_id', 'set_context', 
'set_page_load_timeout', 'set_script_timeout', 'set_window_position', 'set_window_rect', 
'set_window_size', 'start_client', 'start_session', 'stop_client', 'switch_to', 
'switch_to_active_element', 'switch_to_alert', 'switch_to_default_content', 
'switch_to_frame', 'switch_to_window', 'title', 'uninstall_addon', 'w3c', 
'window_handles']
  1. After that the capabilities element appeared.
print(browser.capabilities)
{'acceptInsecureCerts': True, 'browserName': 'firefox', 'browserVersion': '76.0.1', 
'moz:accessibilityChecks': False, 'moz:buildID': '20200507114007', 
'moz:geckodriverVersion': '0.26.0', 'moz:headless': False, 'moz:processID': 110409, 
'moz:profile': '/tmp/rust_mozprofilel3IJsK', 'moz:shutdownTimeout': 60000, 
'moz:useNonSpecCompliantPointerOrigin': False, 'moz:webdriverClick': True, 
'pageLoadStrategy': 'normal', 'platformName': 'linux',
'platformVersion': '5.3.0-1020-azure', 'rotatable': False, 'setWindowRect': True, 
'strictFileInteractability': False, 'timeouts': {'implicit': 0, 'pageLoad': 300000, 
'script': 30000}, 'unhandledPromptBehavior': 'dismiss and notify'}

Now the temporary profile can be determined with the element ‘moz:profile’. Before closing Selenium the following is now executed:

# Save cookie file
outputDest = "yourOutputDestination"
capability = browser.capabilities
browserDir = capability['moz:profile']
cookieFile = os.path.join(browserDir, 'cookies.sqlite')
os.rename(cookieFile, outputDest)
# Close selenium
if browser is not None:
    browser.close()
    browser.quit()
    browser = None

Tagged : / / / /

Linux HowTo: Firefox: non-Vimperator way to do mouseless browsing?

Original Source Link

Is it possible to do efficient browsing with Firefox using
only the keyboard (like in Opera)?

By efficient I mean something faster than using TAB – this
takes far too long. The arrow keys should be for navigation
(in Opera it is Shift + arrow key). It can done with the
Vimperator add-on or its successor Pentadactyl,
but isn’t there a simpler way?


The closest to Opera’s way is to enable caret
navigation
(F7 toggles this mode). It doesn’t
jump between links so it is a little bit slower, but the
normal navigation (arrow keys, page up, page
down
, etc.) works and the focus/caret/cursor follows
(in contrast to a text editor for page up/down). And text
can be selected and copied like in a text editor.

The biggest drawback is that in practice it is necessary to
switch in and out of caret mode. And there is no indication
of which mode is currently active.


A workaround (proposed by several, but is not
really what I am looking for) can be used if three settings are
changed (to make it practical). After these changes the
first few letters of a link text can be typed and that link
will selected so pressing Enter will open it.

Using the workaround, the screen will jump around if it is a
long page as it does not restrict itself to the current
visible page, but it is usable.

Changes (see below for other versions of Firefox):

  1. Hamburger menu (upper right) → Preferences
    General. Under headline Browsing (scroll down) → Search for text when I start typing

    Turn this option on.

  2. Set option to only go to links; in the address
    bar enter

    about:config

    followed by Enter. Then: press Accept the Risk and Continue!, find the line accessibility.typeaheadfind.linksonly, select the “toggle” icon (e.g. by TABing to it) and change the value to True by hitting Enter.

  3. Turn off case-sensitivity. Set
    accessibility.typeaheadfind.casesensitive to 0 (same
    procedure as for accessibility.typeaheadfind.linksonly, see
    above. When Enter is pressed a dialog box will appear with
    the current value. Type 0 and press Enter).

To use it: type some part of the link. If there are several
possibilities use Ctrl + G (or F3)
to jump between them. Use Ctrl + Enter to
open in a new tab.

For older versions of Firefox

It is the same as the above, except:

Option Search for text when I start typing:

menu Tools/Options/Advanced/tab General/Accessibility/Search for text when I start typing

Opening the about:config page, the button is I'll be careful, I promise.

Platform: Firefox 3.0.6, Windows XP 64 bit SP2.

Firefox has two search keys: / searches any text; ‘ searches for just links. Both continue the search with F3.

Two suggestions:

  1. Hitting the F7 key toggles whether the arrow keys scroll the page or move the cursor. It’s handy for selecting text, but it can also be useful for moving the cursor over top of a link.

  2. Use the MouselessBrowing extension. I haven’t used it in quite some time, but it used to work very, very well.

Tick on “Search for text when I start typing” (Options → *Advanced * → General), and then you can type the text of links and hit Enter, which massively increases speed of navigation.

If I know the text of the link I want to go to, / (quick-find) works pretty well.

I’ve tried all the different methods and addons for keyboard navigation in Firefox, and the two I like the most are:

  1. Press the ' key, type the first few letters of a link and then immediately hit enter.

  2. The Spatial Navigation script that can be found over at userscripts.org. Just like in Opera, you navigate between links with Shift and the arrow keys. It doesn’t come close to the native spatial navigation in Opera, but it works about as well as the Crossfire addon for Chrome.

You could try gleeBox and see if it works for you.

I used Numberfox for a while. It attaches a number to each link on a page so you can use (as Phoshi said) Find As You Type to find the link number. It was a bit cumbersome for me, but it might be what you’re looking for. Unfortunately, it is only for Firefox 2, but if you disable addon update checking, it might work!

Hit-a-hint is an addon that makes a user-defined key a special key which activates alphabetical hints for all the links on a page for easy following. LoL is a fork of HaH that works with Firefox 3.5 and is more actively maintained.

This functionality is quite the same that is implemented also in Vimperator‘s hint mode.

Unfortunately Hint-a-hint doesn’t seem to support more recent browsers and the LoL link is broken and no extension named “LoL” seems to exist in the mozilla addons repository.

Vimium instead seems to be maintained and so far works here.

VimFx

Even before Vimium there was Vimperator for Firefox. In my opinion,
Vimperator has too many features and aggressively changes the default
Firefox appearance and behavior. Vimium is exactly what I need in
terms of added functionality, but for Chrome. That’s why I decided to
develop a similar extension for Firefox.

VimFx will be nice to your browser and to your habits. Promise.

– Anton Khodakivskiy, VimFx’s original author.

saka-key is very promising, building on the ideas from Vimium and cVim, and is supporting both Firefox Quantum and Google Chrome. See the clicking_and_link_hints documentation.

There are currently doubts about its maintenance, but I hope the author will find support to help finalize and maintain this great work.

Tagged : /

Making Game: Firefox: non-Vimperator way to do mouseless browsing?

Original Source Link

Is it possible to do efficient browsing with Firefox using
only the keyboard (like in Opera)?

By efficient I mean something faster than using TAB – this
takes far too long. The arrow keys should be for navigation
(in Opera it is Shift + arrow key). It can done with the
Vimperator add-on or its successor Pentadactyl,
but isn’t there a simpler way?


The closest to Opera’s way is to enable caret
navigation
(F7 toggles this mode). It doesn’t
jump between links so it is a little bit slower, but the
normal navigation (arrow keys, page up, page
down
, etc.) works and the focus/caret/cursor follows
(in contrast to a text editor for page up/down). And text
can be selected and copied like in a text editor.

The biggest drawback is that in practice it is necessary to
switch in and out of caret mode. And there is no indication
of which mode is currently active.


A workaround (proposed by several, but is not
really what I am looking for) can be used if three settings are
changed (to make it practical). After these changes the
first few letters of a link text can be typed and that link
will selected so pressing Enter will open it.

Using the workaround, the screen will jump around if it is a
long page as it does not restrict itself to the current
visible page, but it is usable.

Changes (see below for other versions of Firefox):

  1. Hamburger menu (upper right) → Preferences
    General. Under headline Browsing (scroll down) → Search for text when I start typing

    Turn this option on.

  2. Set option to only go to links; in the address
    bar enter

    about:config

    followed by Enter. Then: press Accept the Risk and Continue!, find the line accessibility.typeaheadfind.linksonly, select the “toggle” icon (e.g. by TABing to it) and change the value to True by hitting Enter.

  3. Turn off case-sensitivity. Set
    accessibility.typeaheadfind.casesensitive to 0 (same
    procedure as for accessibility.typeaheadfind.linksonly, see
    above. When Enter is pressed a dialog box will appear with
    the current value. Type 0 and press Enter).

To use it: type some part of the link. If there are several
possibilities use Ctrl + G (or F3)
to jump between them. Use Ctrl + Enter to
open in a new tab.

For older versions of Firefox

It is the same as the above, except:

Option Search for text when I start typing:

menu Tools/Options/Advanced/tab General/Accessibility/Search for text when I start typing

Opening the about:config page, the button is I'll be careful, I promise.

Platform: Firefox 3.0.6, Windows XP 64 bit SP2.

Firefox has two search keys: / searches any text; ‘ searches for just links. Both continue the search with F3.

Two suggestions:

  1. Hitting the F7 key toggles whether the arrow keys scroll the page or move the cursor. It’s handy for selecting text, but it can also be useful for moving the cursor over top of a link.

  2. Use the MouselessBrowing extension. I haven’t used it in quite some time, but it used to work very, very well.

Tick on “Search for text when I start typing” (Options → *Advanced * → General), and then you can type the text of links and hit Enter, which massively increases speed of navigation.

If I know the text of the link I want to go to, / (quick-find) works pretty well.

I’ve tried all the different methods and addons for keyboard navigation in Firefox, and the two I like the most are:

  1. Press the ' key, type the first few letters of a link and then immediately hit enter.

  2. The Spatial Navigation script that can be found over at userscripts.org. Just like in Opera, you navigate between links with Shift and the arrow keys. It doesn’t come close to the native spatial navigation in Opera, but it works about as well as the Crossfire addon for Chrome.

You could try gleeBox and see if it works for you.

I used Numberfox for a while. It attaches a number to each link on a page so you can use (as Phoshi said) Find As You Type to find the link number. It was a bit cumbersome for me, but it might be what you’re looking for. Unfortunately, it is only for Firefox 2, but if you disable addon update checking, it might work!

Hit-a-hint is an addon that makes a user-defined key a special key which activates alphabetical hints for all the links on a page for easy following. LoL is a fork of HaH that works with Firefox 3.5 and is more actively maintained.

This functionality is quite the same that is implemented also in Vimperator‘s hint mode.

Unfortunately Hint-a-hint doesn’t seem to support more recent browsers and the LoL link is broken and no extension named “LoL” seems to exist in the mozilla addons repository.

Vimium instead seems to be maintained and so far works here.

VimFx

Even before Vimium there was Vimperator for Firefox. In my opinion,
Vimperator has too many features and aggressively changes the default
Firefox appearance and behavior. Vimium is exactly what I need in
terms of added functionality, but for Chrome. That’s why I decided to
develop a similar extension for Firefox.

VimFx will be nice to your browser and to your habits. Promise.

– Anton Khodakivskiy, VimFx’s original author.

saka-key is very promising, building on the ideas from Vimium and cVim, and is supporting both Firefox Quantum and Google Chrome. See the clicking_and_link_hints documentation.

There are currently doubts about its maintenance, but I hope the author will find support to help finalize and maintain this great work.

Tagged : /