Martin Tournoij
fa65f345ac
Perhaps fix it more properly after all :-)
2015-06-05 15:19:40 +02:00
Martin Tournoij
57ddd8e95e
Always handle the <Esc> key, even if it's bound.
...
This fixes #716 , which sufficiently annoyed me to make this quick fix. It's not
a great fix, but it's not worse than what we had already, and the current
behaviour is very surprising IMHO.
2015-06-05 14:26:17 +02:00
Florian Bruhin
7102459c81
Rename _get_modeman() to instance().
2015-06-05 11:15:18 +02:00
Florian Bruhin
947dcd556b
Clean up CaretKeyParser.
2015-05-13 22:29:21 +02:00
Florian Bruhin
bc54eb8671
Make get_modeman private again.
2015-05-13 22:27:54 +02:00
Florian Bruhin
a36c0fcd4c
Fix lint.
2015-05-11 20:32:27 +02:00
Artur Shaik
178d0dfa58
Add count for actions. Zero key treat as command.
2015-05-07 11:51:10 +06:00
Artur Shaik
d594798db8
Implement caret selection and positioning
...
Added option to webview for selection enabled caret mode.
In status bar checking value of this option to identificate about it.
Added bindings: <Space> for toggle selection mode, <Ctrl+Space> drop
selection and keep selection mode enabled.
In webview added javascript snippet to position caret at top of the
viewport after caret enabling. This code mostly was taken from cVim sources.
2015-05-05 10:18:24 +06:00
Artur Shaik
aeaa20c3b7
Disable support count for CaretKeyParser
...
Allow using '0' for move caret to beginnig of the line.
2015-05-04 18:00:40 +06:00
Florian Bruhin
32562c6878
Fix lint.
2015-04-28 16:50:42 +02:00
Florian Bruhin
6c8e073dc8
Merge branch 'caret_visual_mode' of https://github.com/artur-shaik/qutebrowser into visual
...
Conflicts:
qutebrowser/browser/commands.py
qutebrowser/browser/webview.py
qutebrowser/config/configdata.py
2015-04-21 21:29:00 +02:00
Florian Bruhin
83dbe48469
Refactor EventFilter.
2015-04-09 20:22:00 +02:00
Florian Bruhin
f77ba5744b
Add a ui -> hide-mouse-cursor option.
2015-04-09 19:59:16 +02:00
Artur Shaik
695712e50c
Basic caret and visual modes implementation
...
Allow user switch in caret mode for browsing with caret, and visual mode
for select and yank text with keyboard.
Default keybindings is c or v for caret mode, and again v for visual mode. All
basic movements provided by WebAction enum implemened with vim-like
bindings. Yanking with y and Y for selection and clipboard respectively.
There is bug/feature in WebKit that after caret enabled, caret doesn't
show until mouse click (or sometimes Tab helps). So I add some workaround
for that with mouse event. I think should be better aproach.
Signed-off-by: Artur Shaik <ashaihullin@gmail.com>
2015-04-09 22:55:42 +06:00
Florian Bruhin
431257d380
Fix handling of key release events.
...
Fixes #593 .
It seems Qt "re-uses" existing keyevents, so we have to save and compare the
data instead.
2015-03-31 23:09:40 +02:00
Florian Bruhin
8ebac8d38c
Various spelling fixes.
2015-03-31 21:11:47 +02:00
Florian Bruhin
6dc65287a9
Discard uninteresting events early in eventFilter.
...
Before, we ran quite a lot of code (e.g. objreg) on every event, even if it
turns out to not be a keypress/release event at all.
2015-03-16 23:25:29 +01:00
Florian Bruhin
e8e6d8409b
Adjust pylint exceptions.
2015-03-11 20:14:39 +01:00
Florian Bruhin
e696898c4a
Add input -> partial-timeout option to clear partial keystrings.
2015-02-27 10:59:03 +01:00
Florian Bruhin
42e2438efb
Return Match instead bool in _handle_single_key.
2015-02-27 10:59:03 +01:00
Florian Bruhin
d66997610b
Use a single Timer for ambigious keybindings.
2015-02-27 10:59:03 +01:00
Florian Bruhin
22fab87311
Ignore tab key presses if they'd switch focus.
...
If the mainwindow is focused but not the web view (e.g. in prompt mode), an
unbound tab key should be filtered so it doesn't change keyboard focus.
Fixes #504 .
2015-02-12 18:57:56 +01:00
Florian Bruhin
ca590c5df7
Fix lint
2015-01-23 15:10:44 +01:00
Florian Bruhin
0587cc8b1d
Really fix pylint and unicodedata.category.
2015-01-23 15:06:51 +01:00
Florian Bruhin
d7c7e91f2b
pylint: Ignore no-member for unicodedata.category.
...
This seems to be broken for pylint since #463 on Windows, so we just ignore the
warning there.
2015-01-23 14:40:40 +01:00
Florian Bruhin
a412814dee
Enter KeyMode.normal directly in ModeManager.
...
We used to enter KeyMode.none and then with a zero-time singleShot QTimer enter
the normal mode. This doesn't really make sense, and caused an exception if a
keypress was processed before the timer fired.
Fixes #433 .
2015-01-09 21:49:39 +01:00
Florian Bruhin
d147ba90d4
Remove old comment.
2015-01-09 21:49:39 +01:00
Florian Bruhin
450d1ab70d
Update copyright years
2015-01-03 15:51:31 +01:00
Florian Bruhin
73d08cb60c
Fix mode handling with multiple javascript prompts.
...
This fixes a regression introduced in 03ac8874ff
.
2014-12-28 01:28:35 +01:00
Florian Bruhin
03ac8874ff
Rewrite keymode handling to use only one mode.
...
Fixes #417 .
Fixes #418 .
See 4ab5d2df28
.
2014-12-28 00:01:27 +01:00
Florian Bruhin
4ab5d2df28
Make it possible to enter a keymode twice.
...
If we don't allow this, we can get stuck e.g. when doing this:
- Press m to get a quickmark prompt.
- Click a javascript prompt button.
- Exit the javascript prompt.
- We have the quickmark prompt open but we're in normal mode.
2014-12-26 14:26:59 +01:00
Florian Bruhin
b7dc2e1bc6
Allow non-ASCII chars in keychains. Fixes #303 .
2014-12-13 21:03:33 +01:00
Florian Bruhin
d611a37d7d
Fix statusbar with nested passthrough modes.
...
Fixes #87 .
2014-12-08 20:18:55 +01:00
Florian Bruhin
eb5527f897
Add some logging about keyboard focus.
...
This should help with debugging #218 if it occurs again.
2014-10-28 07:44:42 +01:00
Florian Bruhin
76de3d0c51
Use signals and decorators for configs again.
...
This basically rolls back 64a119afb2
and
b7f2a6d143
.
Fixes #188 .
Breaks #156 again but the next commit will fix this.
2014-10-18 19:50:10 +02:00
Florian Bruhin
d9213ecf17
Prevent double-entering hint mode. Fixes #160 .
2014-10-08 22:19:24 +02:00
Florian Bruhin
71308b45ac
Add utils.qualname. Closes #169 .
2014-10-08 21:11:04 +02:00
Florian Bruhin
6349a6a213
Remove Emit:/Raise: from docstrings.
...
They got out-of-sync fast and provided no real benefit.
2014-10-07 23:08:37 +02:00
Florian Bruhin
1ad081a2db
Fix lint
2014-10-06 22:30:37 +02:00
Florian Bruhin
12bbce2914
Spelling fix
2014-10-06 22:23:27 +02:00
Florian Bruhin
105c25bc5f
Merge branch 'multiwin'
...
Conflicts:
qutebrowser/app.py
qutebrowser/browser/commands.py
qutebrowser/browser/hints.py
qutebrowser/keyinput/modeman.py
qutebrowser/network/networkmanager.py
qutebrowser/widgets/mainwindow.py
qutebrowser/widgets/statusbar/command.py
qutebrowser/widgets/statusbar/prompt.py
qutebrowser/widgets/statusbar/prompter.py
qutebrowser/widgets/tabbedbrowser.py
2014-10-06 22:03:58 +02:00
Florian Bruhin
9281fa3992
Fix lint/bugs
2014-10-06 19:53:50 +02:00
Florian Bruhin
85ead4273b
Register tab registry under window registry with ID.
2014-10-06 07:41:05 +02:00
Florian Bruhin
d3121034df
Revert "Store window registries in objreg."
...
This reverts commit dfd3b3d9c4
.
It turns out this makes it very hard to remove the window from the window
registry at the right time.
2014-10-05 23:09:35 +02:00
Florian Bruhin
dfd3b3d9c4
Store window registries in objreg.
2014-10-05 22:17:29 +02:00
Florian Bruhin
85f8366028
Fix lint
2014-09-30 07:49:01 +02:00
Florian Bruhin
8864c042c8
modeman: Make it possible to override a locked mode.
2014-09-30 07:11:37 +02:00
Florian Bruhin
e6fe358d73
Clean up correctly when a window is closed.
2014-09-29 10:43:06 +02:00
Florian Bruhin
9533312e0d
Fix event filter when a non-Mainwindow dialog has an event.
2014-09-28 22:53:24 +02:00
Florian Bruhin
dc7b32e460
Fix lint
2014-09-28 22:23:37 +02:00
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