Firefox

From miki
Jump to navigation Jump to search

Configuration

  • Last visited tab with Ctrl-Tab — Go to about:config, and set browser.ctrlTab.previews to true [1].

Keyboard shortcuts

Alt-Shift Access key. Eg. Alt-Shift-F to go to search box in MediaWiki
Ctrl-Shift-C Open console and debugger tools.

Extensions

Candidates

Extension I might install in the future:

  • Extension to suspend tabs. ! Careful, this may lead to loss of work if you typed text in a form and the page gets suspended

textern

Textern allows for using any external editor to edit editbox...

Installation
  • Install the plugin
  • Download and install the native app:
git clone --recurse-submodules https://github.com/jlebon/textern
cd textern
sudo make native-install LIBDIR=/usr/lib
  • NEW Configuration:
  • External editor: ["ngvim", "-f", "+sil! call cursor(%l,%c)"]
  • Shortcut: Ctrl+I
  • Extenstion: .txt
  • This reuses configuration we used on pentadactyl. Windows geometry works better, but still sluggish feeling in nvim.
  • OLD Configuration:
  • External editor: ["gnome-terminal", "--geometry=118x62+0+0", "--wait", "--", "nvim", "+call cursor(%l,%c)"]
  • Shortcut: Ctrl+I
  • Extenstion: .txt
  • Issue: This doesn't work great. First window geometry detection is always fucked up and we need to resize the window or nvim display is fucked up. Second, nvim feels sluggish
  • In Vim mediawiki plugin, adapt the ftdetect line:
au BufRead,BufNewFile *%2Fmediawiki%2Findex.php* set filetype=mediawiki

tridactyl

Tridactyl is the new extension similar to pentadactyl but working with recent Firefox.

Install
  • Run :nativeinstall, and run the pasted command in a shell to download the native extension.
  • Set the editor:
set editorcmd /usr/bin/terminator -m --p nvim -i /usr/local/icons/neovim.png -u -T "$PWD" -x env COLORTERM=gnome-terminal nvim %f '+normal!%lGzv%c|'
  • Set start page:
set newtab about:home
Install native on offline Windows (for Vim edition)
  • Download .xpi file.
  • Install XPI and run :installnative on a Windows machine connected to Internet.
  • Export registry key at HKCU:\SOFTWARE\Mozilla\NativeMessagingHosts\tridactyl to a file.
  • Copy that file and content of %userprofile%/.tridactyl to offline pc.
  • Install .xpi on offline PC, and run reg file.
troubleshooting
  • tridactyl eating new tab page
  • We can set newtab (eg. set it to about:home), but then Ctrl-T opens a tridactyl page, and the home page, which is annoying. Also it breaks Ctrl-T Ctrl-L workflow.
  • Instead, we don't set newtab, and rely on the bookmark toolbar to contain our favorite home pages.

pentadactyl

DISCONTINUATED
  • Pentadactyl no longer works since Firefox 57.
  • To keep using pentadactyl, use Firefox 56 (debian package available here).
  • For firefox 57+, consider using tridactyl.


pentadactyl is an add-on that turns Firefox into a powerful vim-like browser.

Repositories
http://5digits.org/nightlies Nightly build.
Configuration
  • See file ~/.pentadactylrc
"1.2pre

loadplugins '\.(js|penta)$'
group user
map -count -description='Next tab' -modes=n,v <C-j> -builtin <count><C-n>
map -count -description='Previous tab' -modes=n,v <C-k> -builtin <count><C-p>
set cdpath=''
set editor='ngvim -f +<line> +"sil! call cursor(0, <column>)" <file>'

" vim: set ft=pentadactyl:
Installation from source (on Firefox 48)
git clone https://github.com/5digits/dactyl.git
  • Make project
cd dactyl/
make -C pentadactyl xpi
  • Then in Firefox, go to add-on tab, and select install .xpi from file located in dactyl/downloads.
Installation
  • First disable add-on signature policy. Go to [about:config] and set xpinstall.signatures.required to false.
  • Download the latest nightly build and install it
I installed pentadactyl-20160121.xpi on Firefox 44.
  • Restore add-on signature policy
Usage
  • See :help for quick help
  • ^i uses vim/nvim for editbox (external editor).
  • ^t uses built-in vim for editbox.
  • f show hints and follow a link.
  • y current location.
  • p paste new location.
  • H L history back/forward.
  • ^n ^p next / previous tab.
  • ^v — Enable passthrough (next) (only next key press)
Tip: To paste text, press ^v twice.
  • ^z — Enable passthrough
  • :mkp to save current configuration
  • To print:
ha[rdcopy][!] to print a given page.
:ha[rdcopy][!] >{filename} to print to a file.
:dialog printpreview to display the print preview dialog.
:dialog printsetup to display the print setup dialog.
Customization

I prefer to use ^j ^k to go to next/previous tab, like I do to navigate between buffers.

:map -builtin -description "Next tab" <C-j> <C-n>
:map -builtin -description "Previous tab" <C-k> <C-p>
:mkp
Configure passthrough

Configure passkeys to tell Pentadactyl what keys must be passed through (k)

:set passkeys+=gabrielecirulli.github.io/2048/:<Up><Down><Left><Right>

Use auto-commands to make Pentadactyl alway pass all of your keys through for a particular URL [2]:

:autocmd LocationChange 'https://cloud.digitalocean.com/droplet/console/*' :normal! <C-z>
Troubleshooting
  • Error ...: options is undefined, usually when entering some commands, like gg or G.
Workaround — just enter and leave command mode (: then Esc).

Tab Groups

Excellent extension for managing tabs.

Video DownloadHelper

The best video downloader on Firefox.

  • Slower but better download success rate than other extensions (for instance, works on RTBF Auvio, especially combined with AdBlock Plus).
  • Can convert on-the-fly.
  • Requires local companion application installation.

AdBlock Plus recommended to skip initial video ad.

AdBlock Plus

Excellent to skip video ad.

More extensions

More extensions to consider installing:

Tips

Tab management

See Mozilla — Tab groups removal.

Interesting extensions:

Disable Firefox update

Recent FF doesn't allow disabling update, and keeps nagging you about update, even though your PC is offline and never connected to Internet.

To disable [3]:

  • Create a folder to store the policy file.
  • On Linux, create a folder /etc/firefox/policies (system-wide) or a folder /usr/bin/distribution (where /usr/bin is the installation directory of firefox).
  • On Win10, create a folder distribution where Firefox EXE is located (typically C:\Program Files\Mozilla Firefox\distribution).
  • In that folder, create a file policies.json (see available policy template):
{
    "policies": {
        "DisableAppUpdate": true
    }
}

Suspend background tabs

Recent FF have an option that unload tabs if memory is low. It is disabled by default because it unloads tab even if memory threshold is not reached.

browser.tabs.unloadOnLowMemory   True

Possibly, tab unloading can be monitored at about:unloads [4].

Extensions: