Commit Graph

222 Commits

Author SHA1 Message Date
Florian Bruhin
fb6cb62f93 First attempt at multi-window support. 2014-09-28 22:13:14 +02:00
Florian Bruhin
64a119afb2 Don't use signals for on_config_changed. 2014-09-28 11:27:52 +02:00
Florian Bruhin
0fadf6b091 Use a list as items-argument for usertypes.enum 2014-09-28 00:42:53 +02:00
Florian Bruhin
86fdf981e3 Refactor init 2014-09-28 00:18:57 +02:00
Florian Bruhin
36fd2e5c7f Improve __repr__ methods. 2014-09-26 15:48:24 +02:00
Florian Bruhin
0494bc3763 Improve modeman.maybe_leave logging/exception. 2014-09-25 18:45:16 +02:00
Florian Bruhin
55e2ccabf5 Fix lint 2014-09-25 07:58:08 +02:00
Florian Bruhin
78949a8c1b Use object registry for hintmanager. 2014-09-25 07:49:45 +02:00
Florian Bruhin
cb35452cf0 Remove unused flag for keyparser. 2014-09-24 22:25:11 +02:00
Florian Bruhin
62e55499eb Privatize all attributes which aren't needed from the outside. 2014-09-24 22:25:11 +02:00
Florian Bruhin
3f02451828 Move object registry to its own file. 2014-09-24 07:06:45 +02:00
Florian Bruhin
2b60cdb64c Object names cleanup 2014-09-23 23:05:55 +02:00
Florian Bruhin
04be586bca Use object registry for keyconfig. 2014-09-23 22:37:41 +02:00
Florian Bruhin
a32ed36ba6 Use object registry for mainwindow. 2014-09-23 22:05:00 +02:00
Florian Bruhin
5f45d3de60 Use object registry for modeman. 2014-09-23 20:02:48 +02:00
Florian Bruhin
812a0fdd41 Merge branch 'newcmd'
Conflicts:
	.flake8
	pkg/PKGBUILD.qutebrowser-git
	qutebrowser/browser/commands.py
	qutebrowser/browser/hints.py
	qutebrowser/config/configdata.py
	qutebrowser/network/qutescheme.py
	qutebrowser/test/config/test_configtypes.py
	qutebrowser/utils/utils.py
2014-09-22 19:09:48 +02:00
Florian Bruhin
5eef6d422d Better exception formatting and handling. 2014-09-16 08:20:19 +02:00
Florian Bruhin
4fde56a942 Allow binding keys. 2014-09-09 23:05:28 +02:00
Florian Bruhin
6f03f08111 Make new key config work (readonly) 2014-09-09 07:43:27 +02:00
Florian Bruhin
ccfc0b3c19 Get rid of most @property's.
They were problematic because they're executing hidden code, and also PyQt
hides exceptions happening inside them.
2014-09-02 23:37:47 +02:00
Florian Bruhin
a2e457ccc3 Remove old Ubuntu workaround. 2014-09-02 20:45:25 +02:00
Florian Bruhin
4caec2becb Document and mark workarounds. 2014-09-02 20:44:58 +02:00
Florian Bruhin
ce4a5affa4 Rename commands.utils to commands.cmdutils. 2014-08-26 20:48:39 +02:00
Florian Bruhin
270b822908 Simplify imports in keyinput.modeman. 2014-08-26 20:38:50 +02:00
Florian Bruhin
c72bfff306 Rename commands.exceptions to commands.cmdexc. 2014-08-26 20:38:10 +02:00
Florian Bruhin
d9a8cbe7ad Rename utils.misc to utils.utils 2014-08-26 20:20:17 +02:00
Florian Bruhin
b4298c2922 Remove 'as logger' imports. 2014-08-26 20:15:41 +02:00
Florian Bruhin
d625cde28c Clean up imports 2014-08-26 19:10:14 +02:00
Florian Bruhin
5a88028738 Rename qutebrowser.commands.managers module to .runners. 2014-08-06 15:58:08 +02:00
Florian Bruhin
aebce80b2b Rename {Command,Search}Manager to ...Runner 2014-08-06 15:38:25 +02:00
Florian Bruhin
ee1b136807 Clean up pylint/noqa comments. 2014-08-04 03:47:09 +02:00
Florian Bruhin
3dc7a1b735 Lock mode while prompting. 2014-08-04 03:14:14 +02:00
Florian Bruhin
9e73cba333 Improve command documentation. 2014-08-03 00:33:39 +02:00
Florian Bruhin
016e8f3c8d Don't explicitely fill commandline 2014-07-29 01:04:17 +02:00
Florian Bruhin
54246bacbe Add some type checking for enums 2014-07-29 00:23:20 +02:00
Florian Bruhin
7c8f9bec0f Use enum for keyboard modes. 2014-07-29 00:19:35 +02:00
Florian Bruhin
8d80ce2628 Switch to python 3.4 enums.
Our home-brewn enum wasn't really liked by pylint (many no-member errors), so
instead of adding some workaround, we just use the python 3.4 enum instead.

This however also means we need to depend on Python 3.4 and not 3.3. Maybe we
should use enum34 on Python < 3.3.
2014-07-28 20:41:42 +02:00
Florian Bruhin
70afe4d1fd Don't die on only-modifier keypresses. 2014-07-03 07:52:47 +02:00
Florian Bruhin
ea84ce7acf Force keybindings to lower case 2014-07-03 07:46:14 +02:00
Florian Bruhin
9b24ca39ea Move normalize_keystr to utils.misc 2014-07-03 07:34:09 +02:00
Florian Bruhin
f1ff2738da Don't normalize keys via QKeySequence.
This yields rather strange results with some exotic keys, and this
normalisation doesn't really do much anyways.
2014-07-03 07:16:24 +02:00
Florian Bruhin
03e83ff8e1 Move key to string converting to utils.misc 2014-07-03 06:51:24 +02:00
Florian Bruhin
058bab2348 Log key IDs in hex 2014-07-03 06:30:50 +02:00
Florian Bruhin
a52796e94d Handle all key modifiers correctly 2014-07-03 06:29:05 +02:00
Florian Bruhin
92ff957543 Clean up message API 2014-06-26 07:58:00 +02:00
Florian Bruhin
37ccac39d6 Fix lint 2014-06-25 21:23:22 +02:00
Florian Bruhin
158301d3df Reduce logging from modemanager 2014-06-25 15:26:59 +02:00
Florian Bruhin
2690891cbe Better init logging 2014-06-23 06:37:47 +02:00
Florian Bruhin
113221c731 Log some exceptions 2014-06-20 23:26:19 +02:00
Florian Bruhin
fdda1dd3a0 Forward unbound non-alphanumeric keys by default.
We do this so we benefit from some default WebKit keybindings users would
expect. For example, we'd need to bind Ctrl+X/C/V by default without this.

We also remove the custom-bound scrolling keybindings as they're redundant now.

The forward-unbound-keys setting now isn't a bool anymore, instead it can be
set to all/auto/none.
2014-06-19 11:51:25 +02:00
Florian Bruhin
d42e71a5d5 Use QApplication (not QCoreApplication) to call activeWindow 2014-06-19 11:22:17 +02:00
Florian Bruhin
d65587128f Add vim modelines to all files. 2014-06-19 09:04:37 +02:00
Florian Bruhin
1fef2d02b9 Add an :all-objects command and __repr__s 2014-06-17 11:03:42 +02:00
Florian Bruhin
b905b44b07 Add a qenum_key debug method 2014-06-15 11:21:39 +02:00
Florian Bruhin
6660988a5b Don't evaluate hint keychains twice 2014-06-13 14:52:54 +02:00
Florian Bruhin
2f1cd43f9c Change lists to tuples for immutable values 2014-06-06 17:21:35 +02:00
Florian Bruhin
ec25821fae _foo.py file rename [2/2] 2014-06-03 15:01:57 +02:00
Florian Bruhin
fa1e03f56b _foo.py file rename [1/2] 2014-06-03 14:57:57 +02:00
Florian Bruhin
1e256699f8 Add topic-specific loggers 2014-05-23 16:11:55 +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
d901fe69e6 Rename some commands 2014-05-16 23:01:40 +02:00
Florian Bruhin
7eb19e2a1e Start implementing message-timeout 2014-05-16 15:33:36 +02:00
Florian Bruhin
a045511962 Use exceptions for command errors 2014-05-14 18:00:40 +02:00
Florian Bruhin
876dcad28f Fix some more escaped quotes 2014-05-13 22:18:59 +02:00
Florian Bruhin
c76819a8b0 Use loggings.warning instead of warn 2014-05-12 17:39:17 +02:00
Florian Bruhin
8ac215fa52 Clear old keybindings when rereading config. 2014-05-12 17:39:04 +02:00
Florian Bruhin
7b2961f23e Fix some backslash-quotes 2014-05-12 15:58:09 +02:00
Florian Bruhin
edc9d0810c Use QCoreApplication.instance() 2014-05-09 17:01:05 +02:00
Florian Bruhin
59a89d31fe Add reasons why modes are entered/left 2014-05-09 16:03:46 +02:00
Florian Bruhin
db6ab7212f Move cmd/count splitting out of _handle_single_key 2014-05-09 15:37:00 +02:00
Florian Bruhin
1785294a43 Fix some lint 2014-05-09 15:30:27 +02:00
Florian Bruhin
e09b34a744 Fix esc handling on BaseKeyParser 2014-05-09 15:28:07 +02:00
Florian Bruhin
d4672f324a Improve modeman logging 2014-05-09 15:24:41 +02:00
Florian Bruhin
a76c7b56f1 Fix lingering PyQt exception 2014-05-07 18:00:38 +02:00
Florian Bruhin
68b134b4a9 Don't filter events if mainwindow is not focused 2014-05-07 17:20:01 +02:00
Florian Bruhin
625d369c33 Add check for modeman.mode property 2014-05-06 23:17:05 +02:00
Florian Bruhin
db20cf3701 Handle backspace correctly in HintKeyParser 2014-05-06 17:04:34 +02:00
Florian Bruhin
0f8926ca99 Remember last pressed key category 2014-05-06 17:04:06 +02:00
Florian Bruhin
68ff922525 Add logging to basekeyparser 2014-05-06 17:03:16 +02:00
Florian Bruhin
dd3ab0e336 Don't handle backspace as text keypress 2014-05-06 17:03:01 +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
4ebe643ea6 Use simple enums for constants 2014-05-05 07:45:36 +02:00
Florian Bruhin
efc613811f Implement numeric hints 2014-05-02 17:53:16 +02:00
Florian Bruhin
836a5e04a5 Allow empty keys in config 2014-05-02 06:59:46 +02:00
Florian Bruhin
53464dcbab Fix ambigious keybinding detection.
Previously we only checked if the *last* char of the current keychain
matches the last char of a binding, which e.g. matched 'la' when we
pressed 'ka'.

Now we simply check if the binding *starts* with the keychain, which
also is easier to do.
2014-05-01 19:48:52 +02:00
Florian Bruhin
995a0d19cc Clean up command exception handling 2014-04-30 10:43:40 +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
0a710ab18a Herpderp, CRLF 2014-04-25 12:34:17 +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
f437bc25bf Fix lint/cleanup 2014-04-25 11:21:00 +02:00
Florian Bruhin
7787a67c45 Add modes=[]/not_modes=[] to cmdutils.register 2014-04-25 10:10:58 +02:00
Florian Bruhin
b4b72f07b7 Remove FIXME which is in TODO 2014-04-25 09:22:27 +02:00
Florian Bruhin
c4be264c44 Improve logging in eventFilter 2014-04-25 09:22:01 +02:00
Florian Bruhin
8cba290dae Update eventFilter to track releases 2014-04-25 09:20:19 +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
f50fda7f9a Replace Backtab key by Tab 2014-04-25 08:40:07 +02:00
Florian Bruhin
3407f3131d Register enter_mode command 2014-04-25 07:13:36 +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
83f829ed93 Add more logging to eventFilter 2014-04-25 06:54:13 +02:00
Florian Bruhin
8f9d7542a6 Fix eventFilter logic to not handle same event multiple times 2014-04-25 06:22:01 +02:00
Florian Bruhin
84682f90fa Log events in eventHandler 2014-04-25 00:10:07 +02:00
Florian Bruhin
926194849c Use normal commands for hint mode 2014-04-24 23:47:02 +02:00
Florian Bruhin
540c134f06 Add keytypes to KeyParser.execute() 2014-04-24 23:46:37 +02:00
Florian Bruhin
5aaf3b3430 Add abstract execute() to KeyParser 2014-04-24 23:23:28 +02:00
Florian Bruhin
e06583ade2 Use normal command to leave insert mode 2014-04-24 23:09:12 +02:00
Florian Bruhin
a1fd1537bd Remove the possibility to pass bindings to KeyParser init 2014-04-24 22:59:01 +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
581b715b42 Add __init__.py for keyinput 2014-04-24 22:41:01 +02:00
Florian Bruhin
7a6a605702 Unify KeyParsers again 2014-04-24 22:40:16 +02:00
Florian Bruhin
9ab8f42e20 s/commandmode/normalmode 2014-04-24 21:37:51 +02:00
Florian Bruhin
ea6a25714a Make eventFilter work when mode is None 2014-04-24 21:29:28 +02:00
Florian Bruhin
9320c813f7 Add set_cmd_text to MessageBridge 2014-04-24 21:28:24 +02:00
Florian Bruhin
0c15517352 s/<normal>/<leave>/ 2014-04-24 21:19:29 +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