surf: remove config.h
Also expand README to explain how to generate a custom config.h and some hints on using this port as a reference for a private and customized surf port.
This commit is contained in:
parent
52056d73ee
commit
306f06f546
@ -1,2 +1 @@
|
||||
3d465f7f264e9394d0ba2d11e42a7dbb config.h
|
||||
11713901fa83c536f3ddfacfc28c3acc surf-2.0.tar.gz
|
||||
|
@ -1,6 +1,5 @@
|
||||
untrusted comment: verify with /etc/ports/contrib.pub
|
||||
RWSagIOpLGJF3yFLYEbloAcaGrZgC7k+QT2C6ZURjI4Yf6Mawe6V29QcDSYtInnPmeE6KWLjHsZUGGgzqi8TlpBsavobKIKB2Qk=
|
||||
SHA256 (Pkgfile) = 89312a4ce92efb829eee70da98b1265c494a35cf4edaceba684a7b0ad6ae08e8
|
||||
RWSagIOpLGJF3/XGWKp/vD6zH5bz0zSn+oG/TeQWWQoX5Ar/21hmxubSQQfwR4Wt1/VHgoTJnLSO/ITCroCtSDJS5IjcF+DjKgE=
|
||||
SHA256 (Pkgfile) = 70a27010d36403fa6f2532d7be9632b7e0e3b9e90a6dc68657fb805e82db649f
|
||||
SHA256 (.footprint) = e7f7b9f11b503fcae9c62ff318be7047c3dfde1264a7969ed01626fe4869b995
|
||||
SHA256 (surf-2.0.tar.gz) = faee4c7a62c38fc9791eff1ad06787c3c9b2b79f338806827f5152a7bc54951d
|
||||
SHA256 (config.h) = 3a746f6f3a48e42b1779686421cf6b34157292e34e571b67de8d614c3ea1565c
|
||||
|
@ -5,14 +5,15 @@
|
||||
|
||||
name=surf
|
||||
version=2.0
|
||||
release=2
|
||||
source=(http://dl.suckless.org/surf/$name-$version.tar.gz
|
||||
config.h)
|
||||
release=3
|
||||
source=(http://dl.suckless.org/surf/$name-$version.tar.gz)
|
||||
|
||||
build () {
|
||||
cd "$name-$version"
|
||||
|
||||
cp $SRC/config.h .
|
||||
if [ -f $PKGMK_ROOT/config.h ]; then
|
||||
cp $PKGMK_ROOT/config.h .
|
||||
fi
|
||||
|
||||
sed -i 's/CPPFLAGS =/CPPFLAGS +=/g' config.mk
|
||||
sed -i 's/CFLAGS =/CFLAGS +=/g' config.mk
|
||||
|
15
surf/README
15
surf/README
@ -1 +1,14 @@
|
||||
Edit config.h and rebuild the package to configure surf.
|
||||
The configuration of surf is done by creating a custom config.h
|
||||
and (re)compiling the source code. To create a custom config.h,
|
||||
unpack the tarball, copy the file surf-$version/config.def.h to
|
||||
surf's port directory, and edit to suit your preferences. Then,
|
||||
when you call pkgmk in the surf port directory, the custom
|
||||
config.h will be detected and copied into the source before
|
||||
compilation. I recommend that you save a copy your custom config.h
|
||||
some where other than the surf port directory, so that your changes
|
||||
won't get nuked when updating ports or performing a prtsweep or
|
||||
prtwash (see opt/prt-utils for more information about those two).
|
||||
|
||||
Another solution for customizing surf is to create a custom and
|
||||
(preferably) private port that contains your custom config and also
|
||||
might include patches, such as from https://suckless.org/patches/.
|
||||
|
166
surf/config.h
166
surf/config.h
@ -1,166 +0,0 @@
|
||||
/* modifier 0 means no modifier */
|
||||
static int surfuseragent = 1; /* Append Surf version to default WebKit user agent */
|
||||
static char *fulluseragent = ""; /* Or override the whole user agent string */
|
||||
static char *scriptfile = "~/.surf/script.js";
|
||||
static char *styledir = "~/.surf/styles/";
|
||||
static char *cachedir = "~/.surf/cache/";
|
||||
static char *cookiefile = "~/.surf/cookies.txt";
|
||||
|
||||
/* Webkit default features */
|
||||
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(StrictSSL, 0),
|
||||
SETB(Style, 1),
|
||||
SETF(ZoomLevel, 1.0),
|
||||
};
|
||||
|
||||
static UriParameters uriparams[] = {
|
||||
{ "(://|\\.)suckless\\.org(/|$)", {
|
||||
FSETB(JavaScript, 0),
|
||||
FSETB(Plugins, 0),
|
||||
}, },
|
||||
};
|
||||
|
||||
static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE |
|
||||
WEBKIT_FIND_OPTIONS_WRAP_AROUND;
|
||||
|
||||
#define SETPROP(p, q) { \
|
||||
.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 \
|
||||
} \
|
||||
}
|
||||
|
||||
/* 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 \
|
||||
} \
|
||||
}
|
||||
|
||||
/* PLUMB(URI) */
|
||||
/* This called when some URI which does not begin with "about:",
|
||||
* "http://" or "https://" should be opened.
|
||||
*/
|
||||
#define PLUMB(u) {\
|
||||
.v = (const char *[]){ "/bin/sh", "-c", \
|
||||
"xdg-open \"$0\"", u, NULL \
|
||||
} \
|
||||
}
|
||||
|
||||
/* VIDEOPLAY(URI) */
|
||||
#define VIDEOPLAY(u) {\
|
||||
.v = (const char *[]){ "/bin/sh", "-c", \
|
||||
"mpv --really-quiet \"$0\"", u, NULL \
|
||||
} \
|
||||
}
|
||||
|
||||
/* styles */
|
||||
/*
|
||||
* The iteration will stop at the first match, beginning at the beginning of
|
||||
* the list.
|
||||
*/
|
||||
static SiteStyle styles[] = {
|
||||
/* regexp file in $styledir */
|
||||
{ ".*", "default.css" },
|
||||
};
|
||||
|
||||
#define MODKEY GDK_CONTROL_MASK
|
||||
|
||||
/* hotkeys */
|
||||
/*
|
||||
* If you use anything else but MODKEY and GDK_SHIFT_MASK, don't forget to
|
||||
* edit the CLEANMASK() macro.
|
||||
*/
|
||||
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") },
|
||||
|
||||
{ 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_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' } },
|
||||
|
||||
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_j, zoom, { .i = -1 } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_k, zoom, { .i = +1 } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_q, zoom, { .i = 0 } },
|
||||
{ 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_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_SHIFT_MASK, GDK_KEY_a, togglecookiepolicy, { 0 } },
|
||||
{ 0, GDK_KEY_F11, togglefullscreen, { 0 } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_o, toggleinspector, { 0 } },
|
||||
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_c, toggle, { .i = CaretBrowsing } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_f, toggle, { .i = FrameFlattening } },
|
||||
{ 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_m, toggle, { .i = Style } },
|
||||
};
|
||||
|
||||
/* button definitions */
|
||||
/* 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 },
|
||||
{ OnAny, 0, 8, clicknavigate, { .i = -1 }, 1 },
|
||||
{ OnAny, 0, 9, clicknavigate, { .i = +1 }, 1 },
|
||||
{ OnMedia, MODKEY, 1, clickexternplayer, { 0 }, 1 },
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user