Commit Graph

1452 Commits

Author SHA1 Message Date
Florian Bruhin
af134eb861 Refactor websettings for new config 2017-07-02 22:17:33 +02:00
Florian Bruhin
f1d81d86aa Fix configtypes _basic_validation 2017-07-02 22:17:33 +02:00
Florian Bruhin
aa6f229e6b Add utils.yaml_{load,dump} 2017-07-02 22:17:33 +02:00
Florian Bruhin
1ed8df8903 Fix various typos/bugs 2017-07-02 22:17:33 +02:00
Florian Bruhin
3e3685b68b Initial configexc refactoring 2017-07-02 22:17:33 +02:00
Florian Bruhin
5ab2c89a37 Adjust config.change_filter 2017-07-02 22:17:33 +02:00
Florian Bruhin
b5110b07f0 Fix newconfig init 2017-07-02 22:17:33 +02:00
Florian Bruhin
3009e5eebe Fix configtypes mistakes 2017-07-02 22:17:33 +02:00
Florian Bruhin
8de0445661 Move UserAgent to configdata 2017-07-02 22:17:33 +02:00
Florian Bruhin
616aad84d8 More configtypes refactoring 2017-07-02 22:17:33 +02:00
Florian Bruhin
5ec47da127 Get rid of configtypes.AutoSearch and IgnoreCase 2017-07-02 22:17:33 +02:00
Florian Bruhin
921d02e4d3 First portion of configtypes refactoring 2017-07-02 22:17:33 +02:00
Florian Bruhin
7e52eb7b0e Initial work on new configdata 2017-07-02 22:17:33 +02:00
Florian Bruhin
c2e75bf2fd Initial conversion to new config syntax 2017-07-02 22:17:33 +02:00
Florian Bruhin
938946c48b configdata: Add check for shadowing keys 2017-07-02 22:17:33 +02:00
Florian Bruhin
8b9b750f8f configdata: Rename some options for consistency 2017-07-02 22:17:33 +02:00
Florian Bruhin
52f6ea2525 Initial parsing 2017-07-02 22:17:33 +02:00
Florian Bruhin
f965805099 First setting renames 2017-07-02 22:17:33 +02:00
Florian Bruhin
836395cdb1 Add configdata.yml 2017-07-02 22:17:33 +02:00
Florian Bruhin
00c8d8da34 Initial stubbing out of a new config 2017-07-02 22:17:33 +02:00
Ryan Roden-Corrent
784d9bb043 Remove code rendered dead by sql implementation.
Vulture exposed the following dead code:

- AppendLineParse was only used for reading the history text file, which is now
  a sql database (and the import code for the old text file is simpler and does
  not need a complex line parser)

- async_read_done is no longer used as importing the history text file is
  synchronous (and should only happen once)

- config._init_key_config is unused as it was moved to keyconf.init
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
921211bbaa Remove web-history-max-items.
This was a performance optimization that shouldn't be needed with the new SQL
history backend. This also removes support for the LIMIT feature from SqlTable
as it only existed to support web-history-max-items.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
6cc2095221 Avoid keyconf circular import.
The new function-based completion API introduced a circular import:
config -> keyconf -> miscmodels -> config.

config only depended on keyconf so it could initialize it as part of
config.init. This can be resolved by moving this to keyconf.init and
initializing keyconf as part of app.init.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
839d49a8ac Fix up pylint/flake8 for completion revamp. 2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
3b30b42211 Remove completion.instances, usertypes.Completion.
The new completion API no longer needs either of these. Instead of
referencing an enum member, cmdutils.argument.completion now points to
a function that returnsthe desired completion model.
This vastly simplifies the addition of new completion types. Previously
it was necessary to define the new model as well as editing usertypes
and completion.models.instances. Now it is only necessary to define a
single function under completion.models.

This is the next step of Completion Model/View Revamping (#74).
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
b36cf0572d Avoid potential circular import in config.py.
There was a circular import from
config -> keyconf -> miscmodels -> config.
This is resolved by scoping config's keyconf import to the one function
that uses it.
2017-06-19 07:42:12 -04:00
Clayton Craft
daa12ed435 Add private mode title format for tabs too
This continues the spirit of my previous PR and allows formatting tab
titles to designate when private mode is enabled. I didn't even realize
that tab title-format was a separate thing from window-title-format
(yes, it's in the name.. silly craftyguy), until now.
2017-06-07 08:17:03 -07:00
Florian Bruhin
dd4fb87db6 Update docs 2017-06-06 18:25:42 +02:00
Florian Bruhin
8990513c1b Merge commit '49b8737f7979fc878ba25aed94cc3e57f481ae3a' into craftyguy/private_tab_title 2017-06-06 18:23:51 +02:00
Clayton Craft
49b8737f79 Implement changing of tab title when privacy mode is enabled 2017-06-06 08:00:19 -07:00
Florian Bruhin
6d175fbb4b Get rid of configtypes.WebKitBytes 2017-06-06 16:17:44 +02:00
Florian Bruhin
1b0a125cf3 websettings: Improve errors when setting settings=... 2017-06-06 15:59:42 +02:00
Florian Bruhin
e17494c972 Cleanup 2017-06-06 15:25:21 +02:00
Florian Bruhin
0ca59f2184 Rename storage -> offline-web-application-storage to -cache 2017-06-06 14:50:57 +02:00
Florian Bruhin
c696723650 Merge storage -> offline-storage-database into local-storage setting
Looks like it's the same with QtWebEngine too - setting LocalStorageEnabled also
toggles WebSQL there.
2017-06-06 14:50:57 +02:00
Florian Bruhin
2a32e26846 Get rid of various rarely customized settings
All those were customized by some <5 people in the past few years of crash
reports.

Closes #1751.
See #2639.
2017-06-06 14:50:57 +02:00
Florian Bruhin
1785b72393 Refactor websettings default handling
With per-domain settings, having a getter for a setting gets really complicated,
as there isn't one true value for a setting.

The only reason we needed those getters is to save away the default values for
some settings where we were unsure what the defaults are.

- For font setters, we can get the defaults from QFont, like QtWeb{Kit,Engine}
  do.
- For font sizes, we hardcode the defaults QtWeb{Kit,Engine} hardcodes too.
- For maximum-page-in-cache, we hardcode 0, just like QtWebKit.
- For default-encoding, we hardcode iso-8559-1, like QtWeb{Kit,Engine}
- For offline-storage-default-quota, we hardcode 5MB, like QtWebKit
- For offline-web-application-cache-quota, we hardcode MAXINT as default value,
  but we still keep the empty value in the config. It means "no quota"
  internally in QtWebKit, but it's a too confusing value to have in the config.
- For object-cache-capacities it's a bit more complicated (the defaults are
  calculated based on disk space), but let's just get rid of the setting
  altogether in the next commit (see #1751).

Closes #2639.
2017-06-06 14:50:57 +02:00
Florian Bruhin
e96f085f8d Merge commit '38ca583084e89de0da35cb1b626d21b051ea2c70' 2017-05-23 17:43:01 +02:00
Florian Bruhin
af1e1d9239 Merge commit 'c814ced7b35968cfdeb6284cc79168bfffed7c85' 2017-05-23 17:18:55 +02:00
Florian Bruhin
c32c01ffc0 Merge commit '419793c0b9ff4f293babea7623dcaf4787bbaa35' 2017-05-22 07:55:44 +02:00
Jay Kamat
419793c0b9
Misc cleanup and documentation update 2017-05-21 22:42:51 -07:00
Florian Bruhin
608ac89f06 Fix lint 2017-05-17 14:32:13 +02:00
Florian Bruhin
a48ea597d0 Set websettings on each profile's setting object
Turns out QWebEngineSettings.globalSettings() only sets things on the default
profile. We now get everything from the default profile settings, but set it on
both the default and the private profile.

Fixes #2638

(cherry picked from commit b11a4388cd10b6ff2fd917fca689ebdc50d581ae)
2017-05-17 06:31:51 +02:00
Florian Bruhin
3cdcc34d1d Update private-browsing option description 2017-05-15 11:07:43 +02:00
Florian Bruhin
73ca884d24 Add a setting for private command mode color
This also refactors how color properties are handled in StatusBar.
2017-05-15 11:07:43 +02:00
Florian Bruhin
3c3f695af4 Fix things pointed out in reviews 2017-05-15 11:07:43 +02:00
Matthias Lisin
c814ced7b3 Add Android UA 2017-05-13 15:05:54 +02:00
Jay Kamat
725bafea54
Merge branch 'master' into jay/pintab 2017-05-10 23:51:33 -07:00
Florian Bruhin
f4d3f97cb7 Implement private browsing for QtWebEngine 2017-05-10 09:17:54 +02:00
Florian Bruhin
1c50377c0a Initial work on new private browsing 2017-05-10 07:00:21 +02:00
Florian Bruhin
822623f2ed Finally update copyrights... 2017-05-09 21:37:03 +02:00
Florian Bruhin
76ec465f67 Allow to set cookies-store at runtime with Qt 5.9
Fixes #2588
2017-04-28 17:40:43 +02:00
Niklas Haas
6549fd84ce
Add tabs->favicon-scale setting
This allows users to change the size of the favicon independently from
the size of the font/tab, in order to adjust the balance between
favicons and text. The drawing code is also adjusted to place the icon
relative to the text center, rather than the text top.

Works as expected even for values of 0.0 (which is equivalent to hiding
the favicon completely).

Closes #2549.
2017-04-27 08:53:51 +02:00
Florian Bruhin
beb661cdc7 Add xos4 Terminus to default monospace fonts 2017-04-23 23:11:12 +02:00
Florian Bruhin
842c2d297e Allow to set message clear timer to 0
Fixes #2527
2017-04-16 13:07:33 +02:00
Florian Bruhin
1d0f187fab Adjustments for new pylint version 2017-04-13 18:22:16 +02:00
Florian Bruhin
4ec5700cbf Redirect qute:foo to qute://foo
Before, we just returned the same data for both, but then we'll run into
same-origin restrictions as qute:history and qute:history/data are not the same
host.
2017-04-06 21:18:58 +02:00
Martin Tournoij
c5427a0127
Fix display of errors while reading the key config file
Also catch `cmdexc.CommandError` on startup to show these errors in the
alert dialog on startup.

Fixes #1340
2017-04-04 09:50:12 +01:00
Florian Bruhin
35181ff84e Merge commit '4004d5adf09e6d22dae5d781a02c5fc2bbd26724' into Carpetsmoker/unwritable-keyconf 2017-04-03 06:55:01 +02:00
Martin Tournoij
4004d5adf0
Don't crash when trying to write an unwritable keyconf.
Also change the logic in _load_default a wee bit so that it won't try to
write the keys.conf on startup.

Fixes #1235
2017-04-03 01:48:39 +01:00
Martin Tournoij
5efca15594
Put option comments right above the option value
Problem: I like to edit `~/.config/qutebrowser/qutebrowser.conf`
manually with Vim. This works great, except that the current format is a
bit of a pain to deal with:

	[section-name]
	# section description
	#
	# [ Description of all the options]

	actual options

So if I want to know the description or what the default value is, I
need to scroll up and back down.

Solution: change the order of the comments to:

	# section description
	[section-name]

	# Option description
	option = value

	# Option description two
	optiontwo = value

	# Hello, world!
	[section-two]
	...

Which is much more convenient (and also what almost any other program
does).

(This patch changes much less code than it looks in the diff; I just
de-looped and moved `_str_option_desc` below `_str_items` as that makes
more sense since it gets called by `_str_items`).
2017-03-30 18:45:28 +01:00
Ryan Roden-Corrent
a68f997d95 Make keyhint delay configurable.
ui.keyhint-delay controls the time from starting a keychain to showing the
keyhint dialog. Resolves #2462.
2017-03-22 21:50:26 -04:00
Florian Bruhin
7652b6ae03 Merge commit '724e6b29c38a55f722f17997379f1ebe190fa6db' 2017-03-20 09:11:47 +01:00
thuck
650b1de3b6 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2017-03-19 14:26:48 +01:00
Imran Sobir
724e6b29c3 Make session interval configurable. 2017-03-16 12:11:16 +05:00
Florian Bruhin
84d2e9adc6 Improve documentation around scrolling
Fixes #2447
2017-03-14 16:58:33 +01:00
Florian Bruhin
1f12b4c1c1 Relax validation of QssColor values
Fixes #2370
2017-03-01 18:11:53 +01:00
Florian Bruhin
61e7d5883f Merge branch 'ZZ-and-ZQ' of https://github.com/wasamasa/qutebrowser into wasamasa-ZZ-and-ZQ 2017-02-28 21:22:55 +01:00
Florian Bruhin
47a9c8e17c Also check compiled Qt version in version checks 2017-02-28 21:01:47 +01:00
Florian Bruhin
9be0e0d57d Clarify javascript-can-access-clipboard description
Fixes #2374.
2017-02-27 20:28:47 +01:00
Vasilij Schneidermann
ce433bd139 Add ZZ and ZQ keys to (save and) quit the session 2017-02-25 23:10:18 +01:00
Florian Bruhin
e8443241df Allow input -> mouse-zoom-divider to be 0 2017-02-22 05:15:57 +01:00
Florian Bruhin
a86170f45d Drop PyQt < 5.7.1 support for QtWebEngine 2017-02-17 14:42:57 +01:00
Florian Bruhin
df245dae48 Add support for general -> print-element-backgrounds with WebEngine 2017-02-06 21:08:32 +01:00
Florian Bruhin
811bb84587 Clarify site-specific-quirks setting value 2017-02-06 20:43:25 +01:00
Florian Bruhin
52e3865367 Add support for the colors -> webpage.bg option with QtWebEngine 2017-02-06 17:18:36 +01:00
Florian Bruhin
39508d984e Handle multiple commands in KeyConfigParser.get_reverse_bindings_for 2017-02-06 16:22:58 +01:00
Florian Bruhin
98e6ccf548 Add fullscreen support for QtWebEngine 2017-02-06 16:22:58 +01:00
Florian Bruhin
1209724f83 Fix lint 2017-02-06 13:42:31 +01:00
Florian Bruhin
4518afbde2 Add support for storage -> cache-size with QtWebEngine 2017-02-06 12:46:28 +01:00
Florian Bruhin
bd0b62ab80 Add support for content -> cookies-store with QtWebEngine 2017-02-06 10:47:03 +01:00
Florian Bruhin
f3b39c55a0 Fix lint 2017-02-05 18:42:34 +01:00
Florian Bruhin
b1a95a3930 Add automatic backend selection in earlyinit 2017-02-05 17:09:04 +01:00
Florian Bruhin
8c30e57356 Fix configtypes.py coverage 2017-02-05 14:22:21 +01:00
Florian Bruhin
a62062af27 Relax font validation in the config
Fixes #2256
2017-02-05 12:51:49 +01:00
Florian Bruhin
de50f30b9b Replace all GitHub links 2017-02-05 00:13:11 +01:00
Florian Bruhin
ba5ac6139a Update docs 2017-02-05 00:09:18 +01:00
Florian Bruhin
0a0aa57754 Merge branch 'docs' of https://github.com/lucc/qutebrowser into lucc-docs 2017-02-05 00:07:36 +01:00
Lucas Hoffmann
d874f68463 docs: Clarify hints.mode = number 2017-02-04 22:31:52 +01:00
Florian Bruhin
fd29528e4f Add proxy support for QtWebEngine with Qt >= 5.8
See #666
Fixes #2082
2017-02-04 21:39:22 +01:00
Florian Bruhin
2a773a2c55 Enable WebGL by default 2017-01-24 23:55:12 +01:00
Kevin Wang
3a1ecad1f3 Clear keychain on <Ctrl-[> in addition to <Escape>. 2017-01-07 00:45:06 -05:00
Florian Bruhin
71404a87b9 Fix lint 2016-12-22 15:14:35 +01:00
Florian Bruhin
b220b5438f Add urlutils.proxy_for_url 2016-12-22 13:51:27 +01:00
Florian Bruhin
5a89ee96d9 Merge branch 'pac' of https://github.com/abbradar/qutebrowser into abbradar-pac 2016-12-22 08:53:10 +01:00
Samuel Walladge
f6c73f3ad6
implement optional download-open handler setting
- adds new `general` -> `default-open-dispatcher` setting (string)
- if set, will be used instead of QDesktopServices.openUrl (xdg-open backend)
- fixes the 'download handlers' part of issue #841
- note that this is only relevent to the `:download-open` command and other
  methods of opening downloaded files from qutebrowser
2016-12-16 21:54:04 +10:30
Florian Bruhin
f0831dacae Bind back/forward keys by default
Those are the XF86Back/Forward media keys on a keyboard, which are apparently
handled by default with QtWebKit, but not QtWebEngine.

Fixes #2166.
2016-12-13 21:49:10 +00:00
Florian Bruhin
e5ddb281f4 Add a ui -> prompt-filebrowser option
See #2104
2016-12-07 12:33:44 +01:00
Nikolay Amiantov
87890dab20 Add PAC files support 2016-12-07 02:01:19 +03:00
Daniel Karbach
38ca583084 new default keybinds 2016-11-28 10:57:16 +01:00
Florian Bruhin
3d140a1353 Get rid of --cycle for :set with multiple values
See https://github.com/The-Compiler/qutebrowser/pull/1840#issuecomment-258714784
2016-11-24 07:23:49 +01:00
Niklas Haas
1b5664b72f Add --cycle flag to :set
Chooses the next value from the provided list of values (string-wise
comparison). Technically, the 'option!' syntax for toggling bools is now
redundant, but a translation from 'option!' to '--cycle option false
true' is kept for backwards compatibility.

The '--cycle' flag could also be technically optionally, since the only
thing that depends on it is preserving the error message for specifying
multiple values. (But I think it's best to keep it explicit, as a
principle-of-least-surprise thing)

Note: The business logic of picking the next value and setting it was
moved out to a separate function to avoid tripping pylint's
too-many-branches detector.

Fixes #47
2016-11-24 07:22:06 +01:00
Florian Bruhin
a3482a8979 Lowercase special keys when checking if they're new
Between v0.8.4 and now, the default keybinding for Ctrl-PgDown changed:

    - ('tab-focus', ['J', '<Ctrl-PgDown>']),
    + ('tab-next', ['J', '<Ctrl-PgDown>']),

The existing keybinding was lower-cased in the config, but _is_new
didn't lowercase the new one, causing a conflict to show up.

Fixes #1835
See #1958
Supersedes #1986
2016-11-23 12:37:19 +01:00
thuck
e9c79e9be3 Fix for comments on configdata 2016-11-23 08:18:10 +01:00
Florian Bruhin
946e3f93f9 Add --enable-webengine-inspector option
Since the inspector can be a security risk, it's now not linked to
developer-extras anymore until QtWebEngine provides a better way to
access it.

See:

https://bugreports.qt.io/browse/QTBUG-50725
http://bouk.co/blog/hacking-developers/
2016-11-23 08:12:13 +01:00
thuck
b920de764f Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-23 08:10:11 +01:00
Florian Bruhin
d99a7bd7ad Pass arguments to websettings init functions 2016-11-23 07:57:35 +01:00
Florian Bruhin
3638849257 Fix lint 2016-11-15 23:41:53 +01:00
Florian Bruhin
7d8ef9fccf Remove urlutils import 2016-11-15 23:25:14 +01:00
Florian Bruhin
8e0565b79a Add {backend} window/tab title field 2016-11-15 23:23:20 +01:00
Florian Bruhin
d7d270ea28 Implement user stylesheets for QtWebEngine 2016-11-15 23:17:27 +01:00
Florian Bruhin
fcb955458c Require a filename for user-stylesheet; add hide-scrollbar setting 2016-11-15 22:58:56 +01:00
Florian Bruhin
964ddb472b Add urlutils.data_url 2016-11-15 22:25:51 +01:00
Florian Bruhin
d05918ac0b Add custom user-agent support for QtWebEngine 2016-11-15 11:32:05 +01:00
Florian Bruhin
81d67f8a2c Remove support for an empty data/config/cachedir
See #2115
2016-11-14 23:13:21 +01:00
thuck
abe3c19646 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-14 19:01:49 +01:00
thuck
25b69fe76a Configuration for the size of a pinned tab 2016-11-11 13:57:01 +01:00
Florian Bruhin
adb2ce0160 Remove MouseLock permission support
For some reason it doesn't work...
2016-11-10 22:45:27 +01:00
Florian Bruhin
bbcbb24cb5 Handle feature permissions with QtWebEngine 2016-11-10 22:45:27 +01:00
Florian Bruhin
6697d692e1 webengine: Initial SSL error support 2016-11-10 22:45:27 +01:00
thuck
23628cdfbf Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-10 20:20:52 +01:00
Florian Bruhin
5d30105a53 Merge branch 'macros' of https://github.com/blyxxyz/qutebrowser into blyxxyz-macros 2016-11-10 06:50:21 +01:00
thuck
9f70fa3ec8 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-10 00:28:31 +01:00
Florian Bruhin
d80022f3cd Merge branch 'issue1619' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-issue1619 2016-11-09 12:32:52 +01:00
Jan Verbeek
e5dec949b0 Merge https://github.com/The-Compiler/qutebrowser into macros 2016-11-09 12:17:04 +01:00
thuck
4f0034911a title-format-pinned initial work
Created configuration configdata.
Load and use template defined on configdata.

TODO: ability to conserve information between restart
TODO: ability to update title on configuration change
2016-11-08 07:56:13 +01:00
thuck
d7a1a542b6 Change shortcut to tab-pin 2016-11-06 23:25:36 +01:00
thuck
6f610e9c44 Initial development to support pin tabs #926
Done so far:
Two new commands pin/unpin, both accept a index to help the organization
(maybe this should be more a flag and not exactly two commands)
Crtl+p to pin, Crtl+O to unpin (not sure which should a good default
shortcut)
If user tries to close a pinned tab it's asked to confirm
If user tries to open a URL in a pinned tab it receives a message with a
information that the tab is pinned and ignore the openurl command
Preserve the pinned information across restart if session is activated

Missing:
Visual indication of the tab being pinned
Tab appearance being distinct over other tabs
Make pinned tabs to be the firsts on the tab bar

This is not ready, but it would be good to get some feedback earlier
2016-11-06 15:52:23 +01:00
Florian Bruhin
2b46228e3d Customize prompt selection colors
Seems like if we make the foreground color configurable, the selection
isn't colored at all?!
2016-11-03 09:29:27 +01:00
Florian Bruhin
9bdbb257ba Add initial filename completion 2016-11-03 08:40:41 +01:00
Florian Bruhin
7d57d884d6 Add configuration options for prompts 2016-11-03 08:40:41 +01:00
Florian Bruhin
a33333eb41 Make the radius for prompt edges configurable 2016-11-03 08:40:41 +01:00
Florian Bruhin
e3581a50ca Remove generated stylesheets again
We can just use jinja logic instead...
2016-11-03 08:40:41 +01:00
Florian Bruhin
2ce15b0499 Use start.duckduckgo.com as startpage
Apparently some users got nagged by duckduckgo to set it as start page.
2016-10-27 22:16:53 +02:00
Daniel Karbach
da2ba86aa5 use https for links in docs and elsewhere
refs #2039
2016-10-20 14:48:35 +02:00
Daniel Karbach
ef3968c165 setting values tabs->new-tab-position[-explicit]
left -> prev
right -> next
2016-10-18 17:17:17 +02:00
Daniel Karbach
7eafa30084 :tab-close option names
--left -> --prev
--right -> --next
2016-10-18 15:03:08 +02:00
Daniel Karbach
845298ae41 :tab-close option names
--left -> --prev
--right -> --next
2016-10-18 15:03:08 +02:00
Daniel Karbach
828b7d744a setting values tabs->select-on-remove
left -> prev
right -> next
previous -> last-used

refs #1619
2016-10-18 15:03:01 +02:00
Jan Verbeek
2a304d7a6b Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into macros
Conflicts:
	qutebrowser/commands/runners.py
2016-10-17 19:14:58 +02:00
Florian Bruhin
d301f200e2 Improve docs for netrc-file setting 2016-10-14 06:45:41 +02:00
Kevin Velghe
087342894e Add setting for location of netrc file
There is no reason I guess to do this with an environment variable. On
top of that, introducing a settings also documents the netrc feature
itself (Closes #1975?).
2016-10-09 00:15:46 +02:00
Jan Verbeek
7aaaadac1a Add keyboard macros 2016-10-06 22:24:04 +02:00
Ryan Roden-Corrent
14f8ec8754 Error on mode/command mismatch with :bind.
Resolves #1964 (:bind should error for mode/command mismatch)
2016-09-26 08:30:28 -04:00
Florian Bruhin
68e60ecc3c configtypes: Add a "# pragma: no cover" 2016-09-26 08:25:54 +02:00
Florian Bruhin
27b524300b Improve configtypes tests
This also gets configtypes.py back to 100% coverage
2016-09-26 06:33:14 +02:00
Florian Bruhin
e04e6c51d1 Add generator argument to set_register_stylesheet 2016-09-22 17:29:03 +02:00
Florian Bruhin
2c98b837d5 Add config migrations 2016-09-15 14:51:21 +02:00
Florian Bruhin
f16b96aa28 Initial implementation of new messages 2016-09-15 14:51:21 +02:00
Florian Bruhin
d0cf452ec8 Remove :prompt-yes and :prompt-no
Those are replaced by :prompt-accept yes and :prompt-accept no
2016-09-09 15:59:00 +02:00
Florian Bruhin
44d1056e54 QtWebEngine: Implement custom HTTP headers 2016-09-07 18:29:38 +02:00
Florian Bruhin
02df91e369 Mark colors -> webpage.bg as QtWebKit-only 2016-09-07 09:49:37 +02:00
Florian Bruhin
b65440e7e3 Update docs 2016-09-06 18:21:12 +02:00
nanjekyejoannah
d3e19ec8fc Add general -> yank-ignored-url-parameters 2016-09-06 18:19:40 +02:00
Florian Bruhin
af40abd3b2 Add websettings.shutdown() 2016-09-05 17:58:56 +02:00
Florian Bruhin
308f38ab34 Rename javascript-can-open-windows setting
Fixes #1896.
2016-09-05 17:09:14 +02:00
Jakub Klinkovský
3518fe19e8 move explanation of ;; to commands documentation
The note was out of place in keys.conf as it's not about keyinput. Since
we have a top-level documentation for commands now, let's keep the info
in once place. People will look there anyway for the documentation of
commands they want to bind.
2016-09-02 19:52:45 +02:00
arza
9b6541638e Update CHANGED_KEY_COMMANDS and test_migrations for sk-keybinding. 2016-09-01 21:05:44 +03:00
arza
a90314985a Fix sk-keybinding. 2016-09-01 16:23:16 +03:00
Marshall Lochbaum
08b348be50 Merge branch 'master' into auto-open-fixes 2016-08-19 22:50:26 -04:00
Florian Bruhin
1cfadbf034 Fix / ? : bindings
This was broken in #1859 and I didn't notice...
2016-08-19 15:35:20 +02:00
Florian Bruhin
29cd878902 Fix lint 2016-08-19 13:40:21 +02:00
nanjekyejoannah
056c0c3c14 Make command keys configurable
Fixes #672
2016-08-19 13:40:21 +02:00
Florian Bruhin
8eb8039370 Merge branch 'rewrite-pP' of https://github.com/blyxxyz/qutebrowser into blyxxyz-rewrite-pP 2016-08-19 13:36:33 +02:00
Florian Bruhin
a40dd7edf6 Allow empty string for tabs -> title-format 2016-08-19 08:31:36 +02:00
Jan Verbeek
b6c96855c8 Rewrite paste -s/pP 2016-08-18 19:05:35 +02:00
Florian Bruhin
8eaa387f21 Adjust default hint.bg gradient orientation 2016-08-17 21:00:13 +02:00
Florian Bruhin
7c17af3889 Use ${_monospace} for default hints font 2016-08-17 14:51:05 +02:00
Florian Bruhin
373eca1ad2 Fix some corner cases in _transform_hint_color 2016-08-17 14:51:05 +02:00
Florian Bruhin
eac30fc84b Add styling of new hints
This also removes the hints -> opacity setting, as this is now set by
using an rgba(...) color.
2016-08-17 14:51:05 +02:00
Florian Bruhin
c033ed9edb Allow config value transformers to give up 2016-08-17 14:51:04 +02:00
Florian Bruhin
01fd7cd210 Merge branch 'issue1060' of https://github.com/haasn/qutebrowser into haasn-issue1060 2016-08-17 12:01:53 +02:00
Florian Bruhin
6794187390 Fix too long line 2016-08-16 14:19:39 +02:00
Florian Bruhin
5d6abc6f67 Merge branch 'safe-args' of https://github.com/blyxxyz/qutebrowser into blyxxyz-safe-args 2016-08-16 14:18:44 +02:00
Florian Bruhin
dba579c202 Update user-agent completion list 2016-08-16 14:06:57 +02:00
Jan Verbeek
cfd166a95e Merge https://github.com/The-Compiler/qutebrowser into safe-args 2016-08-16 14:05:04 +02:00
Jan Verbeek
096387897c Make pp bindings work with option in clipboard
If the clipboard contains "-a" then "open {clipboard}" will fail because
-a gets parsed as an option. "open -- {clipboard}" doesn't do that. See
some comments in #1791.
2016-08-16 14:00:37 +02:00
Florian Bruhin
8d6b905f95 Merge branch 'insert-text' of https://github.com/blyxxyz/qutebrowser into blyxxyz-insert-text 2016-08-16 13:29:42 +02:00
Florian Bruhin
8e6d784fd7 Merge branch 'fix_hints_autofollow' of https://github.com/lahwaacz/qutebrowser into lahwaacz-fix_hints_autofollow 2016-08-16 12:58:56 +02:00
Niklas Haas
c2cc28a72b
Add new-instance-open-target.window = first-opened
Fixes #1060.

In the process of adding this, I also decided to rewrite
mainwindow.get_window() for clarity (and also because flake8 was warning
about complexity).

Also adds some tests to the new-instance-target mechanism, in particular
a specific test for the issue in question.
2016-08-16 12:24:38 +02:00
Florian Bruhin
ee3ea739fc Merge branch 'completion-category-focus' of https://github.com/rcorre/qutebrowser into rcorre-completion-category-focus 2016-08-16 11:45:23 +02:00
Florian Bruhin
0cefcef8f3 Change user-stylesheet default
This shows scrollbars like the one in the code block here:
https://devtalk.nvidia.com/default/topic/918822/linux/hevc-main-10-profile-decoding-using-vdpau-unsupported-on-gtx-950-361-28-/
2016-08-15 18:00:18 +02:00
Ryan Roden-Corrent
7b3839b44b Focus completion by category.
Implement `completion-item-focus next-category` and
`completion-item-focus prev-category` to jump through completions by
category rather than by item.

Resolves #1567.
2016-08-15 07:14:28 -04:00
Jakub Klinkovský
9f8b5dad92 simplify <Escape> binding
Note that leave-mode implies clear-keychain since bf0fe3c.
2016-08-11 16:11:13 +02:00
Jan Verbeek
4966debd61 Deprecate :paste-primary to :insert-text {primary} 2016-08-10 21:55:16 +02:00
Florian Bruhin
57896dc00e Merge branch 'clip' of https://github.com/blyxxyz/qutebrowser into blyxxyz-clip 2016-08-10 20:38:54 +02:00
Florian Bruhin
7213850238 Merge branch 'lastvisible' of https://github.com/haasn/qutebrowser into haasn-lastvisible 2016-08-10 17:39:33 +02:00
Niklas Haas
6293fad2eb
Add general->new-instance-open-target.window=last-visible
I usually use my browser with a one-window-per-workspace flow. If I
click on a URL anywhere, I personally would prefer it to go to the
browser instance that's on the same workspace.

To this end, the easiest way to accomplish this is to simply track when
windows are made visible and register them as the last visible object.

(To get finer control for when you have multiple windows on the same
workspace, focus changes also update the last visible object - the
implication being here that focusing something also means you're looking
at it)

Not all users may like this behavior, so I consider it strictly optional.
2016-08-10 17:01:12 +02:00
Florian Bruhin
b337578274 QtWebEngine: Allow general->log-javascript-console 2016-08-10 15:44:47 +02:00
Ryan Roden-Corrent
051a00804b Use regular dict in get_reverse_bindings_for.
Returning a defaultdict made the caller's code look confusing, as it
wasn't clear why there wouldn't be a Keyerror in some cases. Instead,
let the caller explicitly use `get`.
2016-08-10 06:56:44 -04:00
Ryan Roden-Corrent
0ea61d5f15 Show hidden commands in completion for :bind.
There is a fair amount of duplicate code around command completion that
could probably be refactored.

Resolves #1707.
2016-08-10 06:56:44 -04:00
Jakub Klinkovský
a31565f46e hints: make auto-follow a quadruple option instead of binary 2016-08-10 12:40:16 +02:00
Florian Bruhin
bf29c2a753 Import keyconf at file scope again in config.py
Various code (like src2asciidoc.py) relies on all @cmdutils.register
decorators being called when qutebrowser.app is imported.

Moving the keyconf import to _init_key_config broke that assumption, as
keyconf isn't imported anywhere anymore - which caused :bind and :unbind
to vanish from the generated documentation.

In the long run we should perhaps use venusian:
http://docs.pylonsproject.org/projects/venusian/

But for now, this is the easiest solution.
2016-08-10 09:40:38 +02:00
Florian Bruhin
cc0579bd1a Merge branch 'bind-alias' of https://github.com/rcorre/qutebrowser into rcorre-bind-alias 2016-08-10 09:35:28 +02:00
Florian Bruhin
153b9db8c2 Fix new-instance-open-target.window valid_values 2016-08-10 09:11:26 +02:00
Ryan Roden-Corrent
30d2403b7f Avoid config/keyconf circular import. 2016-08-09 21:37:12 -04:00
Ryan Roden-Corrent
245212efa1 Allow binding to an alias.
Fix #1813: Cannot :bind to alias
2016-08-09 21:37:12 -04:00
Niklas Haas
6d181e5c6f
Add new-instance-open-target.window setting
This adds the ability to open new tabs in the last-focused window
instead, which fixes #1801.

Right now the only other option is probably not that useful for human
users but it's required to make tests behave deterministically and
consistently. (But with #881 on the roadmap, I would implement this as
another choice)

To this end, also make the test framework set this option to preserve
the invariant against which existing tests are written: that spawning a
new window would effectively also focus it.
2016-08-10 00:06:12 +02:00
Niklas Haas
2223a285ef Remove ui -> hide-mouse-cursor setting
This was currently almost completely broken, yet nobody complained. The
new behavior (in the previous commit) makes this always hide the mouse
cursor, even when an input field has focus.

Since the only two easy options to implement are "never hide" and
"always hide", combined with the fact that both are sort of useless to
an end-user, just remove the option until somebody wants it back.
2016-08-09 23:32:17 +02:00
Marshall Lochbaum
8da8441623 Merge auto-open option into show 2016-08-09 13:11:32 -04:00
Jakub Klinkovský
9841b01d0d hints: generalize auto-follow for any unique match
fixes #1809
2016-08-09 18:09:50 +02:00
Florian Bruhin
fb3da578c5 Fix lint 2016-08-09 17:28:14 +02:00
Florian Bruhin
809f8e90df Merge branch 'fix_hiding_hints' of https://github.com/lahwaacz/qutebrowser into lahwaacz-fix_hiding_hints 2016-08-09 16:42:11 +02:00
Jan Verbeek
8e4733f483 Merge https://github.com/The-Compiler/qutebrowser into clip 2016-08-09 14:36:01 +02:00
Jakub Klinkovský
7271955c56 make hiding unmatched rapid hints configurable 2016-08-09 11:01:58 +02:00
Florian Bruhin
9fc44e54a4 Fix long line 2016-08-08 19:56:11 +02:00
addictedtoflames
b750d93891 add time units to timeout descriptions
Changed the description for the 'hints/auto-follow-timeout', 'input/timeout' and 'input/partial-timeout' settings to specify that the time should be given in milliseconds
2016-08-08 17:32:41 +01:00
Ryan Roden-Corrent
7038db6b17 Combine completion-item-{prev,next}.
- Use a single command completion-item-focus with a next/prev argument.
- Add a rule to translate old configs.
- Regenerate the docs.

See #1095.
2016-08-08 07:37:53 -04:00
Florian Bruhin
64566fff35 Set maximum value for auto-save-interval correctly 2016-08-08 08:47:21 +02:00
Jan Verbeek
ebfe23c376 Merge https://github.com/The-Compiler/qutebrowser into clip
Also make it possible to use multiple variables in one argument.
2016-08-07 13:14:46 +02:00
Florian Bruhin
b6fbd3ce3a Merge branch 'better-variables' of https://github.com/blyxxyz/qutebrowser into blyxxyz-better-variables 2016-08-07 11:33:01 +02:00
Florian Bruhin
26e0383d45 Merge branch 'refactor_command_completion' of https://github.com/rcorre/qutebrowser into rcorre-refactor_command_completion 2016-08-07 11:29:50 +02:00
Florian Bruhin
1b3664d9c8 keyconfig: Validate commands *after* transforming
Otherwise we'd still get an error when e.g. transforming :yank-selected
to :yank selection as :yank-selected got removed.
2016-08-07 11:10:59 +02:00
Marshall Lochbaum
006a934913 Migrate yank keybindings 2016-08-06 20:35:49 -04:00
Marshall Lochbaum
28485b0731 Migrate -p to -s for :yank selection keybinding 2016-08-06 20:35:06 -04:00
Jan Verbeek
38508274e0 Improve clipboard exceptions, migrate bindings 2016-08-07 00:46:23 +02:00
Jan Verbeek
0177dafbd0 Add {clipboard} and {primary} to replace :paste
:paste is deprecated and replaced by equivalents using :open and the
new variables, and :open supports opening newline-separated lists of
URLs.
2016-08-06 22:03:50 +02:00
Ryan Roden-Corrent
66358e5b0f Remove usertypes.Completion.empty.
Completion.empty existed to fill a slot in the old Command.completions
interface if the first positional arg had no completions but the second
did, as is the case for the `bind` command. Now that
`Command.completions` is replaced by `Command.get_pos_arg_info`, this
is no longer needed.
2016-08-06 12:01:09 -04:00
Marshall Lochbaum
54ba27cf77 Merge :yank-selected into :yank (fixes #820)
Changes :yank's flag arguments to a positional "what" argument
specifying the object to be yanked. Including "selection" as a
possibility allows for the replacement of :yank-selected with
:yank selection.
2016-08-05 22:01:17 -04:00
Florian Bruhin
94cf3fa4ff QtWebEngine: Restore Qt 5.6 compatibility 2016-08-04 21:33:53 +02:00
Jan Verbeek
c7c5a98506 Allow {url} and {url:pretty} as parts of arguments
This makes commands like `:open web.archive.org/web/{url}` possible.
This commit also adds a no_replace_variables command register argument
that stops the replacement from happening, which is important for
commands like `:bind` and `:spawn` that take a command as an argument.
2016-08-04 02:43:02 +02:00
Florian Bruhin
54ae106789 default key config: Bind J to :tab-next again
This was originally added in #868, but since then we changed the default
binding for gt (for :buffers).

It also accidentally shadowed the T binding which should be bound to
:tab-focus. See #1753.
2016-08-03 17:25:53 +02:00
Florian Bruhin
23ce4561c8 Fix lint 2016-08-03 16:48:48 +02:00
Florian Bruhin
61e0c8327a Don't access QWES.globalSettings() on module-level
Otherwise we implicitly create a webengine context, which means setting
QTWEBENGINE_REMOTE_DEBUGGING won't work anymore.
2016-08-03 15:32:56 +02:00
Florian Bruhin
614893bdd6 Initial broken inspector support for QtWebEngine 2016-08-03 15:23:32 +02:00
Florian Bruhin
43c81cc3a4 Fix KeyError with unknown options 2016-08-03 11:58:42 +02:00
Florian Bruhin
cae7eead6f QtWebEngine: Basic settings support 2016-08-03 11:35:08 +02:00
Florian Bruhin
2ee95df9e7 Change the default hint implemenation to Python
This only affects drawing hints, JS is still used if possible to
actually click them.

It seems like for many people, the JS implementation was a lot slower
than the Python one...
2016-08-03 09:40:05 +02:00
Marshall Lochbaum
af9e956cb6 Remove config update code for --implicit flag 2016-08-02 15:29:18 -04:00
Marshall Lochbaum
feed1ccda4 Change gO, xO, and ;O keybindings to open an implicit tab 2016-08-02 14:10:36 -04:00
Florian Bruhin
ef439bb916 Fix ;o/;O default bindings 2016-08-01 18:19:34 +02:00
Florian Bruhin
68b273de87 Merge branch 'generalize-list-type' of https://github.com/mlochbaum/qutebrowser into mlochbaum-generalize-list-type 2016-08-01 16:22:13 +02:00
Marshall Lochbaum
5accef963d Move _show_inner_type class variables before __init 2016-08-01 09:31:59 -04:00
Marshall Lochbaum
aa40ff6dd4 Remove none_ok from startpage config type 2016-08-01 09:30:26 -04:00
Florian Bruhin
1bba1e3ea9 Remove whitespace 2016-08-01 14:35:57 +02:00
nanjekyejoannah
3d4e76b1a4 commit resolving issue#1395 2016-08-01 15:20:44 +03:00
nanjekyejoannah
4d3cbe659d refactor for configdatap.py resolving #1395 2016-08-01 14:30:20 +03:00
nanjekyejoannah
633c95bca6 resolving style things in commit resolving issue #1395 2016-08-01 14:14:15 +03:00
nanjekyejoannah
1e94685653 Refactoring to resolve issue #1395 2016-08-01 14:00:30 +03:00
nanjekyejoannah
212d5fe932 commit resolving issue #1395 2016-08-01 11:28:27 +03:00
Marshall Lochbaum
b22634e2eb Correct qutebrowser.conf documentation for list types 2016-07-29 16:08:42 -04:00
Florian Bruhin
066c9bf4dc Split websettings into web{kit,engine,}settings 2016-07-29 12:01:22 +02:00
Marshall Lochbaum
2c37de3ac1 Revert startpage config type to String instead of Url 2016-07-27 14:21:25 -04:00
Marshall Lochbaum
642abac634 Remove BaseList type 2016-07-27 13:06:15 -04:00
Marshall Lochbaum
b205ad500b Add tests for configtypes.Url 2016-07-27 12:44:10 -04:00
Marshall Lochbaum
b4fec256dc Merge LengthList into List 2016-07-27 12:39:03 -04:00
Marshall Lochbaum
a3c7ed51d4 Create LengthList to remove WebKitBytesList and refactor Padding 2016-07-26 23:59:55 -04:00
Marshall Lochbaum
083baf1222 Remove unnecessary List subclasses 2016-07-26 23:05:42 -04:00
Marshall Lochbaum
9e86933913 Replace List with BaseList and rename GenList to List 2016-07-26 23:02:10 -04:00
Marshall Lochbaum
d77145a5b8 Add GenList type and refactor *List types to use GenList 2016-07-26 21:34:50 -04:00