Florian Bruhin
df67c254f8
Initial attempt at getting PDF.js to work with separate downloads
2018-09-09 18:35:09 +02:00
Florian Bruhin
8f1690eff7
Move pdfjs error page to pdfjs.py
2018-09-09 18:35:09 +02:00
Florian Bruhin
36b2f5e63f
Remove qute:// backend= argument
2018-09-09 18:35:09 +02:00
Florian Bruhin
dc82ac3eb2
Move qute_pdfjs to qutescheme.py
2018-09-09 18:35:09 +02:00
Florian Bruhin
b611ff52cf
Support URL patterns for content.autoplay
2018-09-09 18:31:41 +02:00
Jesko
f22fb30ef3
fixing non controversial changes
2018-09-09 20:51:19 +12:00
Jimmy
5252541fe3
greasemonkey: better handle scripts without metadata
...
Previously calling `script.code()` would fail if the script didn't have
a `name`. This wasn't being hit in practice because the only place that
constructs GreasemonkeyScripts was checking for that condition and add
the filename there as a fallback.
This change make the `name` attribute more explicitly mandatory by
failing with a `ValueError` if it is not provided and make it still
possible to use the filename fallback in that case by adding a
`filename` keyward argument to `__init__()`.
Additionally where `script_meta` is used in `script.code()` a fallback
to and emptry string was added so it doesn't fail for raw javascript
files without greasemonkey metadata.
2018-09-09 20:51:19 +12:00
Jimmy
32268ae66a
Split _inject_greasemonkey_scripts to separate requirements.
...
Because flake8 was complaining about cyclomatic complexity.
2018-09-09 20:45:21 +12:00
Jesko
abea603119
moving MAX_WORLD_ID to qtutils, changing test names, fixing linter errors, changing error type to WebTabError
2018-09-09 20:45:21 +12:00
Jesko
ee9b1f4950
adding tests and improving error messages
2018-09-09 20:45:21 +12:00
Jesko
0c38cbcbdd
putting in current borders
2018-09-09 20:45:21 +12:00
Jesko
8aa682e769
catching greasemonkey errors aswell
2018-09-09 20:45:21 +12:00
Jesko
583c7e4198
catch the exception
2018-09-09 20:45:21 +12:00
Jay Kamat
e295e8054c
Add support for triggering change handlers when using :open-editor
2018-09-08 20:39:38 -07:00
Florian Bruhin
88cbc9bb12
caret: Also enable end-of-doc-workaround on Windows
2018-09-08 16:32:28 +02:00
Florian Bruhin
3738a8c8a9
Apply caret mode workarounds correctly
2018-09-08 16:20:58 +02:00
Florian Bruhin
1647c28632
Allow lists for javascript.convert_js_arg
2018-09-08 16:20:38 +02:00
Florian Bruhin
45eece372f
Don't access caretElement if it's gone
2018-09-08 15:51:42 +02:00
Florian Bruhin
03dea493de
Make sure we only update the caret selection once
...
Otherwise, stuff goes haywire when trying to use the caret mode very fast (like
in a unit test), because new stuff runs before we've managed to update the selection.
2018-09-08 13:18:09 +02:00
cauimsouza
4a8d8688cb
Improve configuration description
2018-09-07 21:46:03 +02:00
Florian Bruhin
93eb05598e
Fix request logging
2018-09-07 16:12:40 +02:00
Florian Bruhin
0b27779c9d
Allow null initiator for qute:// URLs on Qt 5.11
...
Before Qt 5.11.2, for unique origins, we always got QUrl() and thus passed it
through.
With Qt 5.11.2, only missing origins (browser-initiated requests) get an empty
initiator, while unique origins get QUrl("null"):
https://codereview.qt-project.org/#/c/234849/
https://bugreports.qt.io/browse/QTBUG-69372
In theory, those should be locked down (as an unique origin is e.g. a sandboxed
iframe) and never have access to any other content.
However, thanks to a Qt bug, XHR on qute:// pages has QUrl("null") as origin as
long as the URL scheme is not registered. We can only do the registering once
Qt 5.12 is out.
Since unique origins were effectively already allowed on Qt 5.11.0/.1, we pass
them through here as well until Qt 5.12.
See #4198
2018-09-07 12:25:07 +02:00
Florian Bruhin
15c547b3f5
Move QuteSchemeHandler._check_initiator to its own method
2018-09-07 12:24:54 +02:00
Florian Bruhin
5ca911bcdb
Fix lint
2018-09-06 20:09:57 +02:00
Florian Bruhin
ab6c8dde9a
Decrease minimum QProgressDialog duration
...
We already have a threshold before we use a QProgressDialog at all, so let's
show it quite quickly and not after 4 seconds.
2018-09-06 17:26:28 +02:00
Florian Bruhin
d4f16f88b6
Remove support for importing pre-v1.0.0 history
2018-09-06 17:26:28 +02:00
Florian Bruhin
ec774379bd
Add tests for history progress
2018-09-06 17:13:46 +02:00
Florian Bruhin
e4b7786bcc
Factor out GUI stuff to a HistoryProgress object
2018-09-06 17:04:26 +02:00
Florian Bruhin
2109b2276e
Initial progress dialog for history rebuild
2018-09-06 16:52:14 +02:00
Florian Bruhin
cd8fd8ab3c
Use config cache for completion.web_history.exclude
...
On my machine, this speeds up regenerating from ~6min to ~25s.
2018-09-06 16:17:23 +02:00
Florian Bruhin
108cc65bc6
Merge remote-tracking branch 'origin/pr/4185'
2018-09-06 16:15:16 +02:00
Jay Kamat
8e82adc306
Refactor configcache to cache
...
Also fix and improve configcache tests
2018-09-05 22:26:12 -07:00
cauimsouza
a742f03bca
Change setting name
2018-09-05 02:59:03 +02:00
cauimsouza
fc1d192880
Pass url as second argument to slot
2018-09-05 02:37:23 +02:00
Florian Bruhin
6293bc5178
Fix lint and test
2018-09-04 23:46:34 +02:00
SubbulakshmiRS
5b8e0d8d80
Fixing the previous patches
...
Patch files for correct usage of QuteSchemeError and general clean up.
Closes https://github.com/qutebrowser/qutebrowser/issues/4059
2018-09-04 23:15:05 +02:00
Florian Bruhin
58793d95d7
Further clean up error handling
2018-09-04 23:05:59 +02:00
Florian Bruhin
92fcc523c5
WIP: Properly signal scheme errors
2018-09-04 23:03:10 +02:00
Florian Bruhin
2fcdc5a0c9
Merge branch 'blacklist-history'
2018-09-04 22:19:52 +02:00
Florian Bruhin
f6d0ed78d0
Improve description for completion.web_history.exclude
2018-09-04 22:19:22 +02:00
cauimsouza
d324448039
Fix mute_per_domain feature
...
Users can allow sounds to be played by
default while specifying domains not allowed
to play sounds, or the opposite.
2018-09-04 16:40:05 +02:00
cauimsouza
9d91c22236
Allow tabs be muted by default
2018-09-04 04:25:37 +02:00
Philip Scheel
8d04f8cdc8
Fixed pylint complaints
2018-09-04 00:59:49 +02:00
Philip Scheel
cf13c31142
Resolved conflicts for merge, regenerated asciidoc, removed whitespace
...
Removed whitespace
2018-09-04 00:10:07 +02:00
Philip Scheel
35c2f95a58
Merged upstream, made requested modifications to the search engine code and added tests
2018-09-03 23:28:43 +02:00
Jay Kamat
d4cf5045ab
Fix tests for configcache
2018-09-02 18:03:36 -07:00
Jay Kamat
cc09f6c962
Fix doc issues in configcache
2018-09-02 14:38:46 -07:00
Jay Kamat
0335fc31c1
Use config cache to cache static hotspots
2018-09-02 14:23:01 -07:00
Jay Kamat
067d76616b
Implement config cache system
2018-09-02 14:23:00 -07:00
Florian Bruhin
79eece8fd0
Completely undo older changes
2018-09-02 18:27:30 +02:00
Florian Bruhin
87a4b1d662
Reduce code duplication
2018-09-02 18:26:43 +02:00
Florian Bruhin
5b0c10d430
Fix docstrings
2018-09-02 15:46:57 +02:00
Florian Bruhin
8a42256cff
Merge remote-tracking branch 'origin/pr/4178'
2018-09-02 15:45:48 +02:00
Florian Bruhin
a7775ffc2d
Release v1.4.2
2018-09-02 14:53:38 +02:00
Florian Bruhin
ed67263a64
Check redirect before patterns
2018-09-02 14:42:47 +02:00
Florian Bruhin
dbdeb6a9c7
Rename history.exclude to completion.web_history.exclude
...
If the blacklist is only valid for the completion, the setting should also be
under completion.
This also un-renames history.gap_interval and renames
completion.web_history_max_items.
2018-09-02 14:42:47 +02:00
Florian Bruhin
4f56355fbe
Don't affect qute://history with history.exclude
2018-09-02 14:42:47 +02:00
Florian Bruhin
3a13614d0e
Fix none_ok description in BaseType
2018-09-02 12:10:07 +02:00
Florian Bruhin
67b4b7d490
Handle :// as URL pattern
2018-09-02 11:58:34 +02:00
Florian Bruhin
37396d68f3
Define names for sqlite error codes
2018-09-01 22:25:22 +02:00
Florian Bruhin
f5c92ded41
Merge Sql{Environment,Bug}Error with Sqlite{Environment,Bug}Error
2018-09-01 22:25:22 +02:00
Florian Bruhin
50ae2bf2f9
Redesign SQL error handling
...
Instead of having an environmental attribute on exceptions, we now have two
different exception classes.
Fixes #3341
See #3073
2018-09-01 22:25:22 +02:00
Florian Bruhin
99ae49ccd6
Describe all sqlite error codes
2018-09-01 22:25:22 +02:00
Florian Bruhin
71a2dad570
Add a history.exclude setting
...
This allows to exclude URL patterns from being displayed in the completion or
in qute://history.
2018-09-01 22:25:22 +02:00
Florian Bruhin
7fb2224640
Add a UrlPattern config type
...
For some settings it makes sense to have a list of URL patterns in the config,
rather than having a per-domain boolean setting.
2018-09-01 18:25:58 +02:00
Florian Bruhin
5c8d4ede06
Rename history_gap_interval to history.gap_interval
2018-09-01 18:25:58 +02:00
Florian Bruhin
67a52527f5
Mark SQLITE_IOERR/SQLITE_CANTOPEN as environmental error
...
Fixes #3060
IOERR: The SQLITE_IOERR result code says that the operation could not finish
because the operating system reported an I/O error.
CANTOPEN: The SQLITE_CANTOPEN result code indicates that SQLite was unable to
open a file. The file in question might be a primary database file or on of
several temporary disk files.
2018-09-01 18:25:58 +02:00
Florian Bruhin
47218e5402
sql.Query: Roll back transactions on errors
2018-09-01 18:25:58 +02:00
Florian Bruhin
aff1108836
sql.Query: Make sure transaction/commit succeed
2018-09-01 18:25:58 +02:00
Florian Bruhin
992f13b5b8
Add sql.Query._check_ok
2018-09-01 18:25:58 +02:00
Florian Bruhin
3f2a468750
Also detect missing bound values for sql.Query.run_batch
2018-09-01 18:25:58 +02:00
Florian Bruhin
0e284944e7
Use composition instead of inheritance for sql.Query
...
This means we're more loosely coupled to Qt's QSqlQuery, and also can move some
logic for handling batch queries from the table to there.
2018-09-01 18:25:58 +02:00
Florian Bruhin
6b719fb218
Make sure queries don't have any missing bindings
2018-09-01 18:25:58 +02:00
Florian Bruhin
9fb794656b
Make it possible to force a history rebuild
...
This adds a new CompletionMetaInfo table which is a simple key/value store.
Thanks to Python/sqlite duck typing, we can use that to store values of any
type, even new ones in the future.
Currently, the only allowed key is force_rebuild, which forces a rebuild of the
CompletionHistory table. This will be needed for a future change.
2018-09-01 18:25:58 +02:00
Vasilij Schneidermann
3fa6d94893
Display value when calling :set without a value
...
This change brings Qutebrowser closer to Vim's behavior of `:set
foo?` *and* `:set foo` displaying the current value of `foo`.
2018-08-31 21:34:42 +02:00
Florian Bruhin
1815070dab
Make sure the host blocker doesn't block 0.0.0.0
2018-08-31 16:48:45 +02:00
Florian Bruhin
65caf40b06
Remove unneeded import
2018-08-31 11:47:18 +02:00
Florian Bruhin
a13607674f
Elide URLs at the end and not in the middle
...
With a URL like http://www.example.com/long/path/end , an elision like
http://www.example.com/…/path/end would be nicest, but using ElideMiddle means
we can end up with something like http://www.example.…/path/end , which can
possibly trick a user during a phishing attempt.
Instead, let's just always elide at the end, so we end up with
http://www.example.com/long/ …. That makes sure the scheme/hostname (which are
most important) are visible as long as possible.
Fixes #4170 .
2018-08-30 07:46:01 +02:00
Florian Bruhin
8459afb76e
Recognize "Command"/"Cmd" in keybindings
2018-08-28 18:57:47 +02:00
Florian Bruhin
1a7efd92d7
Merge remote-tracking branch 'origin/pr/4140'
2018-08-27 10:06:04 +02:00
Florian Bruhin
bfec5c9f7f
Merge pull request #4153 from vilhalmer/set-desktop-entry-name
...
Set desktop file name
2018-08-27 09:31:00 +02:00
Florian Bruhin
1dd857a51a
Implement MouseLock permission
...
Closes #3287
2018-08-24 23:31:04 +02:00
vilhalmer
8ac9c72412
Set desktop file name
2018-08-21 21:38:26 -04:00
Jimmy
b192164f2e
Don't alphabetically sort tab completion.
...
`ListCategory` sorts its completion by default, we are already building
the categories in the right order so don't need that.
The test tests the case of where you have 11 tabs and if the model was
sorted the tabs with index 10 and 11 would be sorted before the one with
index 2.
The `random.sample` bit for the tab url and title is to also make sure
the model isn't being sorted on those columns, whithout haveng to write
and all ten lines.
2018-08-19 16:42:36 +12:00
lufte
9c4337c359
Fix "Unnecessary generator - rewrite as a list comprehension."
2018-08-17 18:06:23 -03:00
lufte
fd70d6d2d8
Some memory improvements with generators
2018-08-17 01:00:32 -03:00
lufte
68b9dff747
Perform attribute updates on a record's clone
2018-08-17 00:59:14 -03:00
Florian Bruhin
de8fd25f43
Change key to leave passthrough mode to Shift-Escape
...
We changed this a while ago in a2f62238f1
already, but Ctrl-V was kind of cumbersome as well, as it conflicted with
pasting.
Shift-Escape is closer to the default leave-mode binding (Escape), and also
unlikely to conflict as it's used for the task manager in Chrome.
2018-08-15 18:34:26 +02:00
Jay Kamat
b962c5c4d9
Merge pull request #4118 from DerJesko/master
...
Tests for ipv6 support in urlmatch
2018-08-13 14:33:53 -07:00
wishfort36
0e3e41a5e8
Handle nitpicks
2018-08-13 07:50:54 +02:00
wishfort36
b05738dd6c
Keep $QUTE_COUNT unset if a count is not given
2018-08-12 22:39:32 +02:00
wishfort36
359eefe1ab
Expose $QUTE_COUNT to userscripts
2018-08-12 21:21:01 +02:00
Florian Bruhin
58dffafb1e
Merge remote-tracking branch 'origin/pr/4126'
2018-08-12 20:24:56 +02:00
Florian Bruhin
2a1afd5255
Add more detailed info to _chromium_version docs
2018-08-11 22:18:52 +02:00
Jesko
0d78533480
remove useless config option
2018-08-11 19:43:11 +02:00
farlusiva
8e2307c546
Docstring things, change test
...
- Update the docstring for repeat
- Remove the blank line after the docstring
- Update the docstring with scripts/dev/src2asciidoc.py
- Simplify the test
2018-08-11 19:32:41 +02:00
wishfort36
f27195d360
Have 'times' multiply with [count] by default
2018-08-11 18:31:17 +02:00
wishfort36
961fa07fb0
Core functionality
2018-08-11 17:59:45 +02:00
Jesko
a676cca6c5
changing the texts of the errors
2018-08-10 20:49:20 +02:00
Jesko
b74b069153
removing useless brackets
2018-08-10 19:14:48 +02:00
Florian Bruhin
73ab356756
Merge pull request #4105 from davidv171/master
...
Show warning when using --backend with a running instance
2018-08-10 06:53:01 +02:00
Florian Bruhin
e927fecbbc
Make content.webrtc_public_interfaces_only work on Qt 5.11
...
69abc9a1a1
added the argument for Qt 5.9, but
didn't add the QWebEngineSetting for Qt >= 5.11.
See #3010 , #2163 .
2018-08-08 20:48:33 +02:00
Jesko
972b3ae960
changing suggested flaws
2018-08-08 18:30:12 +02:00
Jesko
484a22f111
now declining more wrong ipv6 addresses and cleaning up code
2018-08-08 17:53:14 +02:00
Jesko
4ce5d99b24
match minimizes ipv6 urls
2018-08-08 16:55:43 +02:00
Florian Bruhin
831d3e4044
Add gD keybinding for :tab-give (detach a tab)
2018-08-08 14:23:03 +02:00
Florian Bruhin
7ed71592e0
Handle OSError when creating download directory
...
Fixes #2570
2018-08-07 16:42:59 +02:00
Florian Bruhin
1cb547a8de
Use exist_ok=True for os.path.makedirs
...
See #2570
2018-08-07 16:42:59 +02:00
Florian Bruhin
b617f1e03c
Remove old pylint disable comments
2018-08-06 19:55:27 +02:00
Florian Bruhin
50823b9415
eslint: Disable require-unicode-regexp
...
See https://eslint.org/docs/rules/require-unicode-regexp
It would be useful to have, but Chromium 49 coming with Qt 5.7 doesn't support
it (Chromium 56 in Qt 5.9 would)...
Also see #3839
2018-08-04 13:43:00 +02:00
David
c692649ad1
Improved the style of the message
2018-08-04 01:12:39 +02:00
David
56caae9c47
Fixed the lack of whitespace between words
2018-08-04 01:09:15 +02:00
David
068ac0df82
Make the line shorter and span over 2 lines
2018-08-04 01:06:38 +02:00
David
1888423332
Added a warning when a second instance is being launched with a backend flag
2018-08-02 22:03:10 +02:00
Florian Bruhin
6b044d4aff
Fix indent
2018-07-28 14:47:01 +02:00
Florian Bruhin
ee06ba0140
Handle invalid URLs in acceptNavigationRequest in the tab API
2018-07-28 11:54:58 +02:00
Florian Bruhin
7ac7ccc296
Ignore invalid URLs in acceptNavigationRequest
2018-07-28 09:18:50 +02:00
Florian Bruhin
d830dd69a4
Add workaround comment
2018-07-24 16:04:28 +02:00
Florian Bruhin
90d7ab84b0
Merge remote-tracking branch 'origin/pr/4072'
2018-07-24 16:03:54 +02:00
Florian Bruhin
f69cd2259e
Don't require user interaction for clicking qute:// links
...
See #4090 , #4073
2018-07-24 15:44:27 +02:00
Florian Bruhin
e70d796dad
Merge remote-tracking branch 'origin/pr/4090'
2018-07-24 15:41:40 +02:00
Florian Bruhin
6c353a140f
Bump up yaml_load deadline on CI
2018-07-23 21:32:09 +02:00
Jay Kamat
31d318ee0a
Add catch and error handling for errors in follow_selected click
2018-07-21 13:58:41 -07:00
Jay Kamat
2b8068f6da
Move audible strings into class variables
2018-07-21 12:50:45 -07:00
Florian Bruhin
3b6c4d4b85
Remove unneeded log prefix
...
We see the function anyways
2018-07-19 00:31:40 +02:00
Florian Bruhin
7d695d40b9
Add a QUTE_FAKE_OPENGL_VENDOR envvar
2018-07-19 00:31:23 +02:00
Florian Bruhin
8a748741ba
Fix checks for Nouveau workaround
2018-07-19 00:28:12 +02:00
Florian Bruhin
a72eee8e39
Enable XSS auditing by default
...
Qt disables this by default, but Chromium does have it enabled.
I also submitted a change to Qt to hopefully enable it by default there
starting with Qt 5.12: https://codereview.qt-project.org/#/c/198354/15
This also removes the claim of having a (big) performance impact, as Chromium's
XSS design doc says the opposite:
https://www.chromium.org/developers/design-documents/xss-auditor
2018-07-17 12:01:17 +02:00
Florian Bruhin
b8c70e5986
Rewrite type comments again
2018-07-16 22:35:40 +02:00
Florian Bruhin
2d65f25a04
Remove unnecessary object inheritance
2018-07-16 14:44:31 +02:00
Florian Bruhin
e4a772c61c
Fix try-except-raise for pylint 2.0
...
See https://github.com/PyCQA/pylint/issues/2302
2018-07-16 14:44:07 +02:00
Florian Bruhin
e0f3285f05
Fix bad-indentation issues for pylint 2.0
...
See https://github.com/PyCQA/pylint/issues/2301
2018-07-16 14:41:18 +02:00
Florian Bruhin
e50b6912a7
Fix pylint 2.0 useless-return cases
...
See https://github.com/PyCQA/pylint/issues/2300
2018-07-16 14:33:11 +02:00
Florian Bruhin
b1d508a3af
Rewrite pseudo "type:" comments for pylint 2.0
...
See https://github.com/PyCQA/pylint/issues/2299
2018-07-16 14:15:00 +02:00
Florian Bruhin
9298f3d055
Refactor print handling and fix window.print
...
On Qt 5.7.1, window.print() caused a CommandError which wasn't handled as the
command was called from accept_navigation_request.
Instead, we now show the dialog in AbstractPrinting and use that directly.
2018-07-16 08:16:18 +02:00
Hendrik R
b1a060fb71
Process all events before issuing an alert
...
Fixes #2603
The call to processEvents fixes an apparent race condition with some window
managers, e.g. i3. QT seems to be thinking, that the window is not marked as
urgent and toggles it twice, so synchronizing before issuing the alert makes QT
behave correctly.
This change should not change the behaviour on other systems only correct the
fault reported in #2603 .
2018-07-15 14:31:03 +02:00
Florian Bruhin
d1a25b6c3f
Release v1.4.1
2018-07-11 17:17:51 +02:00
Florian Bruhin
43e58ac865
CVE-2018-10895: Fix CSRF issues with qute://settings/set URL
...
In ffc29ee043
(part of v1.0.0), a
qute://settings/set URL was added to change settings.
Contrary to what I apparently believed at the time, it *is* possible for
websites to access `qute://*` URLs (i.e., neither QtWebKit nor QtWebEngine
prohibit such requests, other than the usual cross-origin rules).
In other words, this means a website can e.g. have an `<img>` tag which loads a
`qute://settings/set` URL, which then sets `editor.command` to a bash script.
The result of that is arbitrary code execution.
Fixes #4060
See #2332
2018-07-11 17:05:23 +02:00
Florian Bruhin
b9e3d3cab9
Add workaround for chrome-extension:// URLs
...
Fixes #4049
2018-07-09 12:29:35 +02:00
Florian Bruhin
274b66ec46
Strip trailing newlines from pastebin URL
2018-07-08 22:09:56 +02:00
Markus Ongyerth
40b2d03688
make the host_blocker aware of patterns
...
Add an additional argument to is_blocked for the current url, and enable
the host_blocking.enabled property to be set per domain.
This allows to bypass host blocking for specific domains
2018-07-08 16:17:24 +02:00
Olmo Kramer
daa8bc0507
Fix accidentally renamed hint group
2018-07-05 00:57:08 +02:00
Olmo Kramer
ca89b11398
Use configured links selector for navigate command
2018-07-04 22:56:47 +02:00
Olmo Kramer
6212dbc488
Add more input types to the input hints group
2018-07-04 22:56:47 +02:00
Olmo Kramer
1d39276d24
Add media hinting group
2018-07-04 22:56:47 +02:00
Olmo Kramer
0f8296d384
Add hints.selectors setting
2018-07-04 22:56:42 +02:00
Florian Bruhin
0a31e19eda
Handle download errors when the reply is already gone
...
Fixes #1270
2018-07-03 17:16:02 +02:00
Florian Bruhin
0f037fb415
Release v1.4.0
2018-07-03 15:44:44 +02:00
Florian Bruhin
8cf22c85e0
Merge remote-tracking branch 'origin/pr/4019'
2018-07-03 13:52:24 +02:00
Florian Bruhin
d861c097b1
Support new dead keys added in Qt 5.11 properly
...
See https://codereview.qt-project.org/#/c/207231/
2018-07-02 22:32:59 +02:00
Florian Bruhin
ad19833e34
Revert "Add workaround for PyQt 5.11 headerDataChanged bug"
...
PyQt 5.11.1 has already been released, with the bug fixed.
This reverts commit 291763a55643342a6f977ce2a12dcc6f4badbe8a.
2018-07-02 22:32:59 +02:00
Florian Bruhin
eca08f064b
Add workaround for PyQt 5.11 headerDataChanged bug
...
https://www.riverbankcomputing.com/pipermail/pyqt/2018-June/040445.html
2018-07-02 22:32:59 +02:00
Florian Bruhin
c3455d9082
Add a wrapper around sip
...
Starting with PyQt 5.11, the sip module now is bundled with PyQt as PyQt.sip.
Having a qutebrowser.qt also helps with #3625 , see #995
2018-07-02 22:32:59 +02:00
Florian Bruhin
a7af5195d1
Set title when showing PDF.js error page
...
Fixes #3894
2018-06-28 11:22:44 +02:00
Florian Bruhin
e9c78b29ed
Ignore Python 3.7 collections.abc warning
...
Related issues/PRs:
https://github.com/yaml/pyyaml/pull/181
https://github.com/pypa/setuptools/issues/1401
https://github.com/pallets/markupsafe/pull/98
https://github.com/yaml/pyyaml/pull/181
https://github.com/pallets/jinja/pull/867
2018-06-27 16:01:21 +02:00
Florian Bruhin
2f612aa6df
Update comment
2018-06-26 15:54:56 +02:00
Florian Bruhin
8519aa940f
Decorate slots properly
2018-06-26 10:40:13 +02:00
Florian Bruhin
ea4ee6f00b
Use the url_changed signal in the tab API
2018-06-26 10:39:33 +02:00
Florian Bruhin
1536843f33
Only get greasemonkey object once
2018-06-26 10:39:04 +02:00
Florian Bruhin
61da5d0c7c
Merge remote-tracking branch 'origin/pr/4017'
2018-06-26 10:37:17 +02:00
Florian Bruhin
85a9f6a08a
Fix lint
2018-06-26 10:23:48 +02:00
Jimmy
c43d173197
greasemonkey: s/userscripts/greasemonkey_scripts/
...
No need to confuse developers as well as users.
2018-06-26 16:42:31 +12:00
Jimmy
ee2c765859
greasemonkey: check _widget is not deleted
...
Just for good luck.
No crash has been reported here but it is a common pattern for functions
called from signals.
2018-06-26 16:42:31 +12:00
Jimmy
6f1232e621
greasemonkey: move 5.7.1 injection method into _WebEngineScripts
...
Moves the 5.8 check to `_WebEngineScripts.init()`.
Changes `_inject_userscripts` to allow for the two code paths. With
5.7.1 we need to specify the injection point and not clear all scripts
for each call, since we have to call it three times.
Change the 5.8+ hook to call a new method which passes all the scripts
into `_inject_userscripts` so that doesn't have to have a fallback
conditional inside it because thats an inversion of responsibility!
Pulling the remove scripts part into a seperate function and making it
the callers responsibilty to call that first would tidy it up a little
more but meh.
I was worried about just doing `_widget.page().urlChanged.connect()`
once at tab init, where before it was connected at page init, because I
was under the impression that the child page can be replaced at any
time, eg when navigating to a new origin. But under manual testing I
didn't see that at all. Maybe I was mistaken or maybe that only started
in a later Qt version.
2018-06-26 16:42:31 +12:00
Jimmy
747acfe7fa
Makes sanitize_filenames platform dependant.
...
Hopefully having the posix bad_chars list so minimal won't ruin anyones day.
2018-06-26 16:29:38 +12:00
Jimmy
1febcb9fce
Also call sanitize_filename in TempDownloadManager
...
Just in case the suggested name used for the temp file suffix somehow
has an illegal character in it.
2018-06-26 16:14:22 +12:00
Jimmy
ffd6ffef45
Add force_encoding call to sanitize_filename.
...
So that callers don't have to call both.
2018-06-26 16:14:22 +12:00
Jimmy
5f4efced7b
Sanitize generated filenames for downloads.
...
Replace characters that Windows doesn't like from generated and
suggested filenames for downloads. Does not apply to filenames that a
user inters via the downloads location prompt.
Fixes #3922
2018-06-26 16:14:22 +12:00
Jimmy
324966cfe7
greasemonkey: also support qute-js-world on 5.7.1
...
A straight copy from webengintab.
Yes I know I shouldn't be importing a private thing from webenginetab,
I'm working on refactoring now.
2018-06-26 15:00:35 +12:00
Jimmy
521268a1f7
Update comment.
2018-06-26 15:00:35 +12:00
Jimmy
54ca9b34e5
greasemonkey: enable running in isolated js worlds
...
QtWebEngine (via chromium) has the ability to run injected scripts in
isolated "worlds". What is isolated is just the javascript environment,
so variables and functions defined by the page and the script won't
clobber each other, or be able to interact (including variables saved to
the global `window` object). The DOM is still accessible from "isolated"
scripts.
This is NOT a security measure. You cannot put untrusted scripts in one
of these isolated worlds and expect it to not be able to do whatever
page js can do, it is just for namespacing convenience. See
https://stackoverflow.com/questions/9515704/insert-code-into-the-page-context-using-a-content-script
for some examples of how to inject scripts into the page scope using DOM
elements.
Now you can specify the world ID in a `@qute-js-world` directive like:
```
// ==UserScript==
// @name Do thing
// @match *://some.site/*
// @qute-js-world 1234
// ==/UserScript==
document.body.innerHTML = "<strong>overwritten</strong>"
```
The QtWebEngine docs say worldid is a `quint32` so you can put whatever
number (positive, whole, real) you want there. I have chosen to allow
the `qutebrowser.utils.usertypes` enum as aliases for IDs that are
predefined in
`qutebrowser.browser.webengine.webenginetab._JS_WORLD_MAP`. So you can
pass `main`, `application`, `user` or `jseval` in there too. `main` (0)
is the default one and is the only one in which JS disabled when
`content.javascript.enabled` is set to `false`. All others are still
enabled.
I'm not sure whether using any of those already-named worlds makes
sense, apart from `main`. We could stop people from using them I
suppose. Another option is to allow people to pass in `*` as a value to
have scripts put into their own little worlds, probably backed by a
counter in the GreaseMonkeyManager class.
Chrome docs: https://developer.chrome.com/extensions/content_scripts#execution-environment
Webengine docs: https://doc.qt.io/qt-5/qwebenginescript.html#details
2018-06-26 15:00:35 +12:00
Florian Bruhin
876aa5a9b1
Fix lint
2018-06-25 22:51:55 +02:00
Florian Bruhin
81b3ef937e
Move handling of certificate errors to webenginetab
2018-06-25 21:04:32 +02:00
Florian Bruhin
8a4bba11ed
Disable certificate workaround on Qt >= 5.9
...
Fixes #4020
2018-06-25 20:35:48 +02:00
Jay Kamat
da0a6305df
Fix crash when tab is closed after a per-domain forced reload
2018-06-25 12:45:17 -04:00
Florian Bruhin
6c9e23af4a
eslint: Turn off max-lines-per-function
2018-06-25 08:14:02 +02:00
Florian Bruhin
f2f481d991
Support URL patterns for permissions and ssl_strict
...
See #3636
2018-06-24 21:38:37 +02:00
Florian Bruhin
f5e69b2174
Show inspector after creating it
2018-06-24 19:57:52 +02:00
Florian Bruhin
e6e844b039
Support URL patterns for content.headers settings
...
See #3636
2018-06-24 19:54:24 +02:00
Jay Kamat
454c532668
Fix behavior when toggling stacking behavior in a single tab
2018-06-23 12:33:35 -04:00
Florian Bruhin
a02c25dfb1
Don't escape URLs for qute://history
...
We only use the URL to set a 'href' attribute, which does not need escaping.
See #4011
Fixes #4012
2018-06-23 14:27:07 +02:00
Florian Bruhin
d2254ca48b
Release v1.3.3
...
(cherry picked from commit ad9b50601c82f66646088e9ebdd66613eb2e93e2)
2018-06-21 23:32:56 +02:00
Florian Bruhin
0864ad4069
Fix shadowing of 'html' name
2018-06-21 22:28:27 +02:00
Florian Bruhin
5a7869f2fe
Fix XSS issue on qute://history
...
Fixes #4011
2018-06-21 21:20:19 +02:00
Florian Bruhin
62d8b5b574
Don't depend on PyQt5.QtQuickWidgets to get RWHV
...
Some distributions (at least FreeBSD) don't package that module, so let's not
rely on it.
2018-06-21 17:14:29 +02:00
Florian Bruhin
c87757a913
Revert "Properly add QtQuickWidgets dependency"
...
Looks like FreeBSD doesn't have QtQuickWidgets packaged at all, so let's do the
same without requiring it...
This reverts commit e5405f0ae9
.
2018-06-21 16:35:29 +02:00
Florian Bruhin
9f5ca475c9
Don't try to set focus if prev_focus is None
2018-06-21 01:44:15 +02:00
Florian Bruhin
e7a300865c
Fix lint
2018-06-21 01:43:09 +02:00
Florian Bruhin
e5405f0ae9
Properly add QtQuickWidgets dependency
2018-06-21 00:21:52 +02:00
Jay Kamat
0e7bbccd71
Fix stacking tabs setting with new_tab prev
2018-06-19 12:10:21 -04:00
Jay Kamat
1919029858
Add setting for controlling stacking of new tabs
2018-06-18 18:09:13 -04:00
Florian Bruhin
3399f2df96
Always clear searches between page loads
...
Looks like this wasn't properly fixed in Qt for some reason.
Fixes #3693
See #2728 and bef372e5f5
2018-06-17 21:03:44 +02:00
Florian Bruhin
2029f52fdc
Show cause when ~/.netrc can't be read
2018-06-17 20:53:29 +02:00
Florian Bruhin
663d1a4d2f
Read dictionaries from /usr/share/qt on Qt >= 5.10
...
Fixes #3759
Supersedes #3762
See #2939 , #4003
2018-06-17 20:27:52 +02:00
Philip
0a9806daf3
Fixed crash which could occur if user adds nonexistent category to url.open_categories_shown
2018-06-17 10:42:45 +02:00
Philip
a2b1e041d6
Implemented use of the order of url.open_categories_shown in the :open dialogue.
...
Reworded the description of this option to match.
2018-06-17 10:29:57 +02:00
Philip
a62aeb4abe
Added support for searchengines listing in :open dialogue. Added settings for selecting what categories are shown in the :open dialogue.
2018-06-17 05:33:53 +02:00
Florian Bruhin
7654467f36
Remove unused import
2018-06-14 17:43:20 +02:00
Florian Bruhin
07cf2f5b60
Unconditionally restore mode after prompt
2018-06-14 16:09:30 +02:00
Florian Bruhin
4dddc07753
Make sure modeman.enter(KeyMode.normal) does something sensible
2018-06-14 16:09:26 +02:00
Florian Bruhin
1335fccba1
Merge remote-tracking branch 'origin/pr/3590' into tab-mode
2018-06-14 15:40:58 +02:00
Florian Bruhin
e4e982c0a7
Remove unused variable
2018-06-14 14:58:07 +02:00
Florian Bruhin
868cd115be
Remove old focus handling code
2018-06-14 14:58:07 +02:00
Florian Bruhin
cec63ea449
Merge remote-tracking branch 'origin/pr/3906'
2018-06-14 14:49:30 +02:00
Jay Kamat
e5b6552568
Clean up and simplify some logic
2018-06-13 15:37:32 -07:00
Florian Bruhin
a0adee55c9
Quit hard on ignored exceptions
...
We can't realistically shut down cleanly because we most likely haven't init'ed
properly yet.
Fixes #3993
2018-06-13 21:13:39 +02:00
Florian Bruhin
cb2881e0d7
Use info loglevel for :debug-cache-stats
...
Closes #3994
2018-06-13 19:10:01 +02:00
Florian Bruhin
1541088e76
Use -webkit-filter on old Qt
2018-06-12 17:01:34 +02:00
Florian Bruhin
c37134861e
Use ES6 template strings
2018-06-12 16:49:54 +02:00
Florian Bruhin
772654bcae
Use calculated background color for newer Qt versions
2018-06-12 16:46:03 +02:00
Florian Bruhin
68a7387b6b
Merge remote-tracking branch 'origin/pr/3940'
2018-06-12 16:32:05 +02:00
Florian Bruhin
a1a5885367
Set parents for tab sub-objects
2018-06-12 14:09:06 +02:00
Florian Bruhin
a6db700886
Fix HTML5 fullscreen
2018-06-12 13:44:47 +02:00
Slackhead
088c7b235d
fix for qt 5.7.1
2018-06-12 11:22:41 +01:00
Florian Bruhin
6faff11243
Improve error messages with backend conditionals
2018-06-12 11:10:03 +02:00
Florian Bruhin
3b0c8e46a3
Add an initial cookie filter for Qt 5.11
...
See #3010
2018-06-12 09:36:05 +02:00
Slackhead
35a1e118f8
combine style nodes
2018-06-12 04:25:13 +01:00
Florian Bruhin
093f07f552
Add content.canvas_reading setting
...
See #2377
Closes #2235
2018-06-11 23:28:04 +02:00
Florian Bruhin
ad7e080827
Fix lint
2018-06-11 21:47:38 +02:00
Florian Bruhin
67c67db230
Handle multiple visible children when finding lost focusProxy
...
When we click a QTBUG link (to open in a new tab) from Qt's codereview, we get
two RWHV objects which both are visible.
Experimenting with .setEnabled(False) it looks like it's (hopefully always...)
the last one which is the one to use.
2018-06-11 21:43:27 +02:00
Florian Bruhin
c328d54ebe
Add a lost-focusproxy debug flag
2018-06-11 21:27:08 +02:00
Florian Bruhin
a6b314ae91
Don't connect Qt 5.11 signals on PyQt 5.10
...
Apparently the signal attributes already exist with PyQt 5.10 (*sigh*) but PyQt
doesn't know what to do with the arguments, causing this to happen:
TypeError: unable to convert a C++ 'QWebEngineRegisterProtocolHandlerRequest'
instance to a Python object
2018-06-11 21:21:41 +02:00
Florian Bruhin
d42934af08
Turn off FocusOnNavigationEnabled on Qt 5.9
...
This way we get the same behavior with Qt 5.9 and 5.10 at least, leaving only
5.7 if we pretend that 5.8 never existed.
2018-06-11 20:28:00 +02:00
Florian Bruhin
141afff0c6
Add a content.desktop_capture setting
...
See #2939
2018-06-11 20:18:57 +02:00
Florian Bruhin
69abc9a1a1
Add a content.webrtc_public_interfaces_only option
...
See #3010
Fixes #2163
2018-06-11 19:44:45 +02:00
Florian Bruhin
3bf89bcea4
Add content.autoplay option
...
See #3010
Closes #1643
2018-06-11 19:32:34 +02:00
Florian Bruhin
c5b7ed350e
Make it possible to provide a converter for websettings
2018-06-11 19:14:31 +02:00
Florian Bruhin
263d298449
Remove the content.developer_extras setting
2018-06-11 18:09:24 +02:00
Florian Bruhin
e5fbb9f68a
Remove pyqtSlot annotations for new types
2018-06-11 18:09:24 +02:00
Florian Bruhin
54011782c8
webenginetab: Move scripts to separate object
2018-06-11 18:09:24 +02:00
Florian Bruhin
b3749df009
webenginetab: Move permissions to separate object
2018-06-11 18:09:18 +02:00
Florian Bruhin
4186577928
Add support for navigator.registerProtocolHandler
...
See #3010
2018-06-11 18:09:18 +02:00
Florian Bruhin
c020160f75
Add support for navigator.webkitPersistentStorage.requestQuota
...
See #3010
2018-06-11 18:09:18 +02:00
Florian Bruhin
4ea957b68b
Allow Qt 5.11 for backends in configdata.yml
2018-06-11 18:09:18 +02:00
Florian Bruhin
05e73872b6
Add blocking=True to shared.feature_permission
2018-06-11 16:37:53 +02:00
Florian Bruhin
be95d6f505
Remove moved audio API
2018-06-11 16:07:32 +02:00
Florian Bruhin
b954fd4b15
Move _on_feature_permission_requested to WebEngineTab
2018-06-11 16:06:58 +02:00
Florian Bruhin
8964845c18
Remove unused import
2018-06-11 15:30:01 +02:00
Florian Bruhin
c7f57bc111
Tell pylint to shut up about a shadowed argument
2018-06-11 15:29:35 +02:00
Florian Bruhin
f052eff038
Stop using view-source: scheme for Pygments-highlighted URLs
...
Doing so causes QtWebEngine to load its own view-source: page even if we supply
custom data.
Instead we pass the original page's URL (to not regress #2948 ).
This partially reverts #3521 and reintroduces TabData.viewing_source.
However, on QtWebEngine we can still ":view-source --pygments" and then
":view-source" (with or without "--pygments") again, because the bit gets
cleaned in _on_load_started.
See #3654 .
2018-06-11 15:18:00 +02:00
Florian Bruhin
6e23a6b958
Merge remote-tracking branch 'origin/pr/3654'
2018-06-11 14:56:32 +02:00
Florian Bruhin
cbd9e36e0f
Fix typo
2018-06-11 14:13:11 +02:00
Florian Bruhin
b63e06561d
Only consider visible render widgets for lost focusProxy
...
Otherwise, when commenting out the focusProxy way above, and using "foo !npm"
with DuckDuckGo, we get two children (one visible, one invisible).
2018-06-11 14:00:02 +02:00
Florian Bruhin
49b6a512c2
Add missing docstring
2018-06-11 13:17:14 +02:00
Florian Bruhin
2934f4a1ca
Merge remote-tracking branch 'origin/pr/3973'
2018-06-11 12:34:18 +02:00
Florian Bruhin
8376278961
Update docs
2018-06-11 12:14:24 +02:00
Florian Bruhin
a1fcdbcfd1
Move muted/audible API to own ".audio" object
2018-06-11 12:12:37 +02:00
Florian Bruhin
1c8d470bd7
Merge remote-tracking branch 'origin/pr/3908'
2018-06-11 12:06:09 +02:00
Florian Bruhin
3999802c71
Add missing 'return'
2018-06-11 11:35:35 +02:00
Florian Bruhin
cf8dbd8bfd
Move pressing Enter into a method
2018-06-11 11:35:16 +02:00
Florian Bruhin
7f69920158
Merge remote-tracking branch 'origin/pr/3947'
2018-06-11 11:29:14 +02:00
Jimmy
addd2e74ce
Allow negating categories in --logfilter
...
Sometimes I want to see all the logs _except_ for the sql stuff and
"marked cookies as dirty". with this you should be able to pass
`--logfilter \!sql,save`.
2018-06-11 21:26:54 +12:00
Florian Bruhin
f034abe6a1
Handle showing/hiding of the inspector properly
2018-06-11 11:07:14 +02:00
Florian Bruhin
1ba2e3e24b
Implement Qt 5.11 devtools support
...
See #3010
2018-06-11 11:07:14 +02:00
Jay Kamat
315ed519ee
Use ctrl-enter in all cases
2018-06-10 16:27:56 -07:00
Florian Bruhin
c4add62301
Merge remote-tracking branch 'origin/pr/3825'
2018-06-10 17:30:44 +02:00
Florian Bruhin
3bffe1ccf8
Release v1.3.2
2018-06-10 15:59:50 +02:00
Jay Kamat
11d8df0e3e
Simplify logic and resolve style issues
2018-06-09 16:45:42 -07:00
Jay Kamat
de127497a2
Press enter to follow links instead of using js
...
This codepath may trigger a crash which was fixed by
0e75f3272d
.
However, this commit does not make it more likely to happen, and this
patch was backported into arch (at least).
In the future, we may be able to use <enter> on qtwebkit with js,
without triggering this crash
2018-06-09 15:42:44 -07:00
Florian Bruhin
7fdeeb25b7
Merge remote-tracking branch 'origin/pr/3793'
2018-06-09 22:59:52 +02:00
Florian Bruhin
96739d0013
Merge remote-tracking branch 'origin/pr/3864'
2018-06-09 21:29:15 +02:00
Florian Bruhin
dcb1191f93
Remove the deprecated :tab-detach
2018-06-09 21:25:09 +02:00
Slackhead
c3771ca2b2
double quoted and className corrected
2018-06-09 19:45:48 +01:00
Florian Bruhin
313cc42d8a
Link to code.qt.io instead of GitHub for _chromium_version
2018-06-09 20:26:12 +02:00
Florian Bruhin
7ce7176475
Fix lint
2018-06-09 20:20:08 +02:00
Florian Bruhin
1b48b67443
Rename reporter.escape_quits to input.escape_quits_reporter
2018-06-09 20:19:32 +02:00
Florian Bruhin
486a92a710
Merge remote-tracking branch 'origin/pr/3944'
2018-06-09 20:18:25 +02:00
Florian Bruhin
b0325e17b7
Add a YamlConfig._migrate_bool helper
2018-06-09 19:57:11 +02:00
Florian Bruhin
7949335a2b
Remove unused import
2018-06-09 19:51:05 +02:00
Florian Bruhin
6e954a1596
Allow to force software rendering with wayland on Qt 5.11
...
Closes #2932 (hopefully for the last time)
2018-06-09 16:50:48 +02:00
Florian Bruhin
88f2873a79
Allow more values for the qt.force_software_rendering setting
2018-06-09 16:21:10 +02:00
Jay Kamat
5d38d28fee
Fix incorrect usage of tab_id
2018-06-08 20:59:25 -07:00
Florian Bruhin
d32d541ac0
Further simplify getting focusProxy children
2018-06-08 17:10:47 +02:00
Florian Bruhin
cc497bf2ea
Improve RWHV typecheck for focusProxy
2018-06-08 15:13:48 +02:00
Florian Bruhin
9725d9ce33
Exclude QMenu when trying to find the missing focusProxy
2018-06-08 14:55:34 +02:00
Florian Bruhin
1531961aeb
Show children in focusProxy workaround
2018-06-08 14:40:59 +02:00
Florian Bruhin
91b4106dcf
Fix check for reloads on Qt < 5.11
...
This was broken in 6ccd69dad2
2018-06-08 08:53:10 +02:00
Florian Bruhin
4614ad5063
Remove unused import
2018-06-07 18:01:29 +02:00
Florian Bruhin
d541634a7c
Avoid hacks for changing per-domain settings on Qt 5.11.1
2018-06-07 17:51:21 +02:00
Florian Bruhin
b1506274c5
Implement a better workaround for chrome-error:// URLs
...
It looks like chrome-error://chromewebdata/ triggers another invalid scheme
load which is why the endless loop happens. When we install a custom scheme
handler for chrome-error:// we can at least show an error page.
2018-06-07 16:03:25 +02:00
Florian Bruhin
89f4333df1
Make sure external schemes are clickable via hints
...
This issue was probably introduced in 545539f28d
- with JavaScript, we can't "click" on an external link.
There might be a better solution using
QWebEngineSettings::setUnknownUrlSchemePolicy(QWebEngineSettings::AllowAllUnknownUrlSchemes)
temporarily when using hints with PyQt 5.11.
Fixes #2833
2018-06-07 14:33:49 +02:00
Florian Bruhin
0c0d204fd4
Add a workaround for chrome-error:// loops on Qt 5.11
...
See #3661
2018-06-07 13:49:33 +02:00
Florian Bruhin
0e9159e8e8
Revert "Fix Qt 5.11 issues with clicking invalid links"
...
This reverts commit 1956590df84a72c7f9a516e805d01529291fccf8.
Turns out the actual issue wasn't due to *invalid* links - it's with links
which have an unknown scheme.
There's still a change in behavior between Qt 5.10 and 5.11 though: Invalid
links are apparently not passed to acceptNavigationRequest (sometimes?) so we
don't show an error message. Instead, we just load about:blank. However,
Chromium does that too and we can't handle a real click easily, so let's just
ignore that one.
See #3661
2018-06-07 13:49:13 +02:00
Florian Bruhin
3d53d0d2c5
Fix Qt 5.11 issues with clicking invalid links
...
See #3661
2018-06-07 13:48:04 +02:00
Florian Bruhin
456fdc55cc
Only set PseudoLayout with Qt 5.11
2018-06-06 20:26:12 +02:00
Florian Bruhin
7e31897dcc
Fix lint
2018-06-06 20:26:12 +02:00
Florian Bruhin
5147fc832c
Handle resizing via PseudoLayout
...
This fixes the scenario where we just get a grey view when opening a link in a
tab from DuckDuckGo.
2018-06-06 20:26:12 +02:00
Florian Bruhin
ec6c5ebb69
Try harder to get the RenderWidgetHostViewQt
2018-06-06 20:26:12 +02:00
Florian Bruhin
34d054e8a5
Revert "Use WrapperLayout instead of PseudoLayout"
...
This reverts commit 6cc920472ee4170b257a0b588687b175162e83df.
Since self._widget can go stale in the layout, we need to somehow solve this differently...
2018-06-06 20:26:12 +02:00
Florian Bruhin
e0213e7447
Use WrapperLayout instead of PseudoLayout
2018-06-06 20:26:12 +02:00
Florian Bruhin
cee88cd7ca
Initial proof of concept for pseudo layout
...
Fixes #3920 - hopefully properly this time...
2018-06-06 20:26:12 +02:00
Florian Bruhin
982a42d453
Unbind Ctrl-Shift-Tab by default
2018-06-05 11:33:34 +02:00
Slackhead
7858bb97d1
Change default bg colour to #000
2018-05-31 06:33:48 +01:00
Slackhead
8c1080de97
Change filter value to 85% to really darken it
2018-05-31 05:58:05 +01:00
Slackhead
d37b2713cf
Change min-width to 0.2em
2018-05-31 05:45:43 +01:00
Slackhead
41a092cd80
Tweak style/animation
2018-05-31 04:50:41 +01:00
Slackhead
0fcbc209bb
Add animation stopper/starter
2018-05-31 04:50:41 +01:00
Slackhead
1578a4836c
Add fallback colours if inherit fails
2018-05-31 04:50:41 +01:00
Slackhead
f34d1b6ce1
Remove inherit styles
2018-05-31 04:50:41 +01:00
Slackhead
4cc2b919fa
Change caret style
2018-05-31 04:50:41 +01:00