Florian Bruhin
277daa334d
Merge remote-tracking branch 'origin/pr/2891'
2017-10-08 15:23:01 +02:00
Florian Bruhin
51ea56375e
Improve error handling for config commands
...
- Use self._handle_config_error() for key commands too
- Catch getting an invalid key properly
- Remove (wrong) "set: " prefix
2017-10-08 14:40:10 +02:00
Florian Bruhin
2651688ef4
Only show customized options for :config-unset completion
2017-10-05 18:40:34 +02:00
Florian Bruhin
712e4a975a
Add a test to make sure :write-config-py files actually work
2017-10-05 10:48:14 +02:00
Florian Bruhin
ade0e1bd0b
Finish ConfigPyWriter and tests
2017-10-05 10:21:31 +02:00
Florian Bruhin
231b0522ca
Refactor write_config_py
2017-10-05 09:01:33 +02:00
Florian Bruhin
8dc34cf78a
Write commented lines with :write-config-py when writing defaults
2017-10-05 08:50:41 +02:00
Michal Siedlaczek
c5d695b59e
Remove spellcheck.enabled option.
2017-10-04 09:54:59 -04:00
Michał Siedlaczek
e20ad95666
Merge branch 'master' into spell
2017-10-04 09:47:42 -04:00
Michal Siedlaczek
6a486058c5
Review fixes
2017-10-04 09:22:35 -04:00
Florian Bruhin
36857d9250
Remove valid values for Bool from docs
2017-10-04 11:46:42 +02:00
Florian Bruhin
6fa001481d
Add some comments to generated config.py
2017-10-04 11:43:14 +02:00
Florian Bruhin
7fc5e42cca
Initial :config-write-py implementation
2017-10-04 11:14:24 +02:00
Florian Bruhin
208b4d1cbc
Make configfiles.YamlConfig iteration deterministic
2017-10-04 08:47:10 +02:00
Michal Siedlaczek
932e7a9ab9
Review fixes
2017-10-03 20:07:06 -04:00
Florian Bruhin
feaccb3083
Rename :scroll-perc to :scroll-to-perc
...
Closes #2819
2017-10-03 22:59:32 +02:00
Florian Bruhin
6c2958b646
Set star_args_optional for :config-cycle
2017-10-03 20:49:16 +02:00
Florian Bruhin
22088d9f7b
Remove --force for :bind and config.bind(...)
...
Turns out --force is just in the way for most people, and at least for default
bindings it's easy to reset them.
Also, it makes :config-source fail when config.py contains keybindings.
Closes #3049
2017-10-03 20:43:38 +02:00
Florian Bruhin
727580d1f4
Add a :config-edit command
...
See #2794
2017-10-03 20:43:38 +02:00
Florian Bruhin
8edaad51c3
Add a :config-source command
...
See #2794
2017-10-03 16:28:11 +02:00
Florian Bruhin
ed8c3f4aa2
Add :config-clear and :config-unset
...
See #2794
2017-10-03 12:45:39 +02:00
Florian Bruhin
b06a38ce7e
Reorder methods
...
(cherry picked from commit ba9bd292dbc43bf0ad382a1ef060c87ee651b5d7)
2017-10-03 10:28:19 +02:00
Florian Bruhin
f533e3b751
Move config toggling to :config-cycle
...
This removes :set option! and allows :config-cycle option instead.
2017-10-03 07:38:10 +02:00
Florian Bruhin
81993a70a2
Split off :config-cycle from :set
...
Before, we allowed :set to take multiple values, which often lead to confusing
error messages when a user forgot to quote the value.
Now, we instead have a dedicated :config-cycle command for that.
See #1840 , #2794
2017-10-03 07:37:55 +02:00
Florian Bruhin
0df4569502
Merge remote-tracking branch 'origin/pr/2847'
2017-10-02 07:49:20 +02:00
Florian Bruhin
a8fc561707
Split config commands off to their own file.
2017-10-02 07:08:30 +02:00
Florian Bruhin
a273baf8a0
Make sure :bind/unbind works properly when bindings.commands is None
...
To make this work, we should never return None when trying to get bindings to
modify.
Fixes #3026
2017-10-01 21:43:00 +02:00
Florian Bruhin
0b5af757ec
Clarify settings which need a restart
...
[ci skip]
2017-09-28 21:51:07 +02:00
Florian Bruhin
5c181a23ab
Fix default prompt color
...
The former value was interpreted as a comment in the YAML...
2017-09-28 21:24:12 +02:00
Florian Bruhin
02bcec37f4
Darken default prompt color a bit more
2017-09-28 19:20:29 +02:00
Florian Bruhin
865fc2e0de
Handle -s argument earlier
...
This makes sure we can e.g. set software_rendering via -s
2017-09-28 10:10:14 +02:00
Florian Bruhin
6770a474c4
Force software rendering earlier
...
We need to do this before a QApplication exists
2017-09-28 09:52:56 +02:00
Florian Bruhin
35beb84e85
Fix tests and lint
2017-09-28 09:38:57 +02:00
Florian Bruhin
defcf5394a
Move SSL backend checking to backendproblem.py
2017-09-28 08:41:10 +02:00
Florian Bruhin
093f34183c
Add improved checks for Nouveau/Wayland for QtWebEngine
...
Closes #2368
Closes #2932
See #2335
2017-09-28 08:41:10 +02:00
Florian Bruhin
ca4a997559
Update settings for QtWebEngine by default
...
See #2335
2017-09-28 08:41:10 +02:00
Florian Bruhin
fef1a65247
Fix ListOrValue.to_doc signature
2017-09-27 10:37:42 +02:00
Florian Bruhin
9607f3de59
Improve type documentation of settings
...
Use .get_name() for the docs
2017-09-27 08:25:52 +02:00
Florian Bruhin
c694bff902
Allow direct values for url.start_pages and content.user_stylesheets
2017-09-27 08:21:03 +02:00
Jay Kamat
cc84c1722d
Merge remote-tracking branch 'upstream/master' into jay/remote-pintab-width
2017-09-26 18:07:10 -04:00
Jay Kamat
59c6555537
Remove the tabs.width.pinned setting
2017-09-26 18:06:23 -04:00
Florian Bruhin
b879f5e648
Slightly re-style prompts
...
See #2104
2017-09-26 21:28:01 +02:00
Florian Bruhin
38449e3e2b
Make sure the autoconfig.yml is saved periodically
...
Fixes #2982
2017-09-26 06:41:55 +02:00
Florian Bruhin
38038df703
Compare objects with :set with multiple values
2017-09-25 21:24:12 +02:00
Florian Bruhin
6aed6bca93
Make loading autoconfig.yml opt-in when a config.py exists
...
This lets the user control the precedence those files should have, and also
simplifies the code quite a bit.
Fixes #2975
2017-09-25 21:24:12 +02:00
Florian Bruhin
07862ce52e
Merge branch 'pr/3029'
2017-09-25 06:57:02 +02:00
Florian Bruhin
8408d6ed9b
Fix emacs syntax highlighting in configdata.yml
2017-09-25 06:56:33 +02:00
Florian Bruhin
40f0f75ad5
Improve error message for duplicate keys in config.py
2017-09-24 19:43:30 +02:00
arza
cb68e4b6b2
Remove extra backslashes in configdata.yml
2017-09-23 22:58:30 +03:00
Florian Bruhin
b8389e4496
Revert "Fix NUL byte error handling on Python 3.4"
...
This reverts commit a7d5a98cc4
.
Not needed anymore now that we dropped support.
2017-09-22 22:30:02 +02:00
Florian Bruhin
5be44756e3
Remove unused imports
2017-09-22 17:29:01 +02:00
Michal Siedlaczek
b840b8066b
Spell only when pyqt>=5.8
2017-09-22 11:16:59 -04:00
Florian Bruhin
1e2015be65
Make bindings win over mappings
...
Fixes #2995
2017-09-22 17:13:17 +02:00
Florian Bruhin
d5a1fff637
Move init stuff from config.py to configinit.py
...
Closes #2997
2017-09-22 14:11:54 +02:00
Florian Bruhin
d1a4a028cd
Use more idiomatic comparison
2017-09-22 13:24:26 +02:00
Florian Bruhin
501764d1cb
Fix documented default values for falsey non-strings
...
Fixes #3015 .
2017-09-22 13:18:27 +02:00
Florian Bruhin
7f8ae531aa
Add config.configdir and config.datadir to config API.
...
Fixes #1419
2017-09-22 09:59:46 +02:00
Florian Bruhin
9b22480b07
Raise config.py errors happening in tests
2017-09-22 09:09:45 +02:00
Jay Kamat
43ce10efc3
Simplify and reorganize configfile tests
...
Also make save/load of sys.path a little more robust
2017-09-22 02:05:55 -04:00
Jay Kamat
4e22b4666d
Convert save-restore of sys to a context-manager
...
Also improve and simplify tests for save/load of sys.module and sys.path
2017-09-22 02:05:55 -04:00
Jay Kamat
7ddde334da
Add tests for module/path isolation
2017-09-22 02:05:55 -04:00
Jay Kamat
333c0d848b
Restructure save/load of state to be more extensible
...
Also save/load sys.modules as well
- This is a little rough, but I can't find a better way...
2017-09-22 02:05:54 -04:00
Jay Kamat
0332dce458
Get config path from config.py location, rather than standarddir
2017-09-22 02:05:54 -04:00
Jay Kamat
a2952e13a8
Add qutebrowser config directory to python path
...
This is done so config.py can import other python files in the config
directory. For example, config.py can 'import theme' which would load
a theme.py.
The previous path is restored at the end of this function, to avoid
tainting qutebrowser's path
2017-09-22 02:05:52 -04:00
Florian Bruhin
1c76a51c1e
Improve configtypes.Command docs
2017-09-21 22:31:11 +02:00
Michal Siedlaczek
396f82d474
Valid dictionaries
2017-09-21 16:30:58 -04:00
Florian Bruhin
64b783d9c0
Do not validate commands in the config and with :bind
...
There are just way too many gotchas related to valid modes, aliases, and
circular dependencies when validating aliases/bindings in the config.
Let's just remove this and let invalid commands fail late, when they're actually
used.
2017-09-21 22:30:48 +02:00
Michal Siedlaczek
9e620ce6e9
Fix spell with new config
2017-09-21 12:09:55 -04:00
Florian Bruhin
7cad8f41f2
Remove unknown YAML data from config
...
I considered introducing another list of deleted options (or a "deleted: True"
in configdata.yml), similar to what we had with the old config.
However, let's take the easier route and just delete everything we don't know
from configdata.yml. If someone edits it by hand, it's their fault :P
See #2772 , #2847
2017-09-21 16:29:40 +02:00
Florian Bruhin
fb33985f07
Merge remote-tracking branch 'origin/pr/2992'
2017-09-21 09:12:03 +02:00
Felix Van der Jeugt
285b534384
make changed dirty and save on duplicate write
2017-09-20 10:04:34 +02:00
Florian Bruhin
10c84dfb90
Use unpacking to access config mutables
2017-09-20 08:52:11 +02:00
Florian Bruhin
55cbb39127
Merge remote-tracking branch 'origin/pr/2999'
2017-09-20 08:48:22 +02:00
Florian Bruhin
50b19462f4
Bring back accidentally deleted hunk
2017-09-20 08:17:04 +02:00
Florian Bruhin
1d2d31d0f9
Remove duplicate key mapping
2017-09-20 08:17:04 +02:00
Ryan Farley
dd4294de03
fix #2979 : use dictionary for mutable tracking
...
Using a dictionary instead of a list keeps only one working copy,
allowing consistency in between calls of update_mutables()
2017-09-19 16:26:02 -05:00
Florian Bruhin
3a5241b642
Start using attrs
...
Closes #1073
2017-09-19 22:21:45 +02:00
Ryan Farley
a530b0cc95
fixed iteration
2017-09-19 14:19:28 -05:00
Ryan Farley
cc540bb166
Merge branch 'master' into mutable-dict
2017-09-19 14:07:46 -05:00
Felix Van der Jeugt
8e14d1b7e6
remove unused import
2017-09-19 17:47:38 +02:00
Felix Van der Jeugt
8db630d358
don't copy values but set dirty
2017-09-19 17:26:03 +02:00
Felix Van der Jeugt
7b192d426e
add unit test and fix issues with it
2017-09-19 15:30:28 +02:00
Felix Van der Jeugt
0e743f0e09
save only a changed autoconfig file
2017-09-19 14:33:34 +02:00
Florian Bruhin
1a1a6ebf79
Improve bind documentation
...
[ci skip]
2017-09-19 13:56:29 +02:00
Florian Bruhin
248afde21e
configapi: Also allow mode as posarg
2017-09-19 13:18:44 +02:00
Florian Bruhin
7d1549aaeb
Make mode optionally in ConfigAPI.bind and .unbind
2017-09-19 13:14:41 +02:00
Florian Bruhin
b1b6c462c1
Add a backend setting
...
See #2589
2017-09-18 23:02:08 +02:00
Florian Bruhin
5c0ebc1f94
Fix lint
2017-09-18 23:01:18 +02:00
Florian Bruhin
3772dc5930
Drop legacy QtWebKit support
...
See #2742
2017-09-18 23:01:17 +02:00
Florian Bruhin
3e70bf5af9
Make sure we never compare against an uninit'ed backend
2017-09-18 23:01:17 +02:00
Florian Bruhin
5298d14084
Move backend initialization to config.py
2017-09-18 23:01:17 +02:00
Florian Bruhin
505321c336
Drop support for Python 3.4
...
See #2742
2017-09-18 23:01:17 +02:00
Florian Bruhin
8e2b2d113b
Improve explanations for dicts in the config
2017-09-18 06:25:39 +02:00
Ryan Farley
c6ea0f8372
Use dictionary for configuration mutable storage
...
Includes a test for persistence of intermediate mutations in a
configuration file (i.e. more than one update) and a switch of the
_mutable attribute in configurations to a dictionary of (old, new)
values rather than (name, old, new). get_obj() now checks for an
existing mutable value and returns a reference to that value, only
making an initial copy; this preserves changes between update_mutables()
2017-09-17 16:07:52 -05:00
Florian Bruhin
66e4c3286a
Fix lint
2017-09-17 22:53:32 +02:00
Florian Bruhin
fe05947b54
Add a new qt_args setting
...
See #2589
2017-09-17 22:53:27 +02:00
Florian Bruhin
34042522f1
Set default hints font in pt and not px
2017-09-17 22:13:13 +02:00
Florian Bruhin
3e0ca5d94d
Stop using objreg for state-config
2017-09-17 21:04:34 +02:00
Florian Bruhin
6f1b8bd1d9
Make sure the config is available before the QApplication
...
See #2589
2017-09-17 20:06:35 +02:00
Florian Bruhin
e4d05e3fec
Log error information when config init fails
2017-09-17 14:13:36 +02:00
Florian Bruhin
046a16f924
Bind <Ctrl-Shift-N> and <Ctrl-Shift-W> by default
...
See #2954
2017-09-16 22:22:36 +02:00
Florian Bruhin
0ae1f5909d
Strip the old text for configdiff
...
This means we don't report an unneeded whitespace hunk anymore.
2017-09-16 14:41:37 +02:00
Florian Bruhin
2afd7549bc
Encode Unicode in old config as escapes
...
This seems to fix #2971 .
2017-09-16 14:39:37 +02:00
Florian Bruhin
714c18db0e
Fix \b escapes in old config file
2017-09-16 14:20:08 +02:00
Florian Bruhin
3179e8c7b9
Always autoescape jinja environments unless overridden
...
We were only rendering .html files before, so the old _guess_autoescape function
had the effect of always autoescaping .render() (from a file) but never
autoescaping .from_string(). However, most places using .from_string() actually
render (Qt-)HTML via jinja, so they should escape stuff!
Now, we always autoescape, except when the caller uses the
jinja.environment.no_autoescape() context manager, which places rendering
stylesheets now do.
This impacted:
- Confirm quit texts (no HTML here)
- config.py loading errors
(where this was found because of an error containing - a <keybinding>)
- Certificate error prompts
(should be fine from what I can tell, as the only user-controllable output is
the hostname, which cannot contain HTML)
2017-09-16 10:43:59 +02:00
Florian Bruhin
c8f3743008
Remove auto_save.config setting
...
This is not needed anymore now that we have config.load_autoconfig=False and
wasn't even read anywhere.
2017-09-15 22:22:09 +02:00
Florian Bruhin
a7d5a98cc4
Fix NUL byte error handling on Python 3.4
...
Looks like Python 3.4 raises TypeError and not ValueError...
2017-09-15 22:17:38 +02:00
Florian Bruhin
543bc3bcaa
Fix default :open keybindings
...
:open -i (--implicit) is now -r (--related).
2017-09-15 22:17:38 +02:00
Florian Bruhin
42039eee99
Fully remove ConfigAPI.val
2017-09-15 19:01:03 +02:00
Florian Bruhin
3be7299cb4
Fix completions for FlagList
2017-09-15 18:41:08 +02:00
Florian Bruhin
54c417391d
Add a qute://configdiff page
2017-09-15 18:26:33 +02:00
Florian Bruhin
2e8419db27
Fix lint
2017-09-15 17:24:39 +02:00
Florian Bruhin
c9625cb311
Add more tests for YAML error handling
2017-09-15 17:21:11 +02:00
Florian Bruhin
3f8817cc2d
Use blocking message boxes for config errors
2017-09-15 17:21:11 +02:00
Florian Bruhin
745ef63451
Start implementing autoconfig.yml error handling
2017-09-15 17:21:11 +02:00
Florian Bruhin
a92ffd9770
Improve NoOptionError traceback
2017-09-15 17:21:11 +02:00
Florian Bruhin
413c7ec1ac
Add config type docstrings to settings.asciidoc
2017-09-15 17:21:11 +02:00
Florian Bruhin
d7d8d191c0
Remove FIXMEs
...
backend validation: I decided not to do this, as it is quite annoying when
switching between backends.
2017-09-15 17:20:58 +02:00
Florian Bruhin
e87a782411
Move command-history init to cmdhistory.py
2017-09-15 14:27:15 +02:00
Florian Bruhin
ee5dd7fad2
Remove interpolation FIXME and DEFAULT_FONT_SIZE
...
This is just not going to happen, and with the new config we have no good way of
supporting a DEFAULT_FONT_SIZE.
2017-09-15 14:11:10 +02:00
Florian Bruhin
e0621c6eda
Fix initializing without a config.py
2017-09-15 14:08:37 +02:00
Florian Bruhin
7c39600508
Change default bindings for Up/Down in command mode
...
Those now look at the history again.
Looking at the behavior in different applications:
- vim: History
- spacemacs: Completion if open, else history
- luakit: Completion if open, else history
- dwb: Always completion (has no history?)
- vimb: Nothing if completion open, else history
- vimperator: Always history
So this is consistent with at least some of them - the much more important
factor is that <Tab> is probably intuitively easy to discover if up/down doesn't
do what's expected, but <ctrl-p>/<ctrl-n> are not.
2017-09-15 14:08:37 +02:00
Florian Bruhin
f406e8d9ca
Remove config.val support for config.py
2017-09-15 14:08:37 +02:00
Florian Bruhin
bb648b62f3
Make sure we honour config_api.load_autoconfig even with errors
...
We don't raise ConfigFileErrors inside read_config_py so we can get back the
config_api object. Instead we raise it in config.init().
2017-09-15 12:07:54 +02:00
Florian Bruhin
5efce10c2c
Add initial tests for config.py error handling
2017-09-15 12:07:54 +02:00
Florian Bruhin
bbffda669a
Fix lint
2017-09-15 12:07:54 +02:00
Florian Bruhin
c031a7ab3d
Fix another Python 3.4 circular import
2017-09-15 12:07:54 +02:00
Florian Bruhin
b8fb88f4c2
Improve config error handling
...
- Errors are now combined if possible
- Rich text output in message boxes
- ConfigContainer errors are collected properly
2017-09-15 12:07:54 +02:00
Florian Bruhin
490de32b49
Initial attempt at error handling for config.py
2017-09-14 21:51:29 +02:00
Florian Bruhin
b3734b151b
Handle mutations in config.py correctly
2017-09-14 17:38:33 +02:00
Florian Bruhin
cb806aefa3
Initial config.py support
...
See #2795
2017-09-14 17:38:33 +02:00
Florian Bruhin
6618c3a6e8
Don't use shlex for configtypes.ShellCommand
...
We accidentally did show the command as a list in to_str(). However, after
correcting that to use shlex.escape, we got ugly qutebrowser command lines
when tabbing to the default value, because of how shlex handles double-escaping:
>>> print(shlex.quote("gvim -f '{}'"))
'gvim -f '"'"'{}'"'"''
While in this case, outputting "gvim -f '{}'" would be much more appropriate, it
doesn't look like we can teach shlex.quote to do that.
Instead, we now only accept a list as input for ShellCommand, at the price that
the user needs to do
:set editor.command '["gvim", "-f", "{}"]'
instead of
:set editor.command 'gvim -f {}'
Fixes #2962 .
2017-09-14 14:44:24 +02:00
Florian Bruhin
cee51df4fb
Refactor JS log handling and use a dict for javascript.log
...
Fixes #2828
2017-09-14 00:37:01 +02:00
Florian Bruhin
1fc9817cd4
Remove support for ambiguous keybindings
2017-09-14 00:37:01 +02:00
Florian Bruhin
bf9d401198
Reorder statusbar settings in configdata.yml
2017-09-13 21:32:36 +02:00
Florian Bruhin
13f49738d7
Fix typo in content.user_stylesheets
2017-09-13 21:32:36 +02:00
Florian Bruhin
8537e92d39
Add backend: QtWebKit for hints.find_implementation
2017-09-13 21:32:36 +02:00
Florian Bruhin
ad2598b475
Add initial support for standarddir.config(auto=True)
...
This doesn't actually migrate things yet.
See #2791 , #383 .
2017-09-13 17:26:56 +02:00
Florian Bruhin
b04a233e8d
Adjust :unbind signature to match :bind
2017-09-12 22:51:52 +02:00
Florian Bruhin
f70c5968a9
Improve documentation for command modes
2017-09-12 22:12:37 +02:00
Florian Bruhin
07079664a6
Don't use alias in default binding
...
See #2957
2017-09-12 22:12:37 +02:00
Florian Bruhin
fe8ffcc5c3
Quote default xos4 Terminus font properly
2017-09-11 21:50:35 +02:00
Ryan Roden-Corrent
f0509d1c26
Fix web_history_max_items default value.
...
Should default to -1, not 1000 as the new history completion is better
able to handle large numbers of entries. I believe this was acidentally
reset to 1000 while fixing a merge conflict.
Also re-run src2asciidoc.
2017-09-07 08:45:05 -04:00
Ryan Roden-Corrent
37ba256900
Ensure web-history-max-items has int64 as maxval.
...
See #2779 .
2017-08-27 22:29:01 -04:00
Ryan Roden-Corrent
b5a6583559
Fix pylint/flake8/vulture errors.
2017-08-20 21:12:38 -04:00
Ryan Roden-Corrent
90c49b3fe7
Move bind completion to configmodels.
...
When in miscmodels, the config module was unable to find the function.
It appears to be some sort of circular import issue:
```
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/app.py", line 44, in <module>
from qutebrowser.completion.models import miscmodels
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/completion/models/miscmodels.py", line 24, in <module>
from qutebrowser.completion.models import completionmodel, listcategory, util
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/completion/models/util.py", line 24, in <module>
from qutebrowser.config import config
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/config/config.py", line 223, in <module>
class ConfigCommands:
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/config/config.py", line 314, in ConfigCommands
@cmdutils.argument('command', completion=miscmodels.bind)
AttributeError: module 'qutebrowser.completion.models.miscmodels' has no attribute 'bind'
```
As configmodel imports util (and thereby config as well) it is unclear
to me why moving bind() to configmodel actually fixes this, but it does.
2017-08-20 21:12:38 -04:00
Ryan Roden-Corrent
0286e9ddf2
Fix completion tests after config merge.
2017-08-20 21:12:38 -04:00
Ryan Roden-Corrent
5ea420b49b
Fix startup crashes after config merge.
...
Get qutebrowser to the point where it can at least start
- Declare _messages earlier in MessageView.__init__ so it is set before
the config trigger tries to access it.
- Remove unused configmodel completion functions
- Move bind completion to configmodel to avoid a circular import with
the config module
- Fix some config accesses (forgot to use .val)
- Fix old Completion.CompletionKind references
2017-08-09 07:28:22 -04:00
Ryan Roden-Corrent
71b71dbc58
Merge remote-tracking branch 'upstream/master' into HEAD
2017-08-06 18:13:49 -04:00
Florian Bruhin
118a7942a5
Add maximum bound for web-history-max-items
...
sqlite can't handle values bigger than uint64_t for LIMIT.
2017-07-21 18:30:12 +02:00
Florian Bruhin
0f85898137
Add a config version to the YAML file
2017-07-19 08:22:00 +02:00
Ryan Roden-Corrent
c32d452786
Add LIMIT to history query.
...
For performance, re-introduce web-history-max-items.
As the history query has now become a very specific multi-part query and
history completion was the only consumer of SqlCategory, SqlCategory is
now replaced by a HistoryCategory class.
2017-07-16 18:13:51 -04:00
Florian Bruhin
ba8083c539
Fix issues with new stylesheet cache
2017-07-11 21:59:17 +02:00
Florian Bruhin
9307cf86fa
Add a cache for rendered stylesheets
...
Otherwise, when showing hints a few times, we spend around 8-10s just in jinja
generating stylesheets.
2017-07-11 21:06:53 +02:00
Ryan Roden-Corrent
dc4472470e
Merge remote-tracking branch 'upstream/master' into really_complete
2017-07-05 08:45:57 -04:00
Florian Bruhin
0cdd3ff82f
Update some more references to old config options
2017-07-04 16:46:02 +02:00
Florian Bruhin
cff61fa0bc
Fix pylint
...
This also reverts commit 8df0b063be
.
2017-07-04 15:34:10 +02:00
Florian Bruhin
88b878098d
Implement pretty-printing of configtypes for the doc
...
This is also needed to make the docs environment work on Travis - as otherwise,
doc generation wasn't deterministic because of changing dict key order.
2017-07-04 15:09:23 +02:00
Florian Bruhin
9ac2dbcc80
Disallow surrogate escapes in dicts and lists in the config
...
In Dict.to_str() and List.to_str() we use json.dump to get a value. However,
JSON includes surrogate escapes in the dumped values, which breaks round trips.
>>> yaml.load(json.dumps({'\U00010000': True}))
{'\ud800\udc00': True}
>>> yaml.load(json.dumps({'\U00010000': True}, ensure_ascii=False))
yaml.reader.ReaderError: unacceptable character #x10000: special characters are not allowed
See:
https://stackoverflow.com/a/38552626/2085149
https://news.ycombinator.com/item?id=12798032
2017-07-04 15:09:23 +02:00
Florian Bruhin
0528a800f2
Fix config things relying on dict order
2017-07-04 15:08:04 +02:00
Florian Bruhin
91cd6c6288
Fix Python 3.4 circular imports
2017-07-04 15:08:04 +02:00
Florian Bruhin
1663280f53
Update test_shared for new config
...
Also, make accept_language none_ok=True like it was in the old configdata.py
2017-07-04 15:08:04 +02:00
Florian Bruhin
78d7ac311f
Use fonts.monospace properly
2017-07-04 15:08:04 +02:00
Florian Bruhin
4562a3574b
Allow a list for content.user_stylesheets
2017-07-04 15:08:04 +02:00
Florian Bruhin
afb3b496e8
Add missing backend: QtWebKit for content.pdfjs
2017-07-04 15:08:04 +02:00
Florian Bruhin
a36f5bafc1
Rename content.javascript.can_*_windows to _tabs
2017-07-04 15:08:04 +02:00
Florian Bruhin
be94098597
Improve more docs
2017-07-04 15:08:04 +02:00
Florian Bruhin
5ada3606d8
Allow to not send the DNT header
2017-07-04 15:08:04 +02:00
Florian Bruhin
040be60697
Improve more docs
2017-07-04 15:08:04 +02:00
Florian Bruhin
202b8445f6
Move content.accept_language under headers
2017-07-04 15:08:04 +02:00
Florian Bruhin
f546cbe934
Clarify some docs
2017-07-04 15:08:04 +02:00
Florian Bruhin
d7036fe8a8
Clarify history_session_interval and rename it to _gap_interval
...
"session" is already overloaded enough.
2017-07-04 15:08:04 +02:00
Florian Bruhin
8712fc6fd3
Move new_instance_open_target out of url.
...
It doesn't really fit there really...
See 3cf028db23cbfe256e499d8881c3c2856f224d94
2017-07-04 15:08:04 +02:00
Florian Bruhin
d641652a92
More test_config improvements
2017-07-04 15:08:04 +02:00
Florian Bruhin
c214acd899
Remove config from objreg
2017-07-04 15:08:04 +02:00
Florian Bruhin
1a492e9f4a
Re-add backend checks to new config
2017-07-04 15:08:04 +02:00
Florian Bruhin
2b9b54cf6b
Tests and improvements for ConfigContainer
2017-07-04 15:08:03 +02:00
Florian Bruhin
4495e721d8
Tests and fixes for config.Config
2017-07-04 15:08:03 +02:00
Florian Bruhin
e259293f83
Always copy config objects
...
If we mutate the value we get from the config, we want to make sure the value in
the config always stays the same (especially when it's the default!).
2017-07-04 15:08:03 +02:00
Florian Bruhin
2c3981e57e
Get rid of Config.read_configdata()
...
No need for this indirection
2017-07-04 15:08:03 +02:00
Florian Bruhin
252c5396f3
Apply proxy changes from master
...
This are the same changes as done in 629038632c
,
but only the part related to the config. This is so we don't forget this when
merging them.
2017-07-04 15:08:03 +02:00
Florian Bruhin
07d0ea6a54
Unit tests and improvements for :bind/:unbind
2017-07-04 15:08:03 +02:00
Florian Bruhin
3edebce833
Add tests for :set
2017-07-04 15:08:03 +02:00
Florian Bruhin
31b999ea59
Tests and improvements for KeyConfig
2017-07-04 15:08:03 +02:00
Florian Bruhin
725ffef5f3
Use a real config object in unit tests
2017-07-04 15:08:03 +02:00
Florian Bruhin
5aac991446
Remove unnecessary sip.isdeleted line
...
Now that the StyleSheetObserver is a child of the object it observes, it should
get cleaned up properly when the object is deleted.
This means this is hopefully not needed anymore, even on Qt 5.2.
2017-07-04 15:08:03 +02:00
Florian Bruhin
978013e750
Fix CommandParser and don't use a generator
2017-07-04 15:08:03 +02:00
Florian Bruhin
a8c7e8ba05
Add first config tests
2017-07-04 15:08:03 +02:00
Florian Bruhin
28670f8e48
Move config.style into config.config and refactor it
2017-07-04 15:08:03 +02:00
Florian Bruhin
a2f62238f1
Change default binding to leave passthrough mode to Ctrl-V
...
Also, display the binding in the statusbar
2017-07-04 15:08:03 +02:00
Florian Bruhin
df1685905e
Add content.headers and content.cache groups
2017-07-04 15:08:03 +02:00
Florian Bruhin
50602cbf26
Add an url. group to settings
2017-07-04 15:08:03 +02:00
Florian Bruhin
5c08c6c930
Add conditional backend infos to docs
2017-07-04 15:08:03 +02:00
Florian Bruhin
034d727a2c
Clean up configdata
2017-07-04 15:08:03 +02:00
Florian Bruhin
25ab3b30c2
Initial doc update with new settings
2017-07-04 15:08:03 +02:00
Florian Bruhin
94ac2ca56c
Merge :wq into :quit and add an alias
2017-07-04 15:08:03 +02:00
Florian Bruhin
065f82f485
Fix endless recursion while validating aliases
2017-07-04 15:08:03 +02:00
Florian Bruhin
ac78039171
Use aliases for :w and :q
2017-07-04 15:08:03 +02:00
Florian Bruhin
ac64ea287a
Rename tabs.new_position/_explicit to .related/.unrelated
2017-07-04 15:08:03 +02:00
Florian Bruhin
441b3a4df4
Allow missing fixed_keys for configtypes.Dict
...
We just fill them up with a None value for the value type, so we can e.g. only
specify a subset of modes for bindings and the rest is {}.
2017-07-04 15:08:03 +02:00
Florian Bruhin
9d8b76e497
Simplify _none_value for List/Dict configtypes
...
We don't need to check for fixed_keys/required_keys in get_obj (only get_py),
and we don't need to care about mutability in get_py.
2017-07-04 15:08:03 +02:00
Florian Bruhin
da0a2b8578
Handle {} and [] with none_ok for configtypes.Dict/List
2017-07-04 15:08:03 +02:00
Florian Bruhin
2ba637891a
Add required_keys for configtypes.Dict
2017-07-04 15:08:03 +02:00
Florian Bruhin
bc526cf0ce
Remove some FIXMEs
2017-07-04 15:08:03 +02:00
Florian Bruhin
7ee222af88
Return [] for none-values for configtypes.List
2017-07-04 15:08:03 +02:00
Florian Bruhin
c141c33b32
Clean up start_pages setting
...
The value is now of type FuzzyUrl, and the setting is renamed to start_pages.
2017-07-04 15:08:03 +02:00
Florian Bruhin
9cbacf3264
Use {} for none-dicts and fix keybindings
2017-07-04 15:08:03 +02:00
Florian Bruhin
0115285a84
Initial update for better bindings management
2017-07-04 15:08:03 +02:00
Florian Bruhin
127db2fe42
Be a bit more relaxed about values for Perc
...
We now allow float/int for objects, and strings without a trailing % sign.
2017-07-04 15:08:03 +02:00
Florian Bruhin
cbf6e4287f
Rename fonts.tabbar to fonts.tabs
2017-07-04 15:08:03 +02:00
Florian Bruhin
e7ba56cb2c
Read YAML config after config.val is ready
...
This means we can (at least somewhat) validate aliases in configtypes.Command.
2017-07-04 15:08:03 +02:00
Florian Bruhin
0ed0a6db57
Clean up code
2017-07-04 15:08:03 +02:00
Florian Bruhin
67cb6a9802
Implement initial reading from YAML
2017-07-04 15:08:03 +02:00
Florian Bruhin
70f6d0e305
Add qutebrowser.config.configfiles
2017-07-04 15:08:03 +02:00
Florian Bruhin
78434a330c
Remove old stub FIXMEs
2017-07-04 15:08:03 +02:00
Florian Bruhin
fda4fd4888
Rename NewConfigManager.set to set_obj
2017-07-04 15:08:03 +02:00
Florian Bruhin
ad0a961a5f
Add an lru_cache for configdata.is_valid_prefix()
...
This gets called a lot, and caused some :bind calls to take ~3s.
Stats after starting with a bit of :bind:
CacheInfo(hits=25917, misses=139, maxsize=256, currsize=139)
2017-07-04 15:08:03 +02:00
Florian Bruhin
45e7e35233
Detect mutated values in new config
...
This will allow config.py to get a value and then mutate it, and we can also
make things easier for :bind and :unbind.
2017-07-04 15:08:03 +02:00
Florian Bruhin
2577b2c5e3
Validate configtypes.Command correctly
2017-07-04 15:08:03 +02:00
Florian Bruhin
23d30d4fc0
Fix remaining :bind/:unbind issues
2017-07-04 15:08:03 +02:00
Florian Bruhin
f434f955c2
Improve exception handling for :bind/:unbind
2017-07-04 15:08:02 +02:00
Florian Bruhin
ba1bc29a97
Initial :bind/:unbind implementation
2017-07-04 15:08:02 +02:00
Florian Bruhin
d7f1ebedbf
Fix toggling options
2017-07-04 15:08:02 +02:00
Florian Bruhin
44e4816cbb
Use get_opt in NewConfigManager.set
2017-07-04 15:08:02 +02:00
Florian Bruhin
5081e4f201
Fix NewConfigManager.get_str
2017-07-04 15:08:02 +02:00
Florian Bruhin
340a62869d
Fix javascript.prompt default
2017-07-04 15:08:02 +02:00
Florian Bruhin
e752f87876
Add Shift-Delete mapping for :completion-item-del
...
This seems to be what Chromium and Firefox use for the same purpose.
2017-07-04 15:08:02 +02:00
Florian Bruhin
383968d948
Add a Key config type
...
Make sure any key we get from the config is normalized).
2017-07-04 15:08:02 +02:00
Florian Bruhin
e894ad4ab0
Improve :set --temp docs
2017-07-04 15:08:02 +02:00
Florian Bruhin
089e1ee91b
Rewrite various references to old settings
2017-07-04 15:08:02 +02:00
Florian Bruhin
88fb5bbd82
tests: Fix various issues with new config
2017-07-04 15:08:02 +02:00
Florian Bruhin
198040b2e2
Fix setting descriptions
2017-07-04 15:08:02 +02:00
Florian Bruhin
f27978e268
Rename input.insert_mode.auto_focused to _load
2017-07-04 15:08:02 +02:00
Florian Bruhin
d0904a9f67
Adjust test settings
2017-07-04 15:08:02 +02:00
Florian Bruhin
c2a2845ee7
Remove the tabs.movable setting
2017-07-04 15:08:02 +02:00
Florian Bruhin
85bee4a7d2
Rename completion background settings to .odd/.even
2017-07-04 15:08:02 +02:00
Florian Bruhin
bc8176ff21
Remove most legacy config code
2017-07-04 15:08:02 +02:00
Florian Bruhin
785de9fb99
Add dump_userconfig
2017-07-04 15:08:02 +02:00
Florian Bruhin
b5eac744b5
Remove old caching code
...
Not deleting debug_cache_stats as we'll soon re-add stuff there.
2017-07-04 15:08:02 +02:00
Florian Bruhin
46d0fee11b
Bring back :set
2017-07-04 15:08:02 +02:00
Florian Bruhin
30f1970850
Fix key-config usage
2017-07-04 15:08:02 +02:00
Florian Bruhin
f5d2c48bbb
Fix new keyconfig issues
2017-07-04 15:08:02 +02:00
Florian Bruhin
67afc06d79
Initial work on new keyconfig
2017-07-04 15:08:02 +02:00
Florian Bruhin
82102279bc
Get rid of configdata.SECTION_DESC
2017-07-04 15:08:02 +02:00
Florian Bruhin
624c6777ff
Reorder configdata.yml
2017-07-04 15:08:02 +02:00
Florian Bruhin
94b200835a
Hack in setting a value to NewConfigManager
2017-07-04 15:08:02 +02:00
Florian Bruhin
dc74a55b84
Fix remaining configtypes issues
2017-07-04 15:08:02 +02:00
Florian Bruhin
72d4421ac8
Make ShellCommand a List subclass
...
Also, let's not require a list in Command (which is used for aliases).
2017-07-04 15:08:02 +02:00
Florian Bruhin
ecba175b16
Test and fix configtypes to_str.
2017-07-04 15:08:02 +02:00
Florian Bruhin
4c2f65819b
Try to fix qute://settings
2017-07-04 15:08:02 +02:00
Florian Bruhin
5414744439
Clean up NewConfigManager
2017-07-04 15:08:02 +02:00
Florian Bruhin
d69c6d0c66
Reorganize how configtypes store their data
...
Now the "object" kind of value (like in YAML) is stored internally, and that's
the canonical value. The methods changed their meaning slightly, see the
docstring in configtypes.py for details.
2017-07-04 15:08:02 +02:00
Florian Bruhin
1cbb4ece4b
Force configtype.Dict keys to be strings
2017-07-04 15:08:02 +02:00
Florian Bruhin
41655e7852
Fix handling of none_ok in List/Dict
...
We now always return None (and '' as string) when the user configured an empty
list or dict.
2017-07-04 15:08:01 +02:00
Florian Bruhin
8ea3d92697
Initial implementation of to_str for configtypes
2017-07-04 15:08:01 +02:00
Florian Bruhin
ffc29ee043
Make qute://settings work with QtWebEngine and new config
...
Fixes #2332
2017-07-04 15:08:01 +02:00
Florian Bruhin
18eb133811
configdata: Make sure default values are valid
2017-07-04 15:08:01 +02:00
Florian Bruhin
0857a45b0a
configtypes: parse regex flags properly
2017-07-04 15:08:01 +02:00
Florian Bruhin
a7c3bb0d55
Initial qute://settings upgrade
2017-07-04 15:08:01 +02:00
Florian Bruhin
36a5614c61
Add "FIXME"
2017-07-04 15:08:01 +02:00
Florian Bruhin
a1ed81f790
Patch out setting completion
...
Let's bring it back with the completion refactoring
2017-07-04 15:08:01 +02:00
Florian Bruhin
001312ca82
Disallow Booleans for configtypes.Int.from_py
2017-07-04 14:42:56 +02:00
Florian Bruhin
ffd1a91467
Fix Directory conftype
2017-07-04 14:42:56 +02:00
Florian Bruhin
61ba92ae18
configtypes: Separate str/py basic validation
...
This also ensures the behavior for none_ok is consistent.
2017-07-04 14:42:56 +02:00
Florian Bruhin
51a29468be
configtypes: Use YAML for loading List/Dict from a string
...
This allows for a more lightweight syntax (like "{a: b}").
2017-07-04 14:42:56 +02:00
Florian Bruhin
41565fcfd4
configtypes: Use from_py for List/Dict values from a string
2017-07-04 14:42:56 +02:00
Florian Bruhin
7ddce62cd6
Refactor most of remaining config.get() calls
2017-07-04 14:42:56 +02:00
Florian Bruhin
51474724e5
Refactor objreg.get('config') calls
2017-07-04 14:42:56 +02:00
Florian Bruhin
cc0e66fe7b
More config fixes
2017-07-04 14:42:56 +02:00
Florian Bruhin
6a451b37d7
re-raise NoOptionError
2017-07-04 14:42:56 +02:00
Florian Bruhin
52f15c84a6
Get rid of config sections
2017-07-04 14:42:56 +02:00
Florian Bruhin
7e7fbf106b
Fix lint and old config options
2017-07-04 14:42:56 +02:00
Florian Bruhin
ce7597b3f6
Fix various configtypes issues found while writing tests
2017-07-04 14:42:56 +02:00
Florian Bruhin
629038632c
Add proxy support for QtWebEngine and Qt 5.7.1
...
This used to give us crashes in libproxy:
https://github.com/libproxy/libproxy/issues/45
https://bugreports.qt.io/browse/QTBUG-56852
However, trying again with Qt 5.7.1 on Debian and from PyPI, this doesn't happen
anymore, so it was probably something with how Archlinux handled things.
See #2082 , #2775 .
Reverts fd29528e4f
2017-07-03 10:29:28 +02:00
Florian Bruhin
c25022f549
Fix LimitLineParser
2017-07-02 22:17:33 +02:00
Florian Bruhin
1022b7ea32
Make jinja templating more strict
...
This ensures we actually know when an AttributeError happens.
It also changes most external code to use the correct environment, rather than
simply creating a jinja2.Template, which wouldn't use the more tightened
environment.
2017-07-02 22:17:33 +02:00
Florian Bruhin
4b4acc5f5a
Minor config fixes
2017-07-02 22:17:33 +02:00
Florian Bruhin
b9aa5d0e4e
Fix valid_values initing from configdata
2017-07-02 22:17:33 +02:00
Florian Bruhin
269e9d69e0
Improve typechecking message
2017-07-02 22:17:33 +02:00
Florian Bruhin
500ad8b00f
Use strings for Perc configtypes
2017-07-02 22:17:33 +02:00
Florian Bruhin
298553d48d
Fix QssColor
2017-07-02 22:17:33 +02:00
Florian Bruhin
61fe40f4a1
Initial stylesheet refactoring for new config
2017-07-02 22:17:33 +02:00
Florian Bruhin
e2b0fdf8aa
Fix VerticalPosition and NewTabPosition
...
Make them string so they have to_py() defined.
2017-07-02 22:17:33 +02:00
Florian Bruhin
26bf588fad
Fix _validate_valid_values
2017-07-02 22:17:33 +02:00
Florian Bruhin
231b7303f5
Use null for empty config values.
2017-07-02 22:17:33 +02:00
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