Florian Bruhin
b707987be0
Better logging on exit.
2014-08-02 19:40:24 +02:00
Florian Bruhin
3307c5f518
Shut down correctly while being asked a question.
2014-08-02 19:38:02 +02:00
Florian Bruhin
157975b0d4
widgets.webview: Add a cur_url property so the initial URL is available immediately.
2014-08-02 02:35:38 +02:00
Florian Bruhin
f6b26f0d56
Improve interrupt docs
2014-08-02 01:53:27 +02:00
Florian Bruhin
b0cfb281f4
shutdown correctly before mainwindow exists.
2014-08-02 01:12:05 +02:00
Florian Bruhin
2dfc599e3c
Interrupt more forcefully with 3 times Ctrl+C.
2014-08-02 00:57:32 +02:00
Florian Bruhin
cdde060135
Call shutdown via a singleShot QTimer.
2014-08-02 00:53:30 +02:00
Florian Bruhin
df0558fb47
Add a --nowindow argument.
2014-08-02 00:47:04 +02:00
Florian Bruhin
9dd688095c
Move late shutdown logging out of QApplication.
2014-08-01 23:45:12 +02:00
Florian Bruhin
246cff63ed
Use singleShot timer to call QApplication.exit.
2014-08-01 23:26:33 +02:00
Florian Bruhin
b6cd0dd600
Use sys.__stderr__ for faulthandler.
2014-08-01 00:55:18 +02:00
Florian Bruhin
ad1ba4c1f7
Remove eventfilter on shutdown
2014-07-31 23:09:59 +02:00
Florian Bruhin
c27f8b69d6
Trace lines on shutdown with --debug.
2014-07-31 21:21:07 +02:00
Florian Bruhin
682a395936
Shut down tabs while quitting
2014-07-31 20:40:21 +02:00
Florian Bruhin
2358ed7d4c
Remove 'Good bye' log
2014-07-31 01:07:43 +02:00
Florian Bruhin
6859ca9301
Fix lint
2014-07-30 18:56:01 +02:00
Florian Bruhin
377706ec54
Handle not found crashlog gracefully
2014-07-30 18:45:56 +02:00
Florian Bruhin
36c4e8940e
Remove print we accidentally added.
2014-07-30 18:22:13 +02:00
Florian Bruhin
77ca7db46a
Handle early shutdown better
2014-07-30 18:21:40 +02:00
Florian Bruhin
8c78806e1c
Shutdown correctly if config is not initialized yet
2014-07-30 18:13:36 +02:00
Florian Bruhin
276315483d
Add some more logging to shutdown.
2014-07-30 18:11:35 +02:00
Florian Bruhin
19d0f832ad
Handle SIGTERM/SIGINT gracefully.
2014-07-30 18:11:22 +02:00
Florian Bruhin
17220d8ef5
Fix signal imports
2014-07-30 17:50:12 +02:00
Florian Bruhin
11ea911940
Clean up after removing shutdown code
2014-07-30 17:12:20 +02:00
Florian Bruhin
db51a51e5a
Add utilcmds and :later command.
2014-07-30 17:05:52 +02:00
Florian Bruhin
cb8af1de31
Merge branch 'shutdown'
...
Conflicts:
qutebrowser/widgets/webview.py
2014-07-30 16:39:01 +02:00
Florian Bruhin
425a7fd7c4
Simplify userscript running.
2014-07-29 02:05:15 +02:00
Florian Bruhin
7c8f9bec0f
Use enum for keyboard modes.
2014-07-29 00:19:35 +02:00
Florian Bruhin
f86458a3b9
Remove shutdown code
2014-07-27 20:56:42 +02:00
Florian Bruhin
f7304298ab
Separate docstrings into command/documentation parts.
2014-07-16 20:09:41 +02:00
Florian Bruhin
4114308193
Log exception on invalid config
2014-07-10 22:39:24 +02:00
Florian Bruhin
0705d6087c
Don't catch every ValueError to get failed interpolations
2014-07-10 22:38:09 +02:00
Florian Bruhin
fad22c63d9
Go back to using one NetworkManager per tab
2014-07-10 06:42:52 +02:00
Florian Bruhin
4aab32cc5d
Move asking of questions away from Prompt widget
2014-07-02 07:07:03 +02:00
Florian Bruhin
92ff957543
Clean up message API
2014-06-26 07:58:00 +02:00
Florian Bruhin
a083fe69db
Add a :report command
2014-06-25 22:22:30 +02:00
Florian Bruhin
f3f04b6f21
Make restart work when frozen
2014-06-24 06:52:49 +02:00
Florian Bruhin
65353773d1
First fix for :restart
2014-06-24 06:43:52 +02:00
Florian Bruhin
b1f9139fd7
Fix lint
2014-06-23 20:33:41 +02:00
Florian Bruhin
81990f792f
Avoid using QApplication for downloads
2014-06-23 17:30:28 +02:00
Florian Bruhin
8a8ca0c34f
Split utils.misc into utils.{qt,misc}
2014-06-23 07:45:04 +02:00
Florian Bruhin
3443364de1
Fix lint
2014-06-23 07:12:19 +02:00
Florian Bruhin
2690891cbe
Better init logging
2014-06-23 06:37:47 +02:00
Florian Bruhin
c21fad491a
Don't shut down before crash dialog
2014-06-22 23:57:48 +02:00
Florian Bruhin
bf9e829d4d
Don't use .warn on loggers, use .warning instead.
2014-06-22 23:30:44 +02:00
Florian Bruhin
a64775a0f9
Improve logging messages
2014-06-21 22:40:31 +02:00
Florian Bruhin
0dc2ecef46
Check QUrl objects for validity
2014-06-20 23:57:52 +02:00
Florian Bruhin
113221c731
Log some exceptions
2014-06-20 23:26:19 +02:00
Florian Bruhin
03b69c5527
Print debug information if config saving failed.
2014-06-20 22:56:29 +02:00
Florian Bruhin
0fd64419da
Remove urlutils.{urlstring,qurl}.
...
The idea of treating an URL-string and a QUrl as essentially the same data type
got us into all kinds of problems. Now we use QUrl everywhere except at the
borders to the user interface.
2014-06-20 16:33:01 +02:00
Florian Bruhin
d65587128f
Add vim modelines to all files.
2014-06-19 09:04:37 +02:00
Florian Bruhin
2b5a1cc322
Add wiget/object list to crash dialog
2014-06-17 23:04:58 +02:00
Florian Bruhin
6cc178aa52
Do some emergency shutdown on an exception.
2014-06-17 22:37:06 +02:00
Florian Bruhin
2388874e82
Delete question if download as cancelled
2014-06-17 11:26:45 +02:00
Florian Bruhin
61e8940ccb
Clean up debug methods
2014-06-17 11:12:55 +02:00
Florian Bruhin
1fef2d02b9
Add an :all-objects command and __repr__s
2014-06-17 11:03:42 +02:00
Florian Bruhin
fe99cbc331
Fix crashes after parent-child cleanup.
2014-06-17 10:20:15 +02:00
Florian Bruhin
af9e4ae072
Fix parent/child relationships
2014-06-17 07:17:21 +02:00
Florian Bruhin
17cd86d564
Add an :all-widgets command and useful __repr__s
2014-06-17 06:37:56 +02:00
Florian Bruhin
177e2945b6
Use currying instead of self.sender() where applicable
2014-06-16 22:49:22 +02:00
Florian Bruhin
d76226626f
Add debug argument for commands
2014-06-16 09:44:11 +02:00
Florian Bruhin
2114f0cd73
Start adding download model/view
2014-06-12 08:02:44 +02:00
Florian Bruhin
7dd5b1b94e
First debugging implementation of downloads
2014-06-10 22:11:17 +02:00
Florian Bruhin
d495ea4644
Move get_qt_args to utils.misc
2014-06-10 11:54:14 +02:00
Florian Bruhin
2f1cd43f9c
Change lists to tuples for immutable values
2014-06-06 17:21:35 +02:00
Florian Bruhin
1dbd84b963
Simplify _get_qt_args
2014-06-06 16:44:55 +02:00
Florian Bruhin
1179d84ee8
Process Qt args via argparse
2014-06-06 16:32:57 +02:00
Florian Bruhin
cd8f9e6232
Fix lint
2014-06-05 00:08:08 +02:00
Florian Bruhin
30ce2c98e9
Disable broken :restart for now
2014-06-04 23:17:22 +02:00
Florian Bruhin
da624d54c8
Nicer logging for :restart
2014-06-04 23:09:46 +02:00
Florian Bruhin
af19e6d2e5
Move init to own file qutebrowser.py
2014-06-04 14:11:55 +02:00
Florian Bruhin
104564f6be
Init log before creating QApplication
2014-06-04 13:55:46 +02:00
Florian Bruhin
512338d567
Move _parse_args and crash out of Application
2014-06-04 13:51:47 +02:00
Florian Bruhin
57d261ee85
Add a main function to app.py
2014-06-04 13:38:53 +02:00
Florian Bruhin
346ef4ac3d
Re-add command argument which was accidentally removed.
2014-06-04 13:37:42 +02:00
Florian Bruhin
a196bc5da9
Add arguments to choose harfbuzz engine
2014-06-04 12:13:51 +02:00
Florian Bruhin
40009970df
Add option to configure if js statusbar messages should be shown
2014-06-03 19:17:35 +02:00
Florian Bruhin
62908e97c1
Fix javascript statusbar messages
2014-06-03 18:00:53 +02:00
Florian Bruhin
cc1ea76d9d
Clean up shutdown
2014-06-03 16:48:21 +02:00
Florian Bruhin
04c3a912e8
Uninstall Qt message handler on quit.
...
This caused segfaults while exiting for some reason.
2014-06-03 15:19:48 +02:00
Florian Bruhin
968bb3d430
Move selection_changed to Completer
2014-06-03 13:37:11 +02:00
Florian Bruhin
7d440426eb
Move on_update_completion
2014-06-03 12:59:50 +02:00
Florian Bruhin
6d50ebae49
Less verbose exception logging
2014-06-02 23:29:01 +02:00
Florian Bruhin
01f28f3e0f
Add -V/--version argument.
2014-05-27 15:46:21 +02:00
Florian Bruhin
fa01bfbbad
Add per-tab inspector like dwb.
...
This also means the webinspector will always be detached / in its own window.
2014-05-26 15:35:05 +02:00
Florian Bruhin
61d4821065
Add configurable confirmation when closing
2014-05-26 16:51:57 +02:00
Florian Bruhin
d00a946497
Set orgname to make inspector settings persistent
2014-05-26 11:47:02 +02:00
Florian Bruhin
5406f92a5b
Don't set QT_FATAL_WARNINGS
2014-05-26 09:02:57 +02:00
Florian Bruhin
22b2fb0be0
Rename some commandline options
2014-05-26 09:02:31 +02:00
Florian Bruhin
b37ca744b2
Disable coloring when requested/on Windows/no tty
2014-05-25 20:08:07 +02:00
Florian Bruhin
6825c669b5
Add the ability to filter logging messages
2014-05-23 16:57:08 +02:00
Florian Bruhin
1e256699f8
Add topic-specific loggers
2014-05-23 16:11:55 +02:00
Florian Bruhin
1d5a1a29e8
Simplify calling commands with an instance.
...
We used to use a signal and a function in app.py which executes the command
handler. Now we instead use QCoreApplication.instance() which makes everything
a lot easier and cleaner.
2014-05-22 16:14:43 +02:00
Florian Bruhin
0c0cb48471
Fix lint
2014-05-22 15:44:16 +02:00
Florian Bruhin
8cddbec9e3
Implement quickmarks
2014-05-22 16:44:47 +02:00
Florian Bruhin
267552fe77
Only re-enable faulthandler when stderr is available
2014-05-22 16:40:04 +02:00
Florian Bruhin
2bcf46194b
Add readline-like shortcuts
2014-05-22 10:49:19 +02:00
Florian Bruhin
3a3d8fddee
Merge branch 'userscripts'
2014-05-22 08:52:20 +02:00
Florian Bruhin
e7d9a3dc88
Fix completion
2014-05-22 08:40:36 +02:00
Florian Bruhin
8d570b686c
Initial userscript support
2014-05-21 19:53:58 +02:00
Florian Bruhin
7c351caf77
Don't warn on prompt keychain bindings
2014-05-20 17:50:09 +02:00
Florian Bruhin
cfd70e7821
Make yes/no questions work
2014-05-20 12:05:14 +02:00
Florian Bruhin
f43549d452
Clean up prompt code
2014-05-20 11:03:55 +02:00
Florian Bruhin
d4c90b4a60
Add proxy authentication
2014-05-20 08:56:56 +02:00
Florian Bruhin
97df8fc172
Move some attributes to dedicated Question object
2014-05-20 08:56:48 +02:00
Florian Bruhin
7ca605ade6
First try at statusbar prompt
2014-05-20 08:56:46 +02:00
Florian Bruhin
f0d1d4ed45
Selectively queue messages rather than unqueueing.
2014-05-19 03:40:10 +02:00
Florian Bruhin
c7cf0aaf9a
Clean up webview and move commands
2014-05-17 22:38:07 +02:00
Florian Bruhin
7eb19e2a1e
Start implementing message-timeout
2014-05-16 15:33:36 +02:00
Florian Bruhin
7bd6302d13
Connect load_status_changed signal correctly
2014-05-16 07:12:27 +02:00
Florian Bruhin
b91274cfcf
Fix some other small bugs with new signal implementation
2014-05-15 22:31:01 +02:00
Florian Bruhin
1ca80fec8e
Make stuff run again
2014-05-15 19:02:20 +02:00
Florian Bruhin
d3eaeaac91
First steps at getting rid of signal cache
2014-05-15 17:57:08 +02:00
Florian Bruhin
326280f910
Fix consistency and spelling in docstrings/comments
2014-05-15 16:27:34 +02:00
Florian Bruhin
f97c87628b
Handle multi-instance better with crash.log
2014-05-15 15:26:20 +02:00
Florian Bruhin
659fe5126b
Display error dialog when started after segfault
2014-05-15 12:20:03 +02:00
Florian Bruhin
8fe4000e41
Split CrashDialog into ExceptionCrashDialog and _CrashDialog
2014-05-15 11:56:22 +02:00
Florian Bruhin
ba2951d0ec
Fix lint
2014-05-15 10:56:28 +02:00
Florian Bruhin
78c41fffc9
Add :crash segfault command
2014-05-15 10:33:11 +02:00
Florian Bruhin
a045511962
Use exceptions for command errors
2014-05-14 18:00:40 +02:00
Florian Bruhin
e786fe4e82
Add restart command
2014-05-14 08:56:42 +02:00
Florian Bruhin
f448aeebda
Use property to iterate over tabs
2014-05-13 21:25:16 +02:00
Florian Bruhin
bdd0846397
Move python check to separate file
2014-05-13 19:46:57 +02:00
Florian Bruhin
8fddd328f6
Move early init code to own file
2014-05-13 18:01:10 +02:00
Florian Bruhin
bf639602f5
Check if sys.stdout is not None before using it.
...
When using pythonw (e.g. with cx_Freeze), sys.__stdout__ and sys.stdout
will be None, so we don't need to flush it.
This also means faulthandler won't work correctly, so we don't enabled
it if we don't have an stdout.
2014-05-13 10:38:27 +02:00
Florian Bruhin
512625cee1
Support to show SSL status with URL color
2014-05-12 18:00:44 +02:00
Florian Bruhin
59a89d31fe
Add reasons why modes are entered/left
2014-05-09 16:03:46 +02:00
Florian Bruhin
1570fc8a95
Nice error messages on import errors
2014-05-09 11:06:05 +02:00
Florian Bruhin
3b2ae6bcf1
Add warning for dead_actute warning.
...
Yo dawg, I herd you like warnings!
2014-05-09 06:57:44 +02:00
Florian Bruhin
70c8df095e
Switch from appdirs to QStandardPaths
2014-05-08 22:33:24 +02:00
Florian Bruhin
45621b0645
Do a hard exit on crash
2014-05-07 17:29:28 +02:00
Florian Bruhin
68b134b4a9
Don't filter events if mainwindow is not focused
2014-05-07 17:20:01 +02:00
Florian Bruhin
4999a59470
Add pastebin button to crash dialog
2014-05-06 15:36:15 +02:00
Florian Bruhin
1a3ed11070
Quit properly on debugger exit
2014-05-06 12:11:00 +02:00
Florian Bruhin
de7c6a63b4
Fix shutdown of networkmanager
2014-05-06 10:53:38 +02:00
Florian Bruhin
e5000c315d
Revert "Use global HintManager"
...
This reverts commit a76d68f564
.
WTF. I thought I reset --hard-ed that one?
2014-05-06 07:11:20 +02:00
Florian Bruhin
3753e87465
Depend on appdirs instead of bundling
2014-05-06 06:22:28 +02:00
Florian Bruhin
8f239b4a95
Add proxy settings
2014-05-05 22:07:41 +02:00
Florian Bruhin
a76d68f564
Use global HintManager
2014-05-05 20:28:29 +02:00
Florian Bruhin
c8fd0937b0
Revert "Use global object dict for global objects"
...
This reverts commit bf2c7831c8
.
This was a bad idea as we need to access some of the main attributes
from commands via instance=...
2014-05-05 20:12:20 +02:00
Florian Bruhin
bf2c7831c8
Use global object dict for global objects
2014-05-05 19:12:47 +02:00
Florian Bruhin
667b255d01
Use QApplication for global singletons
2014-05-05 17:56:14 +02:00
Florian Bruhin
ff272df6e4
Clean up app.py
2014-05-05 16:44:48 +02:00
Florian Bruhin
ae95b5ea3b
Basic cookie handling
2014-05-05 16:28:43 +02:00
Florian Bruhin
c9f7d6771a
Enable persistent webkit storage
2014-05-04 01:11:19 +02:00
Florian Bruhin
efc613811f
Implement numeric hints
2014-05-02 17:53:16 +02:00
Florian Bruhin
be467d5e50
Refactor command argument splitting.
...
This uses split=True/False as cmdutils.register argument again (because
we would never want to set maxsplit ourselves, only not splitting the
*last* argument makes any sense.
Also this uses shlex for splitting again, like earlier.
2014-05-02 10:28:41 +02:00
Florian Bruhin
8c253ae611
Catch config.NoOptionError when reading config
2014-05-01 21:20:17 +02:00
Florian Bruhin
af6f6b99e9
Catch ValueError when reading config
2014-05-01 19:57:14 +02:00
Florian Bruhin
adfc96cdfa
completion: Use textEdited instead of textChanged
...
This gets rid of _ignore_next and some unneeded logic, since textEdited
won't even emit if we edited it programatically.
2014-04-30 11:52:30 +02:00
Florian Bruhin
995a0d19cc
Clean up command exception handling
2014-04-30 10:43:40 +02:00
Florian Bruhin
0d92e34310
Fix/silence checks
2014-04-28 00:05:14 +02:00
Florian Bruhin
8474bbdf6a
Rename and reorder config options
2014-04-27 21:21:14 +02:00
Florian Bruhin
9252ef94ca
Consistent string chars
2014-04-25 16:53:23 +02:00
Florian Bruhin
c9a25d6309
Catch configparser exceptions on start
2014-04-25 13:55:26 +02:00
Florian Bruhin
3390a4b8d7
Indent fix
2014-04-25 12:33:41 +02:00
Florian Bruhin
6e78f67a81
Rename keyinput stuff
2014-04-25 12:21:01 +02:00
Florian Bruhin
d4b35b6734
Rename {Command,Seach}Parser to *Manager
2014-04-25 12:04:11 +02:00
Florian Bruhin
937196e287
Rename package-private modules to _foo.py
2014-04-25 11:50:30 +02:00
Florian Bruhin
5ee6b2adfa
Revert "Remove setting forward_unbound_keys."
...
This reverts commit d07e22bd91
.
2014-04-25 08:40:46 +02:00
Florian Bruhin
a29a9a9b70
Handle Command widget based on modes, not focus
2014-04-25 08:38:11 +02:00
Florian Bruhin
55a8da7f1b
Start using KeyParser for command mode
2014-04-25 07:50:21 +02:00
Florian Bruhin
405194d040
Add passthrough mode
2014-04-25 07:13:57 +02:00
Florian Bruhin
b4033ced8b
Add generic PassthroughKeyParser, remove InsertKeyParser
2014-04-25 07:09:12 +02:00
Florian Bruhin
d07e22bd91
Remove setting forward_unbound_keys.
...
It introduced a lot of unnecessary complexity (e.g. tracking KeyReleases
to their KeyPresses...) for little benefit.
2014-04-25 06:54:17 +02:00
Florian Bruhin
926194849c
Use normal commands for hint mode
2014-04-24 23:47:02 +02:00
Florian Bruhin
e06583ade2
Use normal command to leave insert mode
2014-04-24 23:09:12 +02:00
Florian Bruhin
8cca182734
Split NormalKeyParser from CommandKeyParser
2014-04-24 22:56:55 +02:00
Florian Bruhin
0def82fe8c
Fix lint
2014-04-24 22:49:06 +02:00
Florian Bruhin
9ab8f42e20
s/commandmode/normalmode
2014-04-24 21:37:51 +02:00
Florian Bruhin
9320c813f7
Add set_cmd_text to MessageBridge
2014-04-24 21:28:24 +02:00
Florian Bruhin
d2dc0b7ac5
Add KeyParser for normal mode
2014-04-24 21:12:55 +02:00
Florian Bruhin
c674d96cfe
Reorganize input modules into keyinput subpackage
2014-04-24 21:03:45 +02:00
Florian Bruhin
6311deb6b0
Read unbound-keys setting only once
2014-04-24 19:06:51 +02:00
Florian Bruhin
10d7d887ec
Pass keypresses to statusbar correctly
2014-04-24 15:47:38 +02:00
Florian Bruhin
5b84848ad9
s/leaved/left/g
2014-04-24 07:01:27 +02:00
Florian Bruhin
95691e1e11
Show passthrough modes in statusbar
2014-04-24 06:59:39 +02:00
Florian Bruhin
afa9c47867
Lint cleanups
2014-04-24 06:45:38 +02:00
Florian Bruhin
5385307582
Register modes explicitely with modemanager.
2014-04-23 23:23:04 +02:00
Florian Bruhin
8f44b56923
Start implementing eventFilter in ModeManager
2014-04-23 23:20:39 +02:00
Florian Bruhin
8b5daad367
Add ModeManager
2014-04-23 21:15:47 +02:00
Florian Bruhin
10acc854c4
Don't reopen opened URLs after crash
2014-04-22 14:02:29 +02:00
Florian Bruhin
1a68bdb9a9
Clean up signal connections
2014-04-22 10:40:33 +02:00
Florian Bruhin
e1b7305e40
Get rid of unneeded text slots in statusbar
2014-04-22 10:00:43 +02:00
Florian Bruhin
d700d962af
Add the ability to display persistent messages.
2014-04-22 09:06:17 +02:00
Florian Bruhin
73dfa30a49
Display error message when config validation failed
2014-04-21 22:29:57 +02:00
Florian Bruhin
ee8ba55676
Support esc to abort hinting
2014-04-21 17:17:34 +02:00
Florian Bruhin
d7b87e09c9
Implement modes and hint input.
2014-04-21 15:24:19 +02:00
Florian Bruhin
52c7376402
Split command-related stuff off from KeyParser
2014-04-21 10:45:57 +02:00
Florian Bruhin
39f580d9f1
Cleanup
2014-04-17 17:44:27 +02:00
Florian Bruhin
457e173592
More config cleanup.
...
This renames the config instance from "config" to "instance" and adds a
convenience get() function in the config module.
2014-04-17 15:26:27 +02:00
Florian Bruhin
b323706f5f
Use maxsplit (passed to str.split()) instead bool
2014-04-17 12:06:27 +02:00
Florian Bruhin
7c64e8846a
Refresh keybinds when config changes
2014-04-17 11:23:01 +02:00
Florian Bruhin
fc24cb620c
Move websettings to own file
2014-04-16 15:49:56 +02:00
Florian Bruhin
4c751d8081
Add webkit settings to config
2014-04-16 13:32:55 +02:00
Florian Bruhin
e878fc538d
Fix some checks
2014-04-16 10:02:34 +02:00
Florian Bruhin
a410d56a78
Implement command history
2014-04-16 09:08:56 +02:00
Florian Bruhin
73c319a1ec
Add autosave option
2014-04-15 17:28:05 +02:00
Florian Bruhin
04807489b7
Update everything needed when config is changed
2014-04-10 23:30:45 +02:00
Florian Bruhin
aa616e5ac7
Start implementing config changed signal
2014-04-10 18:01:16 +02:00