Commit Graph

480 Commits

Author SHA1 Message Date
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