83 lines
4.0 KiB
Plaintext
83 lines
4.0 KiB
Plaintext
henk's thoughts
|
|
===============
|
|
|
|
1. Power to the user! Protect privacy!
|
|
Things the browser should only do with explicit consent from the user, if
|
|
applicable the user should be able to choose which protocol/host/port triplets
|
|
to white/blacklist:
|
|
|
|
- load/run executable code, like js, flash, java applets, ... (think NoScript)
|
|
- requests to other domains, ports or using a different protocol than what the
|
|
user requested (think RequestPolicy)
|
|
- accept cookies
|
|
- storing/saving/caching things, e.g. open tabs ("session"), cookies, page
|
|
contents, browsing/download history, form data, ...
|
|
- send referrer
|
|
- disclose any (presence, type, version, settings, capabilities, etc.)
|
|
information about OS, browser, installed fonts, plugins, addons, etc.
|
|
|
|
2. Be efficient!
|
|
I tend to leave a lot of tabs open and nobody can deny that some websites
|
|
simply suck, so the browser should, unless told otherwise by the user:
|
|
|
|
- load tabs only when needed
|
|
- run code in tabs only when needed, i.e. when the tab is currently being
|
|
used/viewed (background tabs doing some JS magic even when they are not being
|
|
used can create a lot of unnecessary load on the machine)
|
|
- finish requests to the domain the user requested (e.g. www.example.org)
|
|
before doing any requests to other subdomains (e.g. images.example.org) and
|
|
finish those before doing requests to thirdparty domains (e.g. example.com)
|
|
|
|
3. Be stable!
|
|
- one site should not make the complete browser crash, only that site's tab
|
|
|
|
|
|
Upstream Bugs
|
|
=============
|
|
|
|
- Web inspector is blank unless .hide()/.show() is called.
|
|
Asked on SO: http://stackoverflow.com/q/23499159/2085149
|
|
TODO: Report to PyQt/Qt
|
|
|
|
- Report some other crashes
|
|
|
|
|
|
/u/angelic_sedition's thoughts
|
|
==============================
|
|
|
|
Well support for greasemonkey scripts and bookmarklets/js (which was mentioned
|
|
in the arch forum post) would be a big addition. What I've usually missed when
|
|
using other vim-like browsers is things that allow for different settings and
|
|
key bindings for different contexts. With that implemented I think I could
|
|
switch to a lightweight browser (and believe me, I'd like to) for the most part
|
|
and only use firefox when I needed downthemall or something.
|
|
|
|
For example, I have different bindings based on tab position that are reloaded
|
|
with a pentadactyl autocmd so that <space><homerow keys> will take me to tab
|
|
1-10 if I'm in that range or 2-20 if I'm in that range. I have an autocmd that
|
|
will run on completed downloads that passes the file path to a script that will
|
|
open ranger in a floating window with that file cut (this is basically like
|
|
using ranger to save files instead of the crappy gui popup).
|
|
|
|
I also have a few bindings based on tabgroups. Tabgroups are a firefox feature,
|
|
but I find them very useful for sorting things by topic so that only the tabs
|
|
I'm interested at the moment are visible.
|
|
|
|
Pentadactyl has a feature it calls groups. You can create a group that will
|
|
activate for sites/urls that match a pattern with some regex support. This
|
|
allows me, for example, to set up different (more convenient) bindings for
|
|
zooming only on images. I'll never need use the equivalent of vim n (next text
|
|
search match), so I can bind that to zoom. This allows setting up custom
|
|
quickmarks/gotos using the same keys for different websites. For example, on
|
|
reddit I have different g(some key) bindings to go to different subreddits.
|
|
This can also be used to pass certain keys directly to the site (e.g. for use
|
|
with RES). For sites that don't have modifiable bindings, I can use this with
|
|
pentadactyl's feedkeys or xdotool to create my own custom bindings. I even have
|
|
a binding that will call out to bash script with different arguments depending
|
|
on the site to download an image or an image gallery depending on the site (in
|
|
some cases passing the url to some cli program).
|
|
|
|
I've also noticed the lack of completion. For example, on "o" pentadactyl will
|
|
show sites (e.g. from history) that can be completed. I think I've been spoiled
|
|
by pentadactyl having completion for just about everything.
|