web
Web Browser
→ Ungoogled-Chromium
It is not possible to install extensions thought the chrome store. You need to install them manually:
https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&prodversion=[VERSION]&x=id%3D[EXTENSION_ID]%26installsource%3Dondemand%26uc
- VERSION: for example 84.0
- EXTENSION_ID: the hash can be found on the extension url
It has several cons:
- cannot change default shortkeys (like any chromium based browser but vivaldi)
- cannot install extensions easily
→ Firefox
It has several cons:
- ~~cannot change default shortkeys~~
- ~~might be~~ is possible with autoconfig
→ Flow
- use
vimium-c
to search for tabs within a given window - limit the number of windows to lower mental and finger switching
- close tabs eigher with built-in ctrl+w for ff config tabs or with
vimium-c
tabs vomnibar with same shortkey
→ Extensions
- vimium-c
- dark-reader
- browserpass / passff ?
- auto refresh page
- ~~tabs are windows~~ not used anymore
- ublock origin
- consent-o-matic
- privacy badger
→ Remove key bindings
My FF keys config:
ui.key.menuAccessKeyFocuses=false
browser.gesture.swipe.left=
browser.gesture.swipe.right=
in order to enable the console toolbox:
devtools.chrome.enabled = true
devtools.debugger.remote-enabled = true
/usr/lib/firefox/browser/defaults/preferences/syspref.js
// This file can be used to configure global preferences for Firefox
// Example: Homepage
//pref("browser.startup.homepage", "http://www.weebls-stuff.com/wab/");
pref("general.config.filename", "config.js");
pref("general.config.obscure_value", 0);
pref("general.config.sandbox_enabled", false);
/usr/lib/firefox/config.js
// IMPORTANT DE GARDER CETTE LIGNE
try {
let { classes: Cc, interfaces: Ci, manager: Cm } = Components;
const Services = globalThis.Services;
const {SessionStore} = Components.utils.import('resource:///modules/sessionstore/SessionStore.jsm');
function ConfigJS() { Services.obs.addObserver(this, 'chrome-document-global-created', false); }
ConfigJS.prototype = {
observe: function (aSubject) { aSubject.addEventListener('DOMContentLoaded', this, {once: true}); },
handleEvent: function (aEvent) {
let document = aEvent.originalTarget; let window = document.defaultView; let location = window.location;
if (/^(chrome:(?!\/\/(global\/content\/commonDialog|browser\/content\/webext-panels)\.x?html)|about:(?!blank))/i.test(location.href)) {
if (window._gBrowser) {
// Place your keyboard shortcut changes here
// ...
// ...
//'focusURLBar2',
//'goBackKb',
//'goForwardKb',
//'key_close', closes tab with ctrl+w
const keys = [
'addBookmarkAsKb', 'bookmarkAllTabsKb', 'focusURLBar', 'goBackKb2', 'goForwardKb2', 'goHome', 'key_aboutProcesses', 'key_closeWindow', 'key_gotoHistory', 'key_newNavigator', 'key_newNavigatorTab', 'key_openAddons', 'key_openDownloads', 'key_privatebrowsing', 'key_quitApplication', 'key_sanitize', 'key_savePage', 'key_screenshot', 'key_search', 'key_search2', 'key_selectAll', 'key_selectLastTab', 'key_selectTab1', 'key_selectTab2', 'key_selectTab3', 'key_selectTab4', 'key_selectTab5', 'key_selectTab6', 'key_selectTab7', 'key_selectTab8', 'key_showAllTabs', 'key_switchTextDirection', 'key_toggleMute', 'key_togglePictureInPicture', 'key_toggleReaderMode', 'key_undoCloseTab', 'key_undoCloseWindow', 'key_viewInfo', 'key_viewSource', 'key_wrCaptureCmd', 'key_wrToggleCaptureSequenceCmd', 'manBookmarkKb', 'openFileKb', 'printKb', 'showAllHistoryKb', 'viewBookmarksSidebarKb', 'viewBookmarksToolbarKb',
];
for (key of keys) {
window.document.getElementById(key).remove();
}
}
}
}
};
if (!Services.appinfo.inSafeMode) { new ConfigJS(); }
} catch(ex) {};
→ Remove tabs
- must turn
toolkit.legacyUserProfileCustomizations.stylesheets
totrue
- by using userChrome.css
- help about userchrome
vim /home/nparis/.mozilla/firefox-esr/vkj2hxae.default-esr115/chrome/userChrome.css
/* hides the native tabs */
#TabsToolbar {
visibility: collapse;
}
→ Disable share screen popup
in about:config set privacy.webrtc.legacyGlobalIndicator to false and privacy.webrtc.hideGlobalIndicator to true
→ Install deb package (no snap)
Why ? because some extension does not support (eg: browserpass). Also it likely does not support config.js.
- use mozillateam ppa
- ubuntu
mantic
likely does not have release, so usejammy
instead (23.10 -> 22.04)
→ Pre-install extensions
→ Vivaldi
It has several cons:
- proprietary software
- slow
→ Qutebrowser
https://qutebrowser.org/doc/install.html#tox
pros:
- fairly good adblocker
- readline shortkeys in both command / input
- minimalist
cons:
- does not discover all pleroma links
→ Search with “startpage”
This provides a GET search in clear
c.url.searchengines = {'DEFAULT': 'https://www.startpage.com/sp/search?query={}&prfh=disable_open_in_new_windowEEE0N1Ndisable_video_family_filterEEE1N1Nenable_post_methodEEE0N1Nenable_proxy_safety_suggestEEE1N1Nenable_stay_controlEEE0N1Ngeo_mapEEE0N1Nlang_homepageEEEs%2Fblak%2Ffr%2FN1NlanguageEEEenglishN1Nlanguage_uiEEEfrancaisN1Nnum_of_resultsEEE10N1Nother_iaEEE1N1Nsearch_results_regionEEEallN1NsuggestionsEEE0N1Nwikipedia_iaEEE1N1Nwt_unitEEEcelsius&language=english&t=blak&lui=francais&cat=web&sc=wb8Rggx5esKu20&abp=-1'}
→ Disable HTS on chromium
- https://www.thesslstore.com/blog/clear-hsts-settings-chrome-firefox/
→ Vimium-c (firefox & chromium)
Together with gtk-emacs binding only those are necessary:
# delete backward character
mapkey <c-b:i> <f3rmc>
map <f3rmc> editText run="move,backward,character,exec,move,"
# delete backward character
mapkey <c-k:i> <f3rfor>
map <f3rfor> editText run="extend,forward,lineboundary,exec,delete,"
# delete backward character
mapkey <c-u:i> <f3rback>
map <f3rback> editText run="extend,backward,lineboundary,exec,delete,"
Add mapkey :
unmap t
unmap p
unmap `
unmap W
unmap l
unmap h
unmap zH
unmap zL
unmap d
unmap u
unmap <f1>
map <c-n> scrollPageDown
map <c-p> scrollPageUp
# move backward char
mapkey <c-b:i> <f3rm>
map <f3rm> editText run="move,backward,character,exec,move,"
## delete backward character
mapkey <c-u:i> <f3rback>
map <f3rback> editText run="extend,backward,lineboundary,exec,delete,"
#mapkey <a-d:i> <f3rmf>
#map <f3rmf> editText run="extend,forward,word,exec,delete,"
# delete forward character
#mapkey <c-d:i> <f3rmcf>
#map <f3rmcf> editText run="extend,forward,character,exec,delete,"
# delete backward word
#mapkey <a-backspace:i> <f3rm>
#map <f3rm> editText run="extend,backward,word,exec,delete,"
# delete backward character
#mapkey <c-h:i> <f3rmc>
#map <f3rmc> editText run="extend,backward,character,exec,delete,"
#mapkey <c-e:i> <f3end>
#map <f3end> editText run="move,forward,lineboundary,exec,move,"
#mapkey <a-f:i> <f3wend>
#map <f3wend> editText run="move,forward,word,exec,move,"
#mapkey <a-b:i> <f3wbig>
#map <f3wbig> editText run="move,backward,word,exec,move,"
# not used because mapped to select text. use home instead
# mapkey <c-a> <f3bg>
# map <f3bg> editText run="move,backward,lineboundary,exec,move,"
#mapkey <c-k:i> <f3rmline>
#map <f3rmline> editText run="extend,forward,lineboundary,exec,delete,"
#mapkey <c-n:i> <s-down>
#mapkey <c-p:i> <s-up>
map T Vomnibar.activateTabSelection
mapKey <c-w:o> <s-delete>
Look for tab link
→ Chromium
→ Install chromium
Install without snap on ubuntu 20.04 to make browser-pass (password-store) working.
- install the extension
- also install the
sudo apt install webext-browserpass