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