summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorYusuf Aktepe2021-05-09 03:41:47 +0300
committerYusuf Aktepe2021-05-09 03:41:47 +0300
commita9cacf28d1904e4b7c13bd8109bdb222412e79b3 (patch)
treec8bab4b556749451640dcbc5458fa0b3724170ed
parent23b5a284eaff8ea7c3718932e2d4c27ba62ac8a7 (diff)
downloadaur-a9cacf28d1904e4b7c13bd8109bdb222412e79b3.tar.gz
Update to 2.1
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD31
-rw-r--r--config.h142
-rw-r--r--surf.install29
4 files changed, 107 insertions, 101 deletions
diff --git a/.SRCINFO b/.SRCINFO
index bbbc745f9f7a..e606540db685 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = surf
pkgdesc = A simple web browser based on WebKit/GTK+.
- pkgver = 2.0+9+g5c52733
+ pkgver = 2.1
pkgrel = 1
url = https://surf.suckless.org/
install = surf.install
@@ -13,10 +13,10 @@ pkgbase = surf
optdepends = ca-certificates: SSL verification
optdepends = xterm: default download handler
optdepends = curl: default download handler
- source = git+git://git.suckless.org/surf#commit=5c527339842fdd06411eaf25547aef0902f96915
+ source = git+git://git.suckless.org/surf#commit=d75c3ded0b1ebb8e2778961c5a928f247798686a
source = config.h
sha256sums = SKIP
- sha256sums = 439b6812d6aff2fe9f69f6e2d0b8fa521bc4466ea072510409617d25778b5fba
+ sha256sums = 02a630a13d800c4baf3dd8eab8712c38de071ee15f8b6820942828cd2b1958a1
pkgname = surf
diff --git a/PKGBUILD b/PKGBUILD
index 723138c6bb47..43bb9029bf4a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@
# Contributor: Raphael Proust <raphlalou at gmail dot com>
pkgname=surf
-pkgver=2.0+9+g5c52733
+pkgver=2.1
pkgrel=1
pkgdesc='A simple web browser based on WebKit/GTK+.'
arch=('x86_64')
@@ -19,32 +19,31 @@ optdepends=('dmenu: URL-bar'
'curl: default download handler')
makedepends=('git')
install='surf.install'
-_commit=5c527339842fdd06411eaf25547aef0902f96915
+_commit=d75c3ded0b1ebb8e2778961c5a928f247798686a
source=("git+git://git.suckless.org/surf#commit=$_commit"
- 'config.h')
+ "config.h")
sha256sums=('SKIP'
- '439b6812d6aff2fe9f69f6e2d0b8fa521bc4466ea072510409617d25778b5fba')
+ '02a630a13d800c4baf3dd8eab8712c38de071ee15f8b6820942828cd2b1958a1')
pkgver() {
- cd "${srcdir}/${pkgname}"
+ cd $pkgname
git describe --tags | sed 's/-/+/g'
}
-build() {
- cd "${srcdir}/${pkgname}"
-
- cp "${srcdir}/config.h" config.h
-
- sed -i 's/CPPFLAGS =/CPPFLAGS +=/g' config.mk
- sed -i 's/CFLAGS =/CFLAGS +=/g' config.mk
- sed -i 's/LDFLAGS =/LDFLAGS +=/g' config.mk
+prepare() {
+ cd $pkgname
+ cp "$srcdir/config.h" config.h
+}
+build() {
+ cd $pkgname
make
}
package() {
- cd "${srcdir}/${pkgname}"
+ cd $pkgname
- make PREFIX=/usr DESTDIR="${pkgdir}" install
- install -Dm0644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ make PREFIX=/usr DESTDIR=$pkgdir install
+ install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
+
diff --git a/config.h b/config.h
index dce76f8f44ef..ef447213e85a 100644
--- a/config.h
+++ b/config.h
@@ -3,42 +3,55 @@ static int surfuseragent = 1; /* Append Surf version to default WebKit user
static char *fulluseragent = ""; /* Or override the whole user agent string */
static char *scriptfile = "~/.surf/script.js";
static char *styledir = "~/.surf/styles/";
+static char *certdir = "~/.surf/certificates/";
static char *cachedir = "~/.surf/cache/";
static char *cookiefile = "~/.surf/cookies.txt";
/* Webkit default features */
+/* Highest priority value will be used.
+ * Default parameters are priority 0
+ * Per-uri parameters are priority 1
+ * Command parameters are priority 2
+ */
static Parameter defconfig[ParameterLast] = {
- SETB(AcceleratedCanvas, 1),
- SETB(CaretBrowsing, 0),
- SETV(CookiePolicies, "@Aa"),
- SETB(DiskCache, 1),
- SETB(DNSPrefetch, 0),
- SETI(FontSize, 12),
- SETB(FrameFlattening, 0),
- SETB(Geolocation, 0),
- SETB(HideBackground, 0),
- SETB(Inspector, 0),
- SETB(JavaScript, 1),
- SETB(KioskMode, 0),
- SETB(LoadImages, 1),
- SETB(MediaManualPlay, 0),
- SETB(Plugins, 1),
- SETV(PreferredLanguages, ((char *[]){ NULL })),
- SETB(RunInFullscreen, 0),
- SETB(ScrollBars, 1),
- SETB(ShowIndicators, 1),
- SETB(SiteQuirks, 1),
- SETB(SpellChecking, 0),
- SETV(SpellLanguages, ((char *[]){ "en_US", NULL })),
- SETB(StrictTLS, 1),
- SETB(Style, 1),
- SETF(ZoomLevel, 1.0),
+ /* parameter Arg value priority */
+ [AccessMicrophone] = { { .i = 0 }, },
+ [AccessWebcam] = { { .i = 0 }, },
+ [Certificate] = { { .i = 0 }, },
+ [CaretBrowsing] = { { .i = 0 }, },
+ [CookiePolicies] = { { .v = "@Aa" }, },
+ [DefaultCharset] = { { .v = "UTF-8" }, },
+ [DiskCache] = { { .i = 1 }, },
+ [DNSPrefetch] = { { .i = 0 }, },
+ [Ephemeral] = { { .i = 0 }, },
+ [FileURLsCrossAccess] = { { .i = 0 }, },
+ [FontSize] = { { .i = 12 }, },
+ [FrameFlattening] = { { .i = 0 }, },
+ [Geolocation] = { { .i = 0 }, },
+ [HideBackground] = { { .i = 0 }, },
+ [Inspector] = { { .i = 0 }, },
+ [Java] = { { .i = 1 }, },
+ [JavaScript] = { { .i = 1 }, },
+ [KioskMode] = { { .i = 0 }, },
+ [LoadImages] = { { .i = 1 }, },
+ [MediaManualPlay] = { { .i = 1 }, },
+ [PreferredLanguages] = { { .v = (char *[]){ NULL } }, },
+ [RunInFullscreen] = { { .i = 0 }, },
+ [ScrollBars] = { { .i = 1 }, },
+ [ShowIndicators] = { { .i = 1 }, },
+ [SiteQuirks] = { { .i = 1 }, },
+ [SmoothScrolling] = { { .i = 0 }, },
+ [SpellChecking] = { { .i = 0 }, },
+ [SpellLanguages] = { { .v = ((char *[]){ "en_US", NULL }) }, },
+ [StrictTLS] = { { .i = 1 }, },
+ [Style] = { { .i = 1 }, },
+ [WebGL] = { { .i = 0 }, },
+ [ZoomLevel] = { { .f = 1.0 }, },
};
static UriParameters uriparams[] = {
{ "(://|\\.)suckless\\.org(/|$)", {
- FSETB(JavaScript, 0),
- FSETB(Plugins, 0),
+ [JavaScript] = { { .i = 0 }, 1 },
}, },
};
@@ -48,23 +61,25 @@ static int winsize[] = { 800, 600 };
static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE |
WEBKIT_FIND_OPTIONS_WRAP_AROUND;
-#define SETPROP(p, q) { \
+#define PROMPT_GO "Go:"
+#define PROMPT_FIND "Find:"
+
+/* SETPROP(readprop, setprop, prompt)*/
+#define SETPROP(r, s, p) { \
.v = (const char *[]){ "/bin/sh", "-c", \
- "prop=\"`xprop -id $2 $0 " \
- "| sed \"s/^$0(STRING) = \\(\\\\\"\\?\\)\\(.*\\)\\1$/\\2/\" " \
- "| xargs -0 printf %b | dmenu`\" &&" \
- "xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
- p, q, winid, NULL \
+ "prop=\"$(printf '%b' \"$(xprop -id $1 $2 " \
+ "| sed \"s/^$2(STRING) = //;s/^\\\"\\(.*\\)\\\"$/\\1/\")\" " \
+ "| dmenu -p \"$4\" -w $1)\" && xprop -id $1 -f $3 8s -set $3 \"$prop\"", \
+ "surf-setprop", winid, r, s, p, NULL \
} \
}
/* DOWNLOAD(URI, referer) */
-#define DOWNLOAD(d, r) { \
- .v = (const char *[]){ "/bin/sh", "-c", \
- "st -e /bin/sh -c \"curl -g -L -J -O --user-agent '$1'" \
- " --referer '$2' -b $3 -c $3 '$0';" \
- " sleep 5;\"", \
- d, useragent, r, cookiefile, NULL \
+#define DOWNLOAD(u, r) { \
+ .v = (const char *[]){ "st", "-e", "/bin/sh", "-c",\
+ "curl -g -L -J -O -A \"$1\" -b \"$2\" -c \"$2\"" \
+ " -e \"$3\" \"$4\"; read", \
+ "surf-download", useragent, cookiefile, r, u, NULL \
} \
}
@@ -90,11 +105,20 @@ static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE |
* The iteration will stop at the first match, beginning at the beginning of
* the list.
*/
-static SiteStyle styles[] = {
+static SiteSpecific styles[] = {
/* regexp file in $styledir */
{ ".*", "default.css" },
};
+/* certificates */
+/*
+ * Provide custom certificate for urls
+ */
+static SiteSpecific certs[] = {
+ /* regexp file in $certdir */
+ { "://suckless\\.org/", "suckless.org.crt" },
+};
+
#define MODKEY GDK_CONTROL_MASK
/* hotkeys */
@@ -104,28 +128,26 @@ static SiteStyle styles[] = {
*/
static Key keys[] = {
/* modifier keyval function arg */
- { MODKEY, GDK_KEY_g, spawn, SETPROP("_SURF_URI", "_SURF_GO") },
- { MODKEY, GDK_KEY_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
- { MODKEY, GDK_KEY_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
+ { MODKEY, GDK_KEY_g, spawn, SETPROP("_SURF_URI", "_SURF_GO", PROMPT_GO) },
+ { MODKEY, GDK_KEY_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND", PROMPT_FIND) },
+ { MODKEY, GDK_KEY_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND", PROMPT_FIND) },
{ 0, GDK_KEY_Escape, stop, { 0 } },
{ MODKEY, GDK_KEY_c, stop, { 0 } },
- { MODKEY|GDK_SHIFT_MASK, GDK_KEY_r, reload, { .b = 1 } },
- { MODKEY, GDK_KEY_r, reload, { .b = 0 } },
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_r, reload, { .i = 1 } },
+ { MODKEY, GDK_KEY_r, reload, { .i = 0 } },
{ MODKEY, GDK_KEY_l, navigate, { .i = +1 } },
{ MODKEY, GDK_KEY_h, navigate, { .i = -1 } },
- /* Currently we have to use scrolling steps that WebKit2GTK+ gives us
- * d: step down, u: step up, r: step right, l:step left
- * D: page down, U: page up */
- { MODKEY, GDK_KEY_j, scroll, { .i = 'd' } },
- { MODKEY, GDK_KEY_k, scroll, { .i = 'u' } },
- { MODKEY, GDK_KEY_b, scroll, { .i = 'U' } },
- { MODKEY, GDK_KEY_space, scroll, { .i = 'D' } },
- { MODKEY, GDK_KEY_i, scroll, { .i = 'r' } },
- { MODKEY, GDK_KEY_u, scroll, { .i = 'l' } },
+ /* vertical and horizontal scrolling, in viewport percentage */
+ { MODKEY, GDK_KEY_j, scrollv, { .i = +10 } },
+ { MODKEY, GDK_KEY_k, scrollv, { .i = -10 } },
+ { MODKEY, GDK_KEY_space, scrollv, { .i = +50 } },
+ { MODKEY, GDK_KEY_b, scrollv, { .i = -50 } },
+ { MODKEY, GDK_KEY_i, scrollh, { .i = +10 } },
+ { MODKEY, GDK_KEY_u, scrollh, { .i = -10 } },
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_j, zoom, { .i = -1 } },
@@ -134,13 +156,14 @@ static Key keys[] = {
{ MODKEY, GDK_KEY_minus, zoom, { .i = -1 } },
{ MODKEY, GDK_KEY_plus, zoom, { .i = +1 } },
- { MODKEY, GDK_KEY_p, clipboard, { .b = 1 } },
- { MODKEY, GDK_KEY_y, clipboard, { .b = 0 } },
+ { MODKEY, GDK_KEY_p, clipboard, { .i = 1 } },
+ { MODKEY, GDK_KEY_y, clipboard, { .i = 0 } },
{ MODKEY, GDK_KEY_n, find, { .i = +1 } },
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_n, find, { .i = -1 } },
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_p, print, { 0 } },
+ { MODKEY, GDK_KEY_t, showcert, { 0 } },
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_a, togglecookiepolicy, { 0 } },
{ 0, GDK_KEY_F11, togglefullscreen, { 0 } },
@@ -151,7 +174,6 @@ static Key keys[] = {
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_g, toggle, { .i = Geolocation } },
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_s, toggle, { .i = JavaScript } },
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_i, toggle, { .i = LoadImages } },
- { MODKEY|GDK_SHIFT_MASK, GDK_KEY_v, toggle, { .i = Plugins } },
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_b, toggle, { .i = ScrollBars } },
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_t, toggle, { .i = StrictTLS } },
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_m, toggle, { .i = Style } },
@@ -161,9 +183,9 @@ static Key keys[] = {
/* target can be OnDoc, OnLink, OnImg, OnMedia, OnEdit, OnBar, OnSel, OnAny */
static Button buttons[] = {
/* target event mask button function argument stop event */
- { OnLink, 0, 2, clicknewwindow, { .b = 0 }, 1 },
- { OnLink, MODKEY, 2, clicknewwindow, { .b = 1 }, 1 },
- { OnLink, MODKEY, 1, clicknewwindow, { .b = 1 }, 1 },
+ { OnLink, 0, 2, clicknewwindow, { .i = 0 }, 1 },
+ { OnLink, MODKEY, 2, clicknewwindow, { .i = 1 }, 1 },
+ { OnLink, MODKEY, 1, clicknewwindow, { .i = 1 }, 1 },
{ OnAny, 0, 8, clicknavigate, { .i = -1 }, 1 },
{ OnAny, 0, 9, clicknavigate, { .i = +1 }, 1 },
{ OnMedia, MODKEY, 1, clickexternplayer, { 0 }, 1 },
diff --git a/surf.install b/surf.install
index 8511ab9074b7..8aaf9f94ef13 100644
--- a/surf.install
+++ b/surf.install
@@ -1,28 +1,13 @@
-pre_install() {
- echo "-- Edit config.h in PKGBUILD's directory (generally /var/abs/community/surf/)"
- echo "-- and rebuild package if you want to change settings."
- /bin/true
-}
-
post_install() {
- /bin/true
-}
-
-pre_upgrade() {
- echo "-- Edit config.h in PKGBUILD's directory (generally /var/abs/community/surf/)"
- echo "-- and rebuild package if you want to change settings."
- /bin/true
+ while read; do
+ printf '%s\n' "$REPLY"
+ done <<-EOF
+ ==> Edit config.h in PKGBUILD's directory
+ ==> and rebuild the package if you want to change settings.
+ EOF
}
post_upgrade() {
- /bin/true
-}
-
-pre_remove() {
- /bin/true
-}
-
-post_remove() {
- /bin/true
+ post_install
}