vimb.git
4 years agoupdate arch linux packages
SFort [Thu, 9 Jan 2020 23:21:51 +0000 (00:21 +0100)]
update arch linux packages

4 years agoDo not require trailing newline in config file #586.
Daniel Carl [Fri, 10 Jan 2020 22:18:42 +0000 (23:18 +0100)]
Do not require trailing newline in config file #586.

4 years agoUpdate travis-ci status badge to new url.
Daniel Carl [Thu, 9 Jan 2020 23:27:54 +0000 (00:27 +0100)]
Update travis-ci status badge to new url.

4 years agoGive current selection as env on :shellcmd #592.
Daniel Carl [Thu, 9 Jan 2020 23:20:37 +0000 (00:20 +0100)]
Give current selection as env on :shellcmd #592.

Give current selected text as environment variable $VIMB_SELECTION to
scripts called by `:shellcmd`.

4 years agoRemove expansion of '%' #584.
Daniel Carl [Fri, 3 Jan 2020 23:36:31 +0000 (00:36 +0100)]
Remove expansion of '%' #584.

The % is often used in urls and in case of the x-hint-command those are
feed to :shellcmd and will be replaced by current URL. This made the
x-hint-command unusable on some search engines.
The expansion of % to the current URL also required to give the current
browser state to the expansion logic and to feed it to all callers of
this too. This bloated the code.
This patch removes the % expansion which was a redundant alternative to
$VIMB_URI.

4 years agoReleased version 3.6.0.
Daniel Carl [Thu, 2 Jan 2020 22:17:49 +0000 (23:17 +0100)]
Released version 3.6.0.

4 years agoAdded --cmd,-C option to give ex commands on startup #342.
Daniel Carl [Wed, 18 Dec 2019 22:29:29 +0000 (23:29 +0100)]
Added --cmd,-C option to give ex commands on startup #342.

4 years agoAdd new dark-mode setting to CHANGELOG.
Daniel Carl [Sat, 14 Dec 2019 23:40:29 +0000 (00:40 +0100)]
Add new dark-mode setting to CHANGELOG.

4 years agoAdd documentation for dark-mode option
Alva [Wed, 11 Dec 2019 18:45:01 +0000 (19:45 +0100)]
Add documentation for dark-mode option

4 years agoAdd dark-mode option
Alva [Wed, 11 Dec 2019 18:42:30 +0000 (19:42 +0100)]
Add dark-mode option

This lets websites use the `prefers-color-scheme` media query to adapt
styles according to user preference.

It also affects internal pages like about:blank.

4 years agoUpdate the changelog.
Daniel Carl [Mon, 18 Nov 2019 22:46:54 +0000 (23:46 +0100)]
Update the changelog.

4 years agoFix none working geolocation=always #580.
Daniel Carl [Mon, 18 Nov 2019 22:33:08 +0000 (23:33 +0100)]
Fix none working geolocation=always #580.

The 'permission-request' return value is only used to identify if the
callback made a decision or not.

4 years agoMerge branch 'geolocation' of https://github.com/fjallarefur/vimb.
Daniel Carl [Mon, 18 Nov 2019 22:23:56 +0000 (23:23 +0100)]
Merge branch 'geolocation' of https://github.com/fjallarefur/vimb.

4 years agoAllow to disable hint matching base on element text #581.
Daniel Carl [Mon, 18 Nov 2019 22:20:00 +0000 (23:20 +0100)]
Allow to disable hint matching base on element text #581.

4 years agoAdd documentation for 'geolocation' setting
Alva [Mon, 11 Nov 2019 18:26:02 +0000 (19:26 +0100)]
Add documentation for 'geolocation' setting

4 years agoAdd geolocation setting
Alva [Mon, 11 Nov 2019 15:07:51 +0000 (16:07 +0100)]
Add geolocation setting

This setting lets users automatically reject/allow geolocation access.
The default is to ask every time, like before.

4 years agoMerge branch 'pks/load-starting' of https://github.com/pks-t/vimb.
Daniel Carl [Mon, 18 Nov 2019 20:18:24 +0000 (21:18 +0100)]
Merge branch 'pks/load-starting' of https://github.com/pks-t/vimb.

4 years agoautocmd: implement new LoadStarting event
Patrick Steinhardt [Sat, 14 Sep 2019 09:46:35 +0000 (11:46 +0200)]
autocmd: implement new LoadStarting event

The first autocommand event that is being triggered when loading a
website is the "LoadStarted" event. LoadStarted gets triggered when the
web view has started loading of the page, notably after the initial
request has been sent. Thus, this event comes too late to change
settings that would modify the initial request, like e.g. the user
agent.

Implement a new event LoadStarting that triggers immediately before
performing the initial load and thus before LoadStarted. As WebKit does
not provide any signal for this, we have to manually trigger this event
when executing any load or navigation actions. The best place to
piggy-back on WebKit itself is in fact `decide_navigation_action`, which
will get executed on clicks, history navigation and `load_uri`. Like
this, there is only a single location that needs to trigger the new
event.

This change enables one to modify configuration like the user agent for
certain websites, which was not possible with "LoadStarted".

4 years agoSimplified the man page a little.
Daniel Carl [Thu, 10 Oct 2019 00:05:04 +0000 (02:05 +0200)]
Simplified the man page a little.

5 years agoPut :cleardata dataType before timespan.
Daniel Carl [Wed, 9 Oct 2019 21:11:19 +0000 (23:11 +0200)]
Put :cleardata dataType before timespan.

5 years agoAdded :clearcache by :cleardata command.
Daniel Carl [Wed, 9 Oct 2019 00:15:57 +0000 (02:15 +0200)]
Added :clearcache by :cleardata command.

Allow to clear different types of website data base on the last update
time.

5 years agoFix spelling mistake 'reed' -> 'read'
Michael Vetter [Fri, 23 Aug 2019 05:38:19 +0000 (07:38 +0200)]
Fix spelling mistake 'reed' -> 'read'

5 years agoFixed typo in travis dist setting.
Daniel Carl [Thu, 1 Aug 2019 19:40:03 +0000 (21:40 +0200)]
Fixed typo in travis dist setting.

5 years agoUse bionic for testing.
Daniel Carl [Wed, 31 Jul 2019 22:14:26 +0000 (00:14 +0200)]
Use bionic for testing.

5 years agoReleased version 3.5.0.
Daniel Carl [Mon, 29 Jul 2019 20:03:20 +0000 (22:03 +0200)]
Released version 3.5.0.

5 years agoSpelling correction
Docbroke [Thu, 20 Jun 2019 06:45:37 +0000 (12:15 +0530)]
Spelling correction

5 years agoUse ephemeral webview if incognito option is used #562
Daniel Carl [Fri, 14 Jun 2019 23:28:48 +0000 (01:28 +0200)]
Use ephemeral webview if incognito option is used #562

Also removed obsolete 'private-browsing' setting.

5 years agoShow error if printing fails #564.
Daniel Carl [Fri, 14 Jun 2019 22:32:46 +0000 (00:32 +0200)]
Show error if printing fails #564.

5 years agoFixed memory allocation errors in incognito mode.
Daniel Carl [Thu, 13 Jun 2019 23:09:20 +0000 (01:09 +0200)]
Fixed memory allocation errors in incognito mode.

Fix crash with message "free(): invalid next size (fast)" when a new
instance was spawned.

5 years agoGive --incognito option also to new spawned instances #562.
Daniel Carl [Sat, 8 Jun 2019 21:45:21 +0000 (23:45 +0200)]
Give --incognito option also to new spawned instances #562.

5 years agoAdded --incognito option to man page #562.
Daniel Carl [Fri, 7 Jun 2019 22:50:22 +0000 (00:50 +0200)]
Added --incognito option to man page #562.

5 years agoRename option ephemeral to incognito #562.
Daniel Carl [Fri, 7 Jun 2019 22:34:14 +0000 (00:34 +0200)]
Rename option ephemeral to incognito #562.

5 years agoAdded ephemeral mode #562.
Daniel Carl [Mon, 3 Jun 2019 23:43:35 +0000 (01:43 +0200)]
Added ephemeral mode #562.

If vimb is started with --ephemeral option no files are created by
default and no persistent cookie manager is used.

5 years agoCheck if file exists during runtime #562.
Daniel Carl [Mon, 3 Jun 2019 21:18:04 +0000 (23:18 +0200)]
Check if file exists during runtime #562.

Do not consider file to be existent which was on startup. This allows
also to benenfit from files created by other vimb instances spawned
later.

5 years agoAdd file storage to allow to collect ephemeral data #562.
Daniel Carl [Thu, 23 May 2019 23:36:30 +0000 (01:36 +0200)]
Add file storage to allow to collect ephemeral data #562.

5 years agoFix a typo
Konst Mayer [Thu, 23 May 2019 02:52:18 +0000 (09:52 +0700)]
Fix a typo

5 years agoAvoid double free in on_webview_notify_uri #561.
Daniel Carl [Mon, 20 May 2019 21:53:59 +0000 (23:53 +0200)]
Avoid double free in on_webview_notify_uri #561.

Thank to Valérian Rousset for pointing this out. Also change the
until_sanitize_uri function to return given uri in case an error occurred
during sanitization process to reduce cases where this function returns
NULL.

5 years agoFix NULL ret of util_sanitize_uri
tharvik [Mon, 20 May 2019 09:23:29 +0000 (11:23 +0200)]
Fix NULL ret of util_sanitize_uri

5 years agoAdd external download command #543 #348.
Daniel Carl [Sat, 18 May 2019 22:29:23 +0000 (00:29 +0200)]
Add external download command #543 #348.

Added 'download-command' setting to configure a command/script that
handles the download of an uri. With the new setting flag
'download-use-external' can be decided if the external download command
is used to download an uri or the built in downloader.

5 years agoFix segfault on open in new tabe from context menu #556.
Daniel Carl [Wed, 24 Apr 2019 14:50:05 +0000 (16:50 +0200)]
Fix segfault on open in new tabe from context menu #556.

5 years agoChange hover link url on status bar via direct function.
Daniel Carl [Sat, 30 Mar 2019 22:19:55 +0000 (23:19 +0100)]
Change hover link url on status bar via direct function.

Do not emit fake signal to show the current hovered url from hinting
shown on the left of the statusbar. Instead call a function which writes
the url to the statusbar.

5 years agoShow uri of hinted element in statusbar.
Daniel Carl [Sat, 30 Mar 2019 01:18:51 +0000 (02:18 +0100)]
Show uri of hinted element in statusbar.

5 years agoDo the -webkit-transform:translate in js.
Daniel Carl [Fri, 29 Mar 2019 23:08:40 +0000 (00:08 +0100)]
Do the -webkit-transform:translate in js.

The -webkit-transform:translate(-4px, -4px) was added to move the hint
labels a little bit from the hinted links so that they do not cover to
much of the link text. But in this way the labels where sometime only
partial visible if the hinted element is near to the top or left.

This patch removes the css translate and calculates the offset direct
in the hints.js. So we can now ensure that the hint labels are not
placed behind the top or left of the viewport.

5 years agoadded "bookmark" to the FILES list
Docbroke [Sun, 24 Mar 2019 08:30:04 +0000 (14:00 +0530)]
added "bookmark" to the FILES list

5 years agoMakefile: fix compilation if source is not in a git repo
Patrick Steinhardt [Wed, 27 Mar 2019 06:47:30 +0000 (07:47 +0100)]
Makefile: fix compilation if source is not in a git repo

To make the version available, the Makefile creates a "version.h"
header. This file will either contain the output of `git describe
--tags` or a fallback value that is declared inside the Makefile
itself.

This logic is broken as there is a hard dependcy on the
".git/index" file. The intent here is to regenerate the header
file whenever there is any change to the git repo itself. But in
case where vimb is for example being compiled from a tarball,
there will be no git index at all, leading to an error "No rule
to make target '.git/index'".

Fix the issue by using `$(wildcard .git/index)`. In case the file
exists, we will pick it up as a dependency of "version.h" and
thus recompile it whenever the git repo changes. Otherwise, the
wildcard won't match and we will fall back to just using the
declared value of the "version" variable.

5 years agoReleased version 3.4.0.
Daniel Carl [Tue, 26 Mar 2019 22:18:28 +0000 (23:18 +0100)]
Released version 3.4.0.

5 years agoUse webkit_uri_for_display().
Daniel Carl [Sun, 24 Mar 2019 23:07:52 +0000 (00:07 +0100)]
Use webkit_uri_for_display().

Use this function for shown url for IDN homograph mitigation.

5 years agoMerge branch 'disallow-window-open'
Daniel Carl [Sun, 24 Mar 2019 00:00:53 +0000 (01:00 +0100)]
Merge branch 'disallow-window-open'

5 years agoPrevent opening links into new window #544.
Daniel Carl [Sat, 23 Mar 2019 23:53:47 +0000 (00:53 +0100)]
Prevent opening links into new window #544.

Added setting 'prevent-newwindow' to enforce opening links into same
window even if they are crafted by `target="_blank"` or using
`window.open()`.
This option does not change the behaviour for links fired by hinting.

5 years agoAdded test case for disabled opening of new window #544.
Daniel Carl [Wed, 13 Mar 2019 00:47:45 +0000 (01:47 +0100)]
Added test case for disabled opening of new window #544.

5 years agoMove functions from events.c to map.c #546.
Daniel Carl [Thu, 14 Mar 2019 23:38:20 +0000 (00:38 +0100)]
Move functions from events.c to map.c #546.

5 years agoUse GSList to queue events #546.
Daniel Carl [Thu, 14 Mar 2019 23:30:51 +0000 (00:30 +0100)]
Use GSList to queue events #546.

5 years agoUse the right gdk function to duplicate the key events #546.
Daniel Carl [Thu, 14 Mar 2019 22:59:31 +0000 (23:59 +0100)]
Use the right gdk function to duplicate the key events #546.

This fixes the warning "Event with type 8 not holding a GdkDevice. It
is most likely synthesized outside Gdk/GTK+".

5 years agoUse glib memory functions to simplify the code #546.
Daniel Carl [Thu, 14 Mar 2019 22:34:28 +0000 (23:34 +0100)]
Use glib memory functions to simplify the code #546.

5 years agoAllow incomplete imap sequence to timeout
Thomas Legris [Thu, 14 Mar 2019 21:44:15 +0000 (21:44 +0000)]
Allow incomplete imap sequence to timeout

5 years agoSplit policy decision into parts.
Daniel Carl [Tue, 12 Mar 2019 23:53:53 +0000 (00:53 +0100)]
Split policy decision into parts.

Also make always a decision.

5 years agoAllow to not maximize window via option --no-maximize #483.
Daniel Carl [Tue, 12 Mar 2019 16:15:07 +0000 (17:15 +0100)]
Allow to not maximize window via option --no-maximize #483.

5 years agoUse man page date instead of build date
Bernhard M. Wiedemann [Tue, 5 Mar 2019 09:31:42 +0000 (10:31 +0100)]
Use man page date instead of build date

in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good.

5 years agoAvoid double client destroy in case of webview close #537.
Daniel Carl [Wed, 13 Feb 2019 21:55:43 +0000 (22:55 +0100)]
Avoid double client destroy in case of webview close #537.

5 years agoAdd openSUSE package to README
Michael Vetter [Tue, 12 Feb 2019 16:34:14 +0000 (17:34 +0100)]
Add openSUSE package to README

5 years agoAdded release shield
Daniel Carl [Fri, 8 Feb 2019 09:46:32 +0000 (10:46 +0100)]
Added release shield

5 years agoAdded license badge
Daniel Carl [Mon, 4 Feb 2019 13:18:17 +0000 (14:18 +0100)]
Added license badge

5 years agoDefine feature macros only on Linux
Leonid Bobrov [Sat, 26 Jan 2019 11:05:05 +0000 (13:05 +0200)]
Define feature macros only on Linux

5 years agoReplace deprecated gtk_css_provider_get_default.
Daniel Carl [Mon, 21 Jan 2019 22:16:14 +0000 (23:16 +0100)]
Replace deprecated gtk_css_provider_get_default.

5 years agoAllow to show video in fullscreen if requested.
Daniel Carl [Thu, 17 Jan 2019 23:02:14 +0000 (00:02 +0100)]
Allow to show video in fullscreen if requested.

If JavaScript calls element.webkitRequestFullScreen webkit switches vimb
into full screen mode. But the statusbar and the input box where still
shown. So now vimb hides the statusbar and the input box to allow videos
to be show on the whole screen.

5 years agoCreate version-h also on single make test.
Daniel Carl [Thu, 10 Jan 2019 09:39:24 +0000 (10:39 +0100)]
Create version-h also on single make test.

5 years agoAlways generate version from git if possible #532.
Daniel Carl [Thu, 10 Jan 2019 09:26:37 +0000 (10:26 +0100)]
Always generate version from git if possible #532.

5 years agoAdd links to pkgsrc packages.
Leonardo Taccari [Thu, 22 Nov 2018 09:12:00 +0000 (10:12 +0100)]
Add links to pkgsrc packages.

5 years agoIncreased min required webkit version to 2.20.x #525.
Daniel Carl [Wed, 21 Nov 2018 23:32:54 +0000 (00:32 +0100)]
Increased min required webkit version to 2.20.x #525.

5 years agoFixed -Wpointer-sign warning.
Daniel Carl [Wed, 21 Nov 2018 23:23:09 +0000 (00:23 +0100)]
Fixed -Wpointer-sign warning.

5 years agoSwitch distro for testing.
Daniel Carl [Wed, 21 Nov 2018 23:14:04 +0000 (00:14 +0100)]
Switch distro for testing.

5 years agoFixed wrong link in README.
Daniel Carl [Wed, 21 Nov 2018 22:34:38 +0000 (23:34 +0100)]
Fixed wrong link in README.

5 years agoFixed none shown hint labels by CSP headers #531.
Daniel Carl [Wed, 21 Nov 2018 22:21:01 +0000 (23:21 +0100)]
Fixed none shown hint labels by CSP headers #531.

The styling by elements style attribute might be forbidden by
Content-Security-Policy restrictions. But positioning of the elements by
the elements style object seems to work.

5 years agoAdded link to mailing list archive.
Daniel Carl [Wed, 21 Nov 2018 11:33:26 +0000 (12:33 +0100)]
Added link to mailing list archive.

5 years agoFix out-of-bounds buffer access in parse_command
Sören Tempel [Sun, 11 Nov 2018 22:35:25 +0000 (23:35 +0100)]
Fix out-of-bounds buffer access in parse_command

Since the cmd buffer needs to be null terminated we need to reserve
space for the null byte in the buffer.

Without this change an out-of-bounds buffer access is performed if the
first word is longer than 19 chars.

Fixes #529

5 years agoUpdate default user-agent to webkit default.
Daniel Carl [Tue, 6 Nov 2018 23:00:04 +0000 (00:00 +0100)]
Update default user-agent to webkit default.

5 years agoIncrease the version number.
Daniel Carl [Tue, 6 Nov 2018 22:56:18 +0000 (23:56 +0100)]
Increase the version number.

5 years agoFix some typos in CHANGELOG.
Daniel Carl [Tue, 6 Nov 2018 22:46:08 +0000 (23:46 +0100)]
Fix some typos in CHANGELOG.

5 years agoReleased version 3.3.0.
Daniel Carl [Tue, 6 Nov 2018 22:25:17 +0000 (23:25 +0100)]
Released version 3.3.0.

5 years agoFixed none freed command variable.
Daniel Carl [Mon, 29 Oct 2018 22:23:46 +0000 (23:23 +0100)]
Fixed none freed command variable.

Also removed goto from command_spawn_editor function. This makes the
code a little easier to read.

5 years agoFix some code indentation.
Daniel Carl [Thu, 25 Oct 2018 21:29:43 +0000 (23:29 +0200)]
Fix some code indentation.

5 years agoFix possible memory leak #361.
Daniel Carl [Thu, 25 Oct 2018 21:29:06 +0000 (23:29 +0200)]
Fix possible memory leak #361.

5 years agoMerge branch 'view_source_support' of https://github.com/iamleot/vimb.
Daniel Carl [Thu, 25 Oct 2018 21:02:06 +0000 (23:02 +0200)]
Merge branch 'view_source_support' of https://github.com/iamleot/vimb.

5 years agoDocument `gf' command
Leonardo Taccari [Thu, 25 Oct 2018 19:37:56 +0000 (21:37 +0200)]
Document `gf' command

5 years agoAlways pass NUL-terminated text to command_spawn_editor()
Leonardo Taccari [Thu, 25 Oct 2018 11:55:21 +0000 (13:55 +0200)]
Always pass NUL-terminated text to command_spawn_editor()

It seems that there is no any guarantee that
webkit_web_resource_get_data_finish() return data that is
NUL-terminated.

5 years agoAvoid possible strlen() on NULL content
Leonardo Taccari [Sun, 21 Oct 2018 16:21:51 +0000 (18:21 +0200)]
Avoid possible strlen() on NULL content

5 years agoAdd command_spawn_editor() and implement normal_view_source()
Leonardo Taccari [Fri, 19 Oct 2018 11:04:41 +0000 (13:04 +0200)]
Add command_spawn_editor() and implement normal_view_source()

- Add a command_spawn_editor() to asynchronously spawn editor
- Adjust input_editor_formfiller() to use command_spawn_editor()
- Add support to view the source of the current page via the editor (`gf'
  command).

5 years agoAdd links to pages writing about vimb.
Daniel Carl [Fri, 19 Oct 2018 21:42:00 +0000 (23:42 +0200)]
Add links to pages writing about vimb.

5 years agoAdd link to slackware package.
Daniel Carl [Fri, 19 Oct 2018 21:35:52 +0000 (23:35 +0200)]
Add link to slackware package.

5 years agoAlso test completion without filtering.
Daniel Carl [Mon, 15 Oct 2018 21:56:46 +0000 (23:56 +0200)]
Also test completion without filtering.

5 years agoRemove also tests on make clean.
Daniel Carl [Mon, 15 Oct 2018 21:53:02 +0000 (23:53 +0200)]
Remove also tests on make clean.

5 years agoUse --no-install-recommends for travis install.
Daniel Carl [Mon, 15 Oct 2018 21:15:41 +0000 (23:15 +0200)]
Use --no-install-recommends for travis install.

5 years agoFixed wrong return type for util_file_set_content().
Daniel Carl [Mon, 15 Oct 2018 21:05:15 +0000 (23:05 +0200)]
Fixed wrong return type for util_file_set_content().

5 years agoGracefully handle subtleties of util_expand() of `~' and `~user'.
Leonardo Taccari [Mon, 15 Oct 2018 15:31:53 +0000 (17:31 +0200)]
Gracefully handle subtleties of util_expand() of `~' and `~user'.

When `~' is expanded to an home directory without any user, g_get_home_dir()
function is used that on Unix systems first try to honor HOME and fall back to
the passwd file if not set.

On the other hand, `~user' is expanded always by checking the passwd
file.  Adjust test_expand_tilde_user() accordingly.

5 years agoDocument a subtlety of util_parse_expansion() behaviour.
Leonardo Taccari [Mon, 15 Oct 2018 15:29:13 +0000 (17:29 +0200)]
Document a subtlety of util_parse_expansion() behaviour.

Single ~ uses g_get_home_dir() that honor HOME environment variable.
However, ~user always consult the passwd file.

5 years agoUse webkit2-gtk-web-extension-4.0 for EXT{C,LD}FLAGS
Leonardo Taccari [Mon, 15 Oct 2018 10:18:10 +0000 (12:18 +0200)]
Use webkit2-gtk-web-extension-4.0 for EXT{C,LD}FLAGS

webkitgtk provides a webkit2gtk-web-extension-4.0 .pc file for
webkitgtk web extensions, use it for the web extension.

Please note that ATM both `--cflags' and `--libs' webkit2gtk-4.0
and webkit2gtk-web-extension-4.0 returns the same values but if
they will diverge in the future the web extension will then use
the right `.pc'.

5 years agoDocument autocmd support
Leonardo Taccari [Mon, 15 Oct 2018 09:19:54 +0000 (11:19 +0200)]
Document autocmd support

5 years agoDocument marks in the man page, from vimb-2.12
Leonardo Taccari [Mon, 15 Oct 2018 01:29:01 +0000 (03:29 +0200)]
Document marks in the man page, from vimb-2.12

5 years agoAdd support for marks, based on vimb-2.12
Leonardo Taccari [Mon, 15 Oct 2018 01:27:19 +0000 (03:27 +0200)]
Add support for marks, based on vimb-2.12

 - Introduce a scroll_top field in State, similar to scroll_percent but in pixel
 - Adjust the webextension to communicate and update scroll_top
 - Implement normal_map(), mostly based on vimb-2.12

5 years agoAlways use curly braces for if and else.
Daniel Carl [Thu, 11 Oct 2018 22:10:48 +0000 (00:10 +0200)]
Always use curly braces for if and else.