Patrick Steinhardt [Sat, 20 May 2017 16:56:18 +0000 (18:56 +0200)]
hints: do not execute `click` in addition to opening hints
When the element which we are about to open has a "href" attribute, we
will execute either `window.open` or set the `window.location.href`
attribute to the target's reference. But as we forgot to call `return`
here, we will also execute the code to open elements without "href"
attribute. In the case of opening a new window, we will now first open
the new window and then also set the current window's URL to the target,
which is obviously wrong.
Fix the issue by putting the excution of `click()` inside an
else-branch.
Patrick Steinhardt [Sat, 20 May 2017 16:49:08 +0000 (18:49 +0200)]
hints: use `window.location.href` to change current URL
When opening a hint in the current window, we do so by emulating a
`click()` on the element that we want to switch to. This enables us to
open hints when there is no href set, e.g. when the element executes
JavaScript to change the page. Unfortunately, this method of opening
links does not work when JavaScript is disabled in the client.
If the element has a `href` attribute, we can work around this problem
by directly setting `window.location.href` to the element's reference.
Next to being a more obvious method of setting the current URL, this
also fixes hints with JavaScript disabled. Note that we still have to
keep around the old method of using `click()` on the element in case it
has no href attribute.
Daniel Carl [Fri, 19 May 2017 22:31:56 +0000 (00:31 +0200)]
Cast to OptArgFunction.
Daniel Carl [Fri, 19 May 2017 21:55:06 +0000 (23:55 +0200)]
Move include of hints.js.h to the right place.
Robert Timm [Fri, 19 May 2017 12:16:08 +0000 (14:16 +0200)]
adds insight about shortcut-default #365
Robert Timm [Fri, 19 May 2017 08:05:55 +0000 (10:05 +0200)]
adds incsearch to manpage (#365)
Daniel Carl [Thu, 18 May 2017 23:47:58 +0000 (01:47 +0200)]
Mention runsandbox target in README.
Daniel Carl [Thu, 18 May 2017 23:41:58 +0000 (01:41 +0200)]
Update change settings in CHANGELOG.
Daniel Carl [Thu, 18 May 2017 23:38:58 +0000 (01:38 +0200)]
Add settings for spell checking.
Daniel Carl [Thu, 18 May 2017 22:12:45 +0000 (00:12 +0200)]
Increase default z-index for hint elements.
There are some sites where the hint label where covered by on page
elements using a high z-index. So increase our default too.
Robert Timm [Thu, 18 May 2017 11:24:24 +0000 (13:24 +0200)]
fixes serif-font setting name to match manpage
Ferenc- [Thu, 18 May 2017 08:58:55 +0000 (10:58 +0200)]
Eliminate dead code from main.c
1. Value stored in 'num' in line 161 was never read
since it was unconditionally overwritten immediately in 166.
2. Value stored in 'suffix' in line 145 was never read
since it was overwritten in both branches of 'if(dot_post)'.
3. Value stored in 'req' in line 1157 was never read
if the branch of the first if statement is taken.
Storing has been placed int to the second if statement,
where it is actually used.
Daniel Carl [Tue, 16 May 2017 22:01:12 +0000 (00:01 +0200)]
Added missed ;x hinting to man page.
Daniel Carl [Tue, 16 May 2017 21:39:21 +0000 (23:39 +0200)]
Use dashed setting names.
The mixes use of none separated settings names and those containing
multiple dashes looked ugly. So use consequently dashes setting names.
Daniel Carl [Tue, 16 May 2017 21:23:33 +0000 (23:23 +0200)]
Added current available settings to man page #365.
Daniel Carl [Tue, 16 May 2017 21:21:48 +0000 (23:21 +0200)]
Added missed x-hint-command setting.
Daniel Carl [Mon, 15 May 2017 20:27:28 +0000 (22:27 +0200)]
Add space after sed -e option #388.
Daniel Carl [Fri, 12 May 2017 23:29:49 +0000 (01:29 +0200)]
Remove also whitespace around *%/[.
Daniel Carl [Fri, 12 May 2017 23:13:58 +0000 (01:13 +0200)]
Close comments in js on end of line.
The multi line comments /* */ must be closed on the same line. Because
the simple script that minifies the scripts a little can only remove
those on same line closed comments properly.
Robert Timm [Fri, 12 May 2017 21:32:15 +0000 (23:32 +0200)]
fixes :eval segfault (closes #397)
Michael Danilov [Thu, 27 Apr 2017 14:33:08 +0000 (16:33 +0200)]
js2sh.sh: sed for was GNU-specific.
Daniel Carl [Fri, 12 May 2017 11:26:39 +0000 (13:26 +0200)]
Mention mailing list also for the contributors.
Daniel Carl [Fri, 12 May 2017 11:16:19 +0000 (13:16 +0200)]
Moved contribution related stuff from README to CONTRIBUTE.
Daniel Carl [Thu, 11 May 2017 22:35:59 +0000 (00:35 +0200)]
Added editor to man page #347.
Daniel Carl [Thu, 11 May 2017 22:30:04 +0000 (00:30 +0200)]
Fixed wrong link identifier.
Daniel Carl [Thu, 11 May 2017 22:08:45 +0000 (00:08 +0200)]
Fixed wrong client to webpage relation #349.
In case a related webview is created. The relation between webextensions
web page and the client in the ui process where mismatched. In fact the
relation was correct, but when a dbus call was fired from ui to
webextension, the webextension used the last created web page to run
javascript in or to focus input fields.
This patch adds the page_id of the web page to the dbus calls that
target a specific web page. So that th webextension can get the right
page by this id to use to answer the call.
Also the communication from webextension to ui lagged this essential
information. So that a click to a editable filed in a related webview
all related instances into input mode switched.
Robert Timm [Thu, 11 May 2017 21:15:45 +0000 (23:15 +0200)]
implements external editor (closes #347)
Daniel Carl [Thu, 11 May 2017 12:55:32 +0000 (14:55 +0200)]
Removed dead code #393.
Daniel Carl [Thu, 11 May 2017 12:50:01 +0000 (14:50 +0200)]
Fixed possible null pointer dereference #392.
Daniel Carl [Thu, 11 May 2017 12:38:59 +0000 (14:38 +0200)]
Added inofficial arch linux pkgbuild.
Daniel Carl [Thu, 11 May 2017 12:35:45 +0000 (14:35 +0200)]
Updated README.
Also added known packages.
Daniel Carl [Thu, 11 May 2017 12:02:42 +0000 (14:02 +0200)]
Added hinting to man page.
Robert Timm [Tue, 9 May 2017 22:11:39 +0000 (00:11 +0200)]
fixes hintElem opacity for non opaque elements
Forces the hintElem to be fully opaque, even when attached to non opaque
elements (e.g. {opacity:0.5}). #349
Daniel Carl [Tue, 9 May 2017 18:59:52 +0000 (20:59 +0200)]
Don't give MFLAGS to make explicitly.
The option given to the upper most make call are already given as
MAKEFLAGS on recursive calls to make. So there is no need to give them
explicitly.
Virgil Dupras [Tue, 9 May 2017 00:10:35 +0000 (20:10 -0400)]
hints: open links in async mode
When firing hints, open them (either by simulating a click or through
`window.open()`) in async mode with `window.setTimeout()`. If we don't
do that, the `EvalJS` dbus call will itself timeout and we'll end up
in an inconsistent state, that is, not back to Normal mode.
ref #349
Daniel Carl [Sun, 7 May 2017 23:12:00 +0000 (01:12 +0200)]
Moved scrolling logic into javascript.
Daniel Carl [Sun, 7 May 2017 22:18:48 +0000 (00:18 +0200)]
Merge branch 'hints' into webkit2.
Daniel Carl [Sun, 7 May 2017 20:39:11 +0000 (22:39 +0200)]
Show scroll indicator in status bar #354.
Daniel Carl [Sun, 7 May 2017 20:39:59 +0000 (22:39 +0200)]
Fix wrong js to scroll to x percent of page.
Daniel Carl [Sun, 7 May 2017 12:47:44 +0000 (14:47 +0200)]
Use direct click method on element #349.
Previously there was some hacky target="_blank" setting unsetting logic
in the hints click method to force to open a hint into new instance or
the same. But this does not work and the hack was previously removed. So
there is no need to do the click event emulation by ourselves, it's
already available as method on the elements itself.
Daniel Carl [Sun, 7 May 2017 12:42:20 +0000 (14:42 +0200)]
Clear hints on entering normal mode #349.
Daniel Carl [Sun, 7 May 2017 12:41:51 +0000 (14:41 +0200)]
Workaround for hanging hints #349.
Daniel Carl [Sun, 7 May 2017 12:21:27 +0000 (14:21 +0200)]
Set hint css vie web content manager #349.
Add the hint css direct to webkit instead of manipulating the DOM to add
a style node. By the way the default style was removed from config.def.h
into src/scripts directory so that the css is minified during
compilation.
Daniel Carl [Sun, 7 May 2017 12:19:40 +0000 (14:19 +0200)]
Prefix minified content by file type.
Avoid naming collisions and prefix the minified scripts by JS_ so that
it's obvious what's their content.
Daniel Carl [Sun, 7 May 2017 11:44:05 +0000 (13:44 +0200)]
Inject global hints script during setting.
In case the user disabled user scripts, also the hints script was
removed from the web content manager. So if the page was reloaded the
hinting did not work. To avoid the disabling of vimb internal used
scripts, we set them always during set up of the settings. So they are
readded in case all scripts are removed from the web content manager.
Daniel Carl [Sun, 7 May 2017 00:03:19 +0000 (02:03 +0200)]
Run hint script syncron #349.
When we run the hinting asyn over dbus we can't use the return value
of the hinting to check if the action was done or not. So it was not
possible to undo last number filter on pressing backspace.
Daniel Carl [Sat, 6 May 2017 23:30:16 +0000 (01:30 +0200)]
Fixed missed quotes around filter value #349.
Daniel Carl [Sat, 6 May 2017 22:50:38 +0000 (00:50 +0200)]
Don't fail on same origin policy violations #349.
Daniel Carl [Sat, 6 May 2017 22:39:00 +0000 (00:39 +0200)]
Inject hinting script only in top frame #349.
We can not address sub frame scripts at the time and the hinting script
is able to process also frames, when this is allowed according to the
same origin policy. So there is no need to inject the script into
multiple frames.
Daniel Carl [Sat, 6 May 2017 22:34:51 +0000 (00:34 +0200)]
Allow to quit hint mode via <CTRL-C> #349.
There are some pages where the hinting could not be started and the
input box is filled with ';o'. If the user uses <Esc> this key is also
given to the hinting mode which can't handle this so the user has no way
to get back to normal mode.
Moved the <CTRL-C> case to the beginning of the key handler to make sure
the user can abort the current mode by <CTRL-C>.
Virgil Dupras [Fri, 5 May 2017 14:33:35 +0000 (10:33 -0400)]
Make the ";y" (yanking) hint command work
Virgil Dupras [Tue, 2 May 2017 00:34:53 +0000 (20:34 -0400)]
Make hints wotk in "new window" mode
The old "set target to _blank" trick doesn't work anymore since the
whole "noopener" vulnerability thing
(https://mathiasbynens.github.io/rel-noopener/)
I couldn't find a workaround. We're unfortunately now limited in the
kind of elements we can interact with in "new window" mode.
Virgil Dupras [Sat, 29 Apr 2017 02:24:37 +0000 (22:24 -0400)]
hints: re-enable hints function return value processing
Virgil Dupras [Sat, 29 Apr 2017 02:02:03 +0000 (22:02 -0400)]
hints: Re-enable nearly all call_hint_function invocations
Virgil Dupras [Thu, 27 Apr 2017 02:54:30 +0000 (22:54 -0400)]
Convert old hints.c to the webkit2 era
Lots of it is still disabled, but the basic hint showing happening when
pressing 'f' works.
Virgil Dupras [Mon, 24 Apr 2017 02:47:22 +0000 (22:47 -0400)]
Add hint display
Pressing 'F' will show hints with the old styling from the master
branch.
Virgil Dupras [Mon, 24 Apr 2017 00:53:34 +0000 (20:53 -0400)]
Very preliminary work for bringing hints back
Daniel Carl [Sat, 6 May 2017 21:36:46 +0000 (23:36 +0200)]
Merge branch '375_reject_window_manager_initiated_quit_if_downloads_are_running' of https://github.com/rti/vimb into webkit2
Daniel Carl [Sat, 6 May 2017 21:35:08 +0000 (23:35 +0200)]
Merge branch 'fix_typos' of https://github.com/rti/vimb into webkit2
Daniel Carl [Sat, 6 May 2017 21:32:39 +0000 (23:32 +0200)]
Merge branch '383_download_file_name_postfix' of https://github.com/rti/vimb into webkit2
Daniel Carl [Fri, 5 May 2017 23:55:27 +0000 (01:55 +0200)]
Don't set empty title is none is found.
In case a page without a title or a none html file which can be shown is
opened, webkit informed us about the title change to empty string. But
no window title is no good idea, especial in case vimb runs within
tabbed and there are multiple unnamed tabs.
So we set the webview title only if it's not empty.
Robert Timm [Sun, 23 Apr 2017 19:10:37 +0000 (21:10 +0200)]
Reject window manager quit if downloading
Rejects a window manager initiated quit signal if there are downloads in
progress. This closes #375.
Robert Timm [Thu, 4 May 2017 17:42:50 +0000 (19:42 +0200)]
fixes typos
Robert Timm [Thu, 4 May 2017 17:40:10 +0000 (19:40 +0200)]
fixes download file name postfix (closes #383)
Daniel Carl [Thu, 27 Apr 2017 21:22:33 +0000 (23:22 +0200)]
Changed default-zoom behaviour.
In the previous implementation the default-zoom was only a initial full
content zoom applied to the webview. But in case the user changed the
zooming and reset it back by using 'zz' the webkit zoom level was set to
1.0 (100%) and not to the initial zoom level like on startup of vimb.
This behaviour is strange to under stand and does not fit toe the
setting name 'default-zoom'.
To make the default-zoom to a real default, the zoom is also applied in
case the zoom is reseted by the user via 'zz'.
Daniel Carl [Thu, 27 Apr 2017 20:16:04 +0000 (22:16 +0200)]
Fix some typos.
Daniel Carl [Thu, 27 Apr 2017 20:08:17 +0000 (22:08 +0200)]
Keep all content before command on completion.
If ':: o' was completed, the white space and ':' before the command
where skipped and the user input was changed into ':open'. Vim keeps the
input also during command completion, so we follow this model and keep
it too.
Daniel Carl [Thu, 27 Apr 2017 19:32:48 +0000 (21:32 +0200)]
Allow also completion for whitespace prefixed commands.
We allow to put whitespace or additional ':' before ex commands to avoid
recoding of the commands in the history. But in the completion only the
first ':' was skipped to get the command to apply completion for.
So ': open foo<Tab>' did not start completion, because ' open' is none
known command.
So skip all ':' and whitespace after the first ':' to set the pointer to
the beginning of the command.
Daniel Carl [Thu, 27 Apr 2017 19:13:10 +0000 (21:13 +0200)]
Add bookmark completion to manual page #365.
Daniel Carl [Wed, 26 Apr 2017 22:43:35 +0000 (00:43 +0200)]
Added section for input mode to man page #365.
Daniel Carl [Wed, 26 Apr 2017 22:40:28 +0000 (00:40 +0200)]
Added missed queue file in manual page #365.
Daniel Carl [Wed, 26 Apr 2017 22:37:38 +0000 (00:37 +0200)]
Add queue feature to manual page #365.
Daniel Carl [Wed, 26 Apr 2017 22:13:22 +0000 (00:13 +0200)]
Moved closed file writing to util #379.
Daniel Carl [Wed, 26 Apr 2017 21:43:24 +0000 (23:43 +0200)]
Allow to store multiple closed URLs #379.
Applied changes of
8ae4cadf58e46b3e9951fa89cf084bd2792984c3 in master
branch to new infrastructure.
Daniel Carl [Wed, 26 Apr 2017 20:13:36 +0000 (22:13 +0200)]
Fixed wrongs check of g_mkdir_with_parents #381.
Daniel Carl [Mon, 24 Apr 2017 11:15:15 +0000 (13:15 +0200)]
Don't run input change on stepping through completion.
Robert Timm [Sat, 22 Apr 2017 22:55:48 +0000 (00:55 +0200)]
fixes incsearch history handling
Refactores parts of command_search() (closes #372)
Fixes search using "/ register (type "/<enter>")
Daniel Carl [Sat, 22 Apr 2017 21:04:37 +0000 (23:04 +0200)]
Added missed --config option on spawning new instance.
Daniel Carl [Sat, 22 Apr 2017 20:53:49 +0000 (22:53 +0200)]
Show profile name in url bar #343.
Daniel Carl [Sat, 22 Apr 2017 20:46:11 +0000 (22:46 +0200)]
Add profile option #343.
Daniel Carl [Sat, 22 Apr 2017 20:45:01 +0000 (22:45 +0200)]
Remove FEATURE_HISTORY_INDICATOR.
This does not bring any real benefit to make allow to avoid this but
makes the code hard to maintain.
Daniel Carl [Fri, 21 Apr 2017 21:55:14 +0000 (23:55 +0200)]
Update the license year.
Daniel Carl [Fri, 21 Apr 2017 21:51:14 +0000 (23:51 +0200)]
Create files needed for full feature support.
Create all those files on startup that are needed to provide all the
documented features.
Daniel Carl [Fri, 21 Apr 2017 21:29:50 +0000 (23:29 +0200)]
Don't fail on missing files.
Daniel Carl [Fri, 21 Apr 2017 21:16:46 +0000 (23:16 +0200)]
Don't warn about missing scripts file.
It's not required that the user has a scripts file. So don't attempt to
inject it if it is not present.
Daniel Carl [Fri, 21 Apr 2017 21:10:39 +0000 (23:10 +0200)]
Don not double inject user script file.
The script file is injected in case 'userscripts' setting is enabled. So
there is no need to do this on creating the webview too.
Daniel Carl [Fri, 21 Apr 2017 21:07:54 +0000 (23:07 +0200)]
Removed hsts file because this is not used at the time.
Daniel Carl [Fri, 21 Apr 2017 09:45:32 +0000 (11:45 +0200)]
Fixed none printed :open .. on O.
If the input was filled programmatically and the mode where switched the
already filled input was cleaned by the attempt to stop possible search.
So now the input is only cleared if there is really an active search.
Daniel Carl [Fri, 21 Apr 2017 09:23:45 +0000 (11:23 +0200)]
Merge branch 'fix_incsearch_paste' of https://github.com/rti/vimb into webkit2.
Daniel Carl [Fri, 21 Apr 2017 09:05:05 +0000 (11:05 +0200)]
Clear input after load commited during search.
If a new page is opened during search, the search string was still
present in the input box even if the searching is paused in this case.
So now clear the input box and stop searching in case of a new page
load.
Robert Timm [Mon, 17 Apr 2017 21:22:39 +0000 (23:22 +0200)]
adds TODO for text buffer change warning
Robert Timm [Mon, 17 Apr 2017 20:41:47 +0000 (22:41 +0200)]
adds TODO for deprecated gdkkeysyms
Robert Timm [Mon, 17 Apr 2017 20:41:15 +0000 (22:41 +0200)]
moves incsearch to ex_input_changed (closes #370)
Robert Timm [Mon, 17 Apr 2017 20:40:39 +0000 (22:40 +0200)]
adds call to mode input_changed (closes #369)
Daniel Carl [Thu, 20 Apr 2017 23:07:48 +0000 (01:07 +0200)]
Run js by webextension.
Make sure all the scripts we run internally are also evaluated in case
js is disabled.
Daniel Carl [Thu, 20 Apr 2017 22:03:55 +0000 (00:03 +0200)]
Run js for scrolling from webextension #367.
Daniel Carl [Thu, 20 Apr 2017 20:58:59 +0000 (22:58 +0200)]
Show if directory can't be created.
Daniel Carl [Thu, 20 Apr 2017 20:45:31 +0000 (22:45 +0200)]
Added :save command.
Daniel Carl [Thu, 20 Apr 2017 11:44:41 +0000 (13:44 +0200)]
Add docu for reading from stdin.
Daniel Carl [Thu, 20 Apr 2017 11:41:44 +0000 (13:41 +0200)]
Merge branch '346_html_from_stdin' of https://github.com/rti/vimb into webkit2.