155 Commits

Author SHA1 Message Date
Christoph Lohmann 3393ded725 Bumping up to 0.7 for release. 2015-12-19 15:59:30 +01:00
Christoph Lohmann cd7f831776 Remove unncessary includes. 2015-12-17 23:38:51 +01:00
Ivan Tham 86efaf8093 proxy-uri -> proxy-resolver for no_proxy; add #inc
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-12-17 23:36:56 +01:00
Ivan Tham 9fa4ffef72 Fix title handling
1. file:/// stay the same when you navigate
    2. Fix "http://~" to "file://~" in home dir
    3. Expands "file://~" to "file://home/user"

Thanks to quinq for fixing the issue #1 in commit 934705c in surf2.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-12-12 11:54:28 +01:00
Michael Stevens 002e82d188 Fix spelling of otherwise in surf.1
Add more spelling to surf.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-12-08 18:26:30 +01:00
Alexander Huemer bae5a785b3 remove duplicate header inclusion of string.h
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-11-22 12:34:54 +01:00
Ivan Tham b7a359a84f Fix cookies wording
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-11-18 08:58:18 +01:00
Quentin Rameau 9b1e1873b0 buildfile: don't forget to free temporary string bpath
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-11-04 16:47:04 +01:00
Quentin Rameau 5333171961 Be more specific about what enablestyles parameter does.
The enablestyles configuration variable and parameter flag manages the
global application of styles, not just the site-specific styles.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-11-03 19:45:50 +01:00
Quentin Rameau 2223e9ed22 Fix inspector handling when inspector is disabled.
Do not try to show the inspector window when the inspector is disabled.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-11-03 19:45:04 +01:00
Quentin Rameau 1ebb5c624e Fix usage(), -m and -M for styles were absent.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-11-03 19:44:20 +01:00
Quentin Rameau 9a2547230a Fix fullscreen handling
Handle the fullscreen in a more consistent way with other options:
-f disables fullscreen while -F enables fullscreen.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-11-03 19:44:05 +01:00
Quentin Rameau 0290066b31 Add setstyle()
Regroup style uri setting application calls under one function.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-10-31 17:50:06 +01:00
Quentin Rameau d84fe71094 Fix style files handling: stop leaking strings.
Everytime getstyle() was being called, we returned newly allocated
strings without ever freing them.
Now uri stylefiles only get allocated once at setup().

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-10-31 17:50:03 +01:00
Christoph Lohmann d486169fa4 Style changes in config.def.h. 2015-10-31 17:49:36 +01:00
Quentin Rameau c65c8d422b Continue style fixing: function declarations, code alignement
Here are the changes we discussed on the mailing-list.
Alignement is pushed to the first parameter of the function, which seems
to be what people agrees on.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-10-20 17:52:54 +02:00
Markus Teich 9f5c6ff8d7 style fixes: space after keywords, () with sizeof
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-10-18 23:01:56 +02:00
Markus Teich c2bb8d0325 whitespace fixes
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-10-18 23:01:52 +02:00
Markus Teich 6a65dcb394 fix style path generation
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-10-18 16:34:11 +02:00
Christoph Lohmann c81fbbaf43 Style cleanup. 2015-10-13 21:48:38 +02:00
Quentin Rameau 8a898ec4df Fix the way system files are handled at surf startup.
1. Do not chmod existing directories.
2. Fix the handling of tilde expansion in paths, don't expand ~foo to
   $HOME/foo but to foo's home directory.
3. Separate the creation of files and directories. We don't have to
   worry anymore about pathnames having to end with a '/' to be correctly
   handled.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-10-13 21:45:14 +02:00
Quentin Rameau 1554354f16 Fix atom value parsing in SETPROP
xprop(1) encloses the returned atom string value in double quotes while
it doesn't when the value is unset. Original simple parsing would fail
and parse the atom name instead of getting an empty value.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-10-13 14:28:09 +02:00
Christoph Lohmann 3c2acda0b7 Remove the pax intermediary.
Compile webkit without jit and you don't need to disable mprotect.
2015-09-08 20:28:11 +02:00
Christoph Lohmann 8e88984a40 Fixing the paxctl check.
Thanks quinq for the tip.
2015-08-19 06:28:31 +02:00
Christoph Lohmann 294142a806 Add PaX support.
Mprotect needs to be turned off for Webkit.
2015-08-18 18:21:34 +02:00
GhostAV 957a6f0812 Torified surf is unstable
On Tue, Aug 18, 2015 at 12:38:40PM +0200, Gabriel Pérez-Cerezo wrote:
> It really seems  to be a problem with torsocks.  I have already solved
> this problem with a patch GhostAV just  sent me on this list that adds
> SOCKS support to surf. It works fine now.

As i failed to send the patch to the list, i resend it now:
-- >8 --
From: Jonas Rabenstein <jonas.rabenstein@studium.uni-erlangen.de>
Subject: [PATCH] allow sock proxies

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-08-18 17:43:18 +02:00
Quentin Rameau 9b6998e7ae Fix type of strictssl property.
Thanks to Mark Edgar <medgar123@gmail.com> for having spotted this.
2015-07-13 13:31:22 +02:00
Christoph Lohmann b4ca032b8c Removing the debug print from the last commit. 2015-02-10 19:06:56 +01:00
Markus Teich 29c2ab207a allow buttonrelease customization in config.h
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-02-10 19:05:39 +01:00
Greg Reagle f7e358280c surf: see hover URL without changing title
On Tue, Jan 27, 2015, at 11:52 AM, Christoph Lohmann wrote:
> Then hook to the window leaving event in GTK or X11 and set the title to
> your needs. I will welcome a patch.

Patch is attached.  I am a total novice in GTK programming, so I don't
know what type the callback function is supposed to be (hence the void
pointers) or whether I registered it properly.  But it does work well
for me.

--
http://www.fastmail.com - Access your email from home and the web

From a33f06da092bf920b6a286ea7688b32944d79a50 Mon Sep 17 00:00:00 2001
From: Greg Reagle <greg.reagle@umbc.edu>
Date: Tue, 27 Jan 2015 13:22:15 -0500
Subject: [PATCH] ensure that window title is web page title (not hover link)
 when leaving window

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-02-03 17:25:26 +01:00
Christoph Lohmann b3a4392923 Some cleanup in style. 2015-02-03 17:17:04 +01:00
Christoph Lohmann b1c5e594d1 Describe the web page indicators too. 2015-01-26 21:47:18 +01:00
Christoph Lohmann e573e094d6 It wasn't really clear what was meant with site indicators in the manpage. 2015-01-26 21:44:54 +01:00
Greg Reagle ee6376ea1e surf: documented indicators in man page
Patch attached.

--
http://www.fastmail.com - The professional email service

From 4a64624fee94c16c093d2b192389bad9bd6675d8 Mon Sep 17 00:00:00 2001
From: Greg Reagle <greg.reagle@umbc.edu>
Date: Mon, 26 Jan 2015 14:29:05 -0500
Subject: [PATCH] Documented indicators

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-01-26 21:44:09 +01:00
Markus Teich 90de5cdd15 fix stylesheet interna.
* no more segfault when running `surf -m`
* allow to enable custom styles after `surf -m` with mod+shift+m
* use enablestyles instead of the webkit-setting, which clears things up a bit

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-01-20 17:45:04 +01:00
Christoph Lohmann 344efec3fb Only plumb some URI, when it's ASCII. 2015-01-20 17:38:22 +01:00
Christoph Lohmann d4e31d9472 Oh my blob!
Adding blob: to the URIS handled by the browser.
2015-01-20 01:59:53 +01:00
Christoph Lohmann 68813b3a46 Data: is part of the browser too. 2015-01-19 22:51:29 +01:00
Christoph Lohmann 87224dcdfa file:// should be handled in surf too. 2015-01-19 22:43:42 +01:00
Christoph Lohmann d511226ea6 Remove the debugging from the testing. 2015-01-19 22:31:31 +01:00
Christoph Lohmann b36921fbe8 Add some description for the plumb feature. 2015-01-19 22:16:07 +01:00
Christoph Lohmann 9c3b5ad353 Add plumbing functionality. 2015-01-19 22:15:18 +01:00
Christoph Lohmann 7c34d5061e Add a comment about how the styles are iterated.
Thanks quing for noticing.
2015-01-18 14:41:20 +01:00
Christoph Lohmann 9333d5d727 My CMD was too short. :O
Thanks Carlos Torres for mentioning this.
2015-01-18 11:44:39 +01:00
Christoph Lohmann e7d1c09916 Add the manpage changes for the disk cache support. 2015-01-17 20:52:16 +01:00
Christoph Lohmann 117d484833 Adding disk cache support for soup.
This is a merge of the patch of Ben Woolley <tautolog@gmail.com>
2015-01-17 20:50:21 +01:00
Ben Woolley 24ec46fc24 Fix extra newline, and add -g where other switches are forwarded.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-01-17 07:23:48 +01:00
Christoph Lohmann a5b85836ac Newer libc want _DEFAULT_SOURCE. 2015-01-17 07:21:15 +01:00
Christoph Lohmann c2da2bae5d Major styles update.
In config.h there is now some styles array to apply site-specific styles.
This can be toggled using the -mM flags. If a stylefile is manually specified,
then this will overwrite everything.
2015-01-17 07:19:48 +01:00
Jakukyo Friel c467e5a3b3 Fix a typo in surf manual.
`Ctrl-/` displays incorrectly in `man surf` on my machine.

A patch is attached.

(You also access it here:
https://github.com/weakish/surf/commit/07e97eccedd96eabf14b2fbf77de75ec1b594d97)

----

 surf.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-01-02 14:18:23 +01:00
Christoph Lohmann 3e89b4451c Minor style change. 2014-09-28 08:03:42 +02:00
Christoph Lohmann dd705d43eb Make »Copy image address« work.
Thanks yui@blekksprut.net for the patch!
2014-09-28 08:02:48 +02:00
Christoph Lohmann 531f71f851 Mention xdotool in SEE ALSO too. 2014-08-07 17:35:27 +02:00
Christoph Lohmann d5b04aac60 Fix the manpage about xid.
Something was missing from this one sentence. Now it is complete.
2014-08-07 17:34:43 +02:00
Christoph Lohmann bb287fa2e8 Add a FAQ to surf. 2014-08-04 17:54:00 +02:00
Christoph Lohmann 285cc3843f Add information about the dmenu requirement.
Thanks <surfsup@inbox.lv>!
2014-05-17 19:24:25 +02:00
Markus Teich ea9d60c5c0 fix some indentation in config.def.h
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2014-02-28 18:16:22 +01:00
Christoph Lohmann f8f0c30f3e Enable resizable text areas. 2014-02-16 17:17:15 +01:00
Quentin Rameau a8267f7b95 deprecating signal “populate-popup” for “context-menu”
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2014-02-08 20:05:38 +01:00
Quentin Rameau 618c3dfd52 Prevent title from being empty when following an anchor
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2014-02-08 14:03:22 +01:00
Quentin Rameau 3cc5f87db8 deprecating signal “title-changed” for “notify::title”
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2014-02-06 19:14:36 +01:00
Christoph Lohmann 637902b452 The check for NULL is not necessary before free. 2014-02-06 16:49:26 +01:00
Christoph Lohmann 127dc366ef Removing a memory leak when u wasn't freed. 2014-02-06 06:47:22 +01:00
Christoph Lohmann 361da0b3c4 Making the empty title possible. 2014-02-05 21:14:16 +01:00
Quentin Rameau b7435badc2 Draw flags on window creation
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2014-02-05 20:17:35 +01:00
Quentin Rameau 4b623bd28a Keep cookie policies for new windows
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2014-02-05 20:17:26 +01:00
Christoph Lohmann 7ad886fb0b Change the accept no third party in the doc to the right meaning. 2014-01-30 20:57:24 +01:00
Christoph Lohmann fa9b187393 Add the commandline flag for the cookie policies too. 2014-01-30 20:47:03 +01:00
Christoph Lohmann 780cca964c Add a way to define the cookie policy.
This adds the -a flag to define a string of the toggle string for the cookie
policy modes. There is now a new »cookiepolicies« string in config.h and the
Mod+Shift+a now can toggle the policy but will not cause a reload, because
this would only add a burden when toggling through accept and not accept.

Thanks Quentin Rameau <quinq.ml@gmail.com> for the suggestions!
2014-01-30 20:36:06 +01:00
Christoph Lohmann e4869357f1 Replacing the deprecated ssl-ca-file with tls-database.
Thanks Steve Dee <mrdomino@gmail.com>!
2014-01-30 19:39:32 +01:00
Christoph Lohmann a78aec6630 Fix the ssl trusted check.
Thank you Steve Dee <mrdomino@gmail.com>!
2014-01-30 19:35:54 +01:00
Christoph Lohmann 9eedabe348 Make surf set the URI atom right on manual URI entering. 2014-01-13 17:58:45 +01:00
Christoph Lohmann 432f45a852 Add zoom level support. 2013-10-19 18:55:53 +02:00
David Dufberg 7e9a37f25f c->uri is unused
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-10-10 18:49:26 +02:00
Christoph Lohmann 83df29393f Make it possible to open a link in a new window with holding the mod key.
Thanks David Dufberg Tøttrup <david@dufberg.se>!
2013-09-07 11:55:23 +02:00
Christoph Lohmann f3d97922e9 Add a flag to disable fullscreen.
This also updates the usage of surf to represent the current status.
Thanks Alexander Sedov for the suggestion, but you forgot the manpage
entry so I did this patch.
2013-08-31 20:00:41 +02:00
Christoph Lohmann 237e10058a Add fullscreen mode as flag and config option. 2013-08-25 19:50:40 +02:00
Christoph Lohmann 058f7f45e2 Just some comment correction. 2013-08-09 01:36:51 +02:00
Anselm R Garbe 7001df98d1 applied Nick's 96dpi patch, thanks 2013-07-20 08:52:10 +02:00
Christoph Lohmann 2e978627dd Setting the cookie file on new instances. 2013-07-12 06:52:37 +02:00
Christoph Lohmann 0b44a5948e Updating the TODO file. 2013-06-21 07:02:45 +02:00
Christoph Lohmann c234737bea Adding a common way to enable and disable features. 2013-05-21 21:30:00 +02:00
Christoph Lohmann 4f45ae9307 There's only one escape. 2013-05-14 20:57:35 +02:00
Christoph Lohmann ffaf10bd8f Correcting the backslash in the surf manpage. 2013-05-11 22:01:02 +02:00
Christoph Lohmann 067c313e6c Allowing geo location policy decisions. 2013-04-28 21:26:56 +02:00
Alexander Sedov d0309a1a22 Disabling WebKit deletion interface feature by default.
Webkit has an amazing "feature" that shows black outline with cross
around some randomly chosen text fields. Its only fucntion is to
clear field. It's ugly and gets in the way when trying to actually
ready what you've written, so here's a patch to disable it.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-04-17 19:26:12 +02:00
Christoph Lohmann 083ea8ecde Add an option to disable the indicators. 2013-04-14 14:26:44 +02:00
Nick White a383964c95 Ensure curl follows redirects for downloads
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-03-31 11:57:34 +02:00
Alexander Sedov e0e4a844f7 A typo in SETPROP macro: should be `printf %b'', not `printf''.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-03-30 06:49:57 +01:00
Alexander Sedov f6dc8b2541 Fixed SETPROP() macro behaviour in config.def.h to handle escapes correctly.
xprop prints information in format PROPERTY(STRING) = "escaped string",
which causes problem with repeated Ctrl-F: any non-ascii turns into
\ooo\ooo, this later turns into \\ooo\\ooo, and so on. To de-escape
string, printf(1) is used, getting information from xargs -0; without -0
xargs will try to handle escapes by itself and also do shenanigans
with quotes, which is totally undesired.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-03-21 18:10:35 +01:00
Christoph Lohmann 12101938d8 There are people not reading the existing code.
I fucking hate to have to correct all of this. People learn to read!
2013-03-15 18:37:12 +01:00
Alexander Sedov bccfe2a9a5 Fixed keys handling for multilayout environments.
There is a bug in GTK+ that does not allow capturing shortcuts using
letter keys on layouts other than "us". The bug is there for ages and
there is probably no hope that it will get fixed. This patch switches
shortcut handling method to GtkAccelGroup, which handles this case
correctly. Enjoy!

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-03-15 18:34:31 +01:00
Christoph Lohmann dcb4f81ad2 Removing the .hgtags file. 2013-03-15 14:13:20 +01:00
Christoph Lohmann a69c41ccac Support relative paths for surf.
Thanks Kurt Van Dijck <kurt.van.dijck@eia.be>!
2013-03-14 19:14:44 +01:00
Christoph Lohmann d02f73d990 Adding a default font size option.
Thanks Alexander Sedov <alex0player@gmail.com>!
2013-03-14 06:35:42 +01:00
Alexander Sedov a5dddd8fd3 Fix output redirection in surf-open.sh
Incorrect order of output rediection specifiers was causing useless
text appearing in terminal when starting surf-open (for example,
BadWindow error from xprop when tabbed window is already closed).
It isn't now.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-03-14 06:33:02 +01:00
Christoph Lohmann c6fbbd9dc6 Fixing kiosk mode when a new surf instance is run. 2013-03-11 22:08:14 +01:00
Christoph Lohmann badb84387e Adding kiosk mode.
Thanks to Christian Hesse <mail@eworm.de>!
2013-03-11 21:26:22 +01:00
Carlos J. Torres fe3bd631d4 disable/toggle scrollbars
* add flag to main
	* add flag to manual
	* add signal handler to block default scrollbar policy
	* add toggle of scrollbars (hacky - but no reload) with a twitch
	* add key map to manual
	* add commandline flag to children surfers
	* update TODO
	* sort stuff alphabetically for the style inquisition

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-02-25 13:42:19 +01:00
Christoph Lohmann 69004b2ff6 Style inquisition. 2013-02-17 00:37:43 +01:00
Christoph Lohmann bd5bbb7fc3 Add a toggle command for the stylefile.
The patch adds some better formatting for the manpage too.

Thanks to Nick <suckless-dev@njw.me.uk> for the toggle patch!
2013-02-16 16:18:05 +01:00
Christoph Lohmann 3e972f8e2a The Item struct is not used. 2013-02-15 17:43:42 +01:00
Jens Nyberg 053a8f1a73 Fixed a bug in pagestat
Forgot to add a null character at the end.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-02-15 17:42:06 +01:00
Carlos J. Torres ba634ea8e3 fix DOWNLOAD macro to use cookiefile variable
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-02-13 06:49:17 +01:00
Jens Nyberg 24f0f83197 Changed character for non-encrypted page
-/T/U: No SSL, Trusted SSL, Untrusted SSL

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-02-12 21:32:07 +01:00
Jens Nyberg 3c1ed5d56a Removed progress indicator
This removes the progress indicator and replaces it with
letters in the window title.

T/U: Trusted, Untrusted
P/-: Proxy, No proxy

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-02-12 21:10:43 +01:00
Shayan Pooya 27dac4a157 Remove the redundant ctrl-l and ctrl-h description from the man page.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-02-11 20:20:07 +01:00
Christoph Lohmann 606c6e3297 Making dist work again. 2013-02-10 19:40:14 +01:00
Christoph Lohmann 076d9f2350 Bumping up to 0.6. 2013-02-10 19:33:54 +01:00
Christoph Lohmann 43840c8528 The javascriptcore is now in webkit. 2013-02-09 04:33:58 +01:00
Christoph Lohmann d6a3e28be2 Fixing cookie handling for https/http by using curl. 2013-02-02 15:42:09 +01:00
Christoph Lohmann 77036565da Removing the deprecated g_thread_init call. 2013-02-02 09:40:34 +01:00
Christoph Lohmann 8c15f0e758 Fixing the style and making the inspector work again. 2013-01-26 21:01:23 +01:00
Christoph Lohmann 0415175e10 Making more than one Modkey to work in keys. 2013-01-26 16:00:52 +01:00
Christoph Lohmann e784d925df Adding web inspector support to surf.
Thanks Gregor Best <gbe@ring0.de>!
2013-01-26 15:53:33 +01:00
Christoph Lohmann 13b04d8b61 Style inquisition plus blocking of the */favicon.ico request. Thanks Peter A.
Shevtsov!
2012-12-06 13:32:52 +01:00
Christoph Lohmann a013f0857e Changing the default DOWNLOAD to use st. 2012-12-04 21:48:42 +01:00
Christoph Lohmann 6ddc8a80fd Add a nice todo item for videos. Thanks morphles. 2012-12-04 07:47:54 +01:00
Christoph Lohmann 3dd006f1c1 Adding a man section about how to handle plugins. 2012-12-04 07:26:12 +01:00
Christoph Lohmann 96e3ae41dd Adding the fullscreen mode to the manpage. 2012-12-03 21:27:39 +01:00
Christoph Lohmann 0dfdb75804 Implementing fullscreen mode. Thanks Krol, Willem van de! 2012-12-03 21:19:16 +01:00
Christoph Lohmann 1f30ddf224 Adding me to the LICENSE file. 2012-12-03 11:25:31 +01:00
Christoph Lohmann 760f8f36de Resolving some conflicts in the shortcuts. 2012-12-02 22:48:41 +01:00
Christoph Lohmann e96f191088 Making zoom available when used in tabbed. 2012-12-02 22:41:18 +01:00
Christoph Lohmann 6cd54e4a31 Surf now can handle absolute file paths. This allows better local HTML
reading.
2012-11-25 22:31:46 +01:00
Christoph Lohmann ad794e0f00 The control of the toggles is now Ctrl-Shift-$character. That's easier for new
users.
2012-11-20 16:14:28 +01:00
Christoph Lohmann 5501d75d2c Fix some styling in the config.def.h, fix the DOWNLOAD macro and unify the
variable naming a bit.
2012-11-20 16:02:57 +01:00
Christoph Lohmann a7ea753f93 Add a referer argument to the DOWNLOAD macro. Some sites need this. Thanks
Hiltjo Posthuma!
2012-11-20 11:53:29 +01:00
Christoph Lohmann a4e1d552ca Useragent strings do not count anymore. This is adding some text so every
website (especially Google) is fooled to believe us to be compatible. The
right way seems to be to add Surf at the end and let the big guys handle their
useragent header war.
2012-11-16 22:31:36 +01:00
Christoph Lohmann e7b36f693f Adding a surf-open.sh script for easier tabbed(1) integration. 2012-11-16 16:12:09 +01:00
Christoph Lohmann d6bbef74fe Moving some preprocessor config options to the standard suckless style. 2012-11-16 10:53:30 +01:00
Christoph Lohmann ba452c2e13 Adding back the Escape to stop loading the current page. Thanks Daniel Bainton
for the notice!
2012-11-16 10:42:30 +01:00
Christoph Lohmann f02e652fa0 Some minor style updates. 2012-11-16 10:31:42 +01:00
Christoph Lohmann 6d9d3ca4e1 Removing the insert mode. It will only confuse users. The stop() function is
kept like the eval() function because it could be used in config.h
2012-11-16 10:13:23 +01:00
Christoph Lohmann c12b6499fe Enable the insert mode. Thanks to stanio@cs.tu-berlin.de! 2012-11-15 15:26:48 +01:00
Christoph Lohmann d911219554 Applying the surf style to the last patch. 2012-11-15 14:53:27 +01:00
Christoph Lohmann a283fa4bc9 Importing the generic toggle patch of stanio@cs.tu-berlin.de. Thanks! 2012-11-15 14:52:22 +01:00
Christoph Lohmann 244dfd3231 Fixing the bug of surf loading undefined data in arg. 2012-11-08 22:05:40 +01:00
Christoph Lohmann d44bfb2c31 Fixing the manpage about the useragent option. 2012-10-31 21:25:42 +01:00
Christoph Lohmann 1bfda445ac Adding a useragent parameter to surf. 2012-10-31 21:25:14 +01:00
Christoph Lohmann 6aaaeb7267 Changing the config.def.h to fit the new buildpath() behaviour. 2012-10-31 21:16:12 +01:00
Christoph Lohmann 4ce3808684 Add options for scriptfile, cookiefile and stylefile. And changing the default
behaviour of buildpath to be more like in open().
2012-10-31 21:13:50 +01:00
Christoph Lohmann 0b885f18e3 Add different progress colors when using proxy. 2012-10-31 20:46:38 +01:00
Christoph Lohmann 25ba840e4d Hiding the loading indicator when it is not used. Based on a patch from
http://xteddy.org/surf.html#toc5. Thanks!
2012-10-28 14:16:22 +01:00
Christoph Lohmann 161247eaf4 Applying the patch to show the indicator only on loading. Based on a patch
from http://xteddy.org/surf.html#toc5.
2012-10-28 14:06:17 +01:00
Christoph Lohmann 3d3b105de7 Mod + '/' for search. 2012-10-28 14:03:00 +01:00
Christoph Lohmann 3058d5bf63 Applying the cookie patch of Carlos Pita. Thank you! 2012-10-16 21:54:37 +02:00
Christoph Lohmann 5703683638 Removing the double initialisation to webkit_get_default_session(). Thanks
taruti!
2012-10-16 15:41:50 +02:00
Christoph Lohmann 85d9d92e0b Reverting the cleanmask change. 2012-10-14 07:17:45 +02:00
Christoph Lohmann de3ed01386 Changing the key masks to the values of GDK. 2012-10-13 12:06:26 +02:00
Christoph Lohmann 81d23cb76d The right click menu to copy the link URI will now work. Thanks to Carlos
Pita!
2012-10-13 07:28:16 +02:00
Christoph Lohmann 2e92060efc Adding middle-click behaviour to open a tab when embedded or a window when
not. Thanks to Carlos Pita <carlosjosepita@gmail.com>!
2012-10-13 07:16:08 +02:00
Christoph Lohmann 23def74c98 Fixing the shift key mask and cleaning up the scrolling code. 2012-10-12 11:48:38 +02:00
Christoph Lohmann e28d27249e Surf now parses hex window ids properly from tabbed. 2012-07-16 16:35:47 +02:00
Troels Henriksen 635ed55fda Added tag 0.5 for changeset f0cea0f2bfc6 2012-07-12 12:41:56 +02:00
12 changed files with 1747 additions and 461 deletions
-9
View File
@@ -1,9 +0,0 @@
d8628fc93353faa411c9fc7eef82d11a84d26ae2 0.1
d8628fc93353faa411c9fc7eef82d11a84d26ae2 0.1
9c8ebcf54061112b5979742b403de26fc94007ff 0.1
3ef997607115303fe93873b592d152f0ec186f77 0.1.1
bffb0c3c23410ac7f260d167f4b9771497fc1127 0.1.2
a5db79d487c85615be2ecf30815c6b4977e88000 0.2
46d516fd216731adf91740496e6823c1be4f6199 0.3
ac8e058003ed2c0974529808752e5da7692fd7d8 0.4
71388899ac09d21e6c93518cc57a28395034f63c 0.4.1
+10
View File
@@ -0,0 +1,10 @@
# Frequently Asked Questions
## Surf is starting up slowly. What might happen?
The first suspect for such a behaviour is the plugin handling. Run surf
on the commandline and see if there are errors because of »nspluginwrap
per« or failed RPCs to them. If that is true, go to ~/.mozilla/plugins
and try removing stale links to plugins not on your system anymore. This
will stop surf from trying to load them.
+2
View File
@@ -2,6 +2,7 @@ MIT/X Consortium License
© 2011-2012 Troels Henriksen <athas@sigkill.at> © 2011-2012 Troels Henriksen <athas@sigkill.at>
© 2009-2011 Enno Boland <g s01 de> © 2009-2011 Enno Boland <g s01 de>
© 2012 Christoph Lohmann <20h@r-36.net>
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),
@@ -20,3 +21,4 @@ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE. DEALINGS IN THE SOFTWARE.
+1
View File
@@ -36,6 +36,7 @@ dist: clean
@echo creating dist tarball @echo creating dist tarball
@mkdir -p surf-${VERSION} @mkdir -p surf-${VERSION}
@cp -R LICENSE Makefile config.mk config.def.h README \ @cp -R LICENSE Makefile config.mk config.def.h README \
surf-open.sh arg.h TODO.md surf.png \
surf.1 ${SRC} surf-${VERSION} surf.1 ${SRC} surf-${VERSION}
@tar -cf surf-${VERSION}.tar surf-${VERSION} @tar -cf surf-${VERSION}.tar surf-${VERSION}
@gzip surf-${VERSION}.tar @gzip surf-${VERSION}.tar
+18 -3
View File
@@ -2,11 +2,11 @@ surf - simple webkit-based browser
================================== ==================================
surf is a simple Web browser based on WebKit/GTK+. surf is a simple Web browser based on WebKit/GTK+.
Requirements Requirements
------------ ------------
In order to build surf you need GTK+ and Webkit/GTK+ header files. In order to build surf you need GTK+ and Webkit/GTK+ header files.
In order to use the functionality of the url-bar, also install dmenu[0].
Installation Installation
------------ ------------
@@ -18,8 +18,23 @@ necessary as root):
make clean install make clean install
Running surf Running surf
------------ ------------
run run
surf [URL] surf [URI]
See the manpage for further options.
Running surf in tabbed
----------------------
For running surf in tabbed[1] there is a script included in the distribution,
which is run like this:
surf-open.sh [URI]
Further invocations of the script will run surf with the specified URI in this
instance of tabbed.
[0] http://tools.suckless.org/dmenu
[1] http://tools.suckless.org/tabbed
+10
View File
@@ -0,0 +1,10 @@
# TODO
* suckless adblocking
* replace twitch() with proper gtk calls to make scrollbars reappear
* replace webkit with something sane
* add video player options
* play in plugin
* play in video player
* call command with URI (quvi + cclive)
+41
View File
@@ -0,0 +1,41 @@
/*
* Copy me if you can.
* by 20h
*/
#ifndef __ARG_H__
#define __ARG_H__
extern char *argv0;
#define USED(x) ((void)(x))
#define ARGBEGIN for (argv0 = *argv, argv++, argc--;\
argv[0] && argv[0][1]\
&& argv[0][0] == '-';\
argc--, argv++) {\
char _argc;\
char **_argv;\
if (argv[0][1] == '-' && argv[0][2] == '\0') {\
argv++;\
argc--;\
break;\
}\
for (argv[0]++, _argv = argv; argv[0][0];\
argv[0]++) {\
if (_argv != argv)\
break;\
_argc = argv[0][0];\
switch (_argc)
#define ARGEND }\
USED(_argc);\
}\
USED(argv);\
USED(argc);
#define EARGF(x) ((argv[1] == NULL)? ((x), abort(), (char *)0) :\
(argc--, argv++, argv[0]))
#endif
+137 -45
View File
@@ -1,49 +1,141 @@
/* modifier 0 means no modifier */ /* modifier 0 means no modifier */
static char *useragent = "Surf/"VERSION" (X11; U; Unix; en-US) AppleWebKit/531.2+ Compatible (Safari)"; static char *useragent = "Mozilla/5.0 (X11; U; Unix; en-US) "
static char *progress = "#0066FF"; "AppleWebKit/537.15 (KHTML, like Gecko) "
static char *progress_untrust = "#FF6600"; "Chrome/24.0.1295.0 Safari/537.15 Surf/"VERSION;
static char *progress_trust = "#00FF00"; static char *scriptfile = "~/.surf/script.js";
static char *stylefile = ".surf/style.css"; static char *styledir = "~/.surf/styles/";
static char *scriptfile = ".surf/script.js"; static char *cachefolder = "~/.surf/cache/";
static char *cookiefile = ".surf/cookies.txt";
static time_t sessiontime = 3600;
static char *cafile = "/etc/ssl/certs/ca-certificates.crt";
static char *strictssl = FALSE; /* Refuse untrusted SSL connections */
#define HIDE_BACKGROUND FALSE
#define SPATIAL_BROWSING TRUE
#define SETPROP(p, q) { .v = (char *[]){ "/bin/sh", "-c", \ static Bool kioskmode = FALSE; /* Ignore shortcuts */
"prop=\"`xprop -id $2 $0 | cut -d '\"' -f 2 | dmenu`\" &&" \ static Bool showindicators = TRUE; /* Show indicators in window title */
"xprop -id $2 -f $1 8s -set $1 \"$prop\"", \ static Bool zoomto96dpi = TRUE; /* Zoom pages to always emulate 96dpi */
p, q, winid, NULL } } static Bool runinfullscreen = FALSE; /* Run in fullscreen mode by default */
#define DOWNLOAD(d) { \
static guint defaultfontsize = 12; /* Default font size */
static gfloat zoomlevel = 1.0; /* Default zoom level */
/* Soup default features */
static char *cookiefile = "~/.surf/cookies.txt";
static char *cookiepolicies = "Aa@"; /* A: accept all; a: accept nothing,
* @: accept all except third party */
static char *cafile = "/etc/ssl/certs/ca-certificates.crt";
static Bool strictssl = FALSE; /* Refuse untrusted SSL connections */
static time_t sessiontime = 3600;
/* Webkit default features */
static Bool enablescrollbars = TRUE;
static Bool enablespatialbrowsing = TRUE;
static Bool enablediskcache = TRUE;
static int diskcachebytes = 5 * 1024 * 1024;
static Bool enableplugins = TRUE;
static Bool enablescripts = TRUE;
static Bool enableinspector = TRUE;
static Bool enablestyle = TRUE;
static Bool loadimages = TRUE;
static Bool hidebackground = FALSE;
static Bool allowgeolocation = TRUE;
#define SETPROP(p, q) { \
.v = (char *[]){ "/bin/sh", "-c", \ .v = (char *[]){ "/bin/sh", "-c", \
"xterm -e \"wget '$0' \ "prop=\"`xprop -id $2 $0 " \
--load-cookies ~/.surf/cookies.txt \ "| sed \"s/^$0(STRING) = \\(\\\\\"\\?\\)\\(.*\\)\\1$/\\2/\" " \
--user-agent '$1' ; sleep 5\"", d, useragent, NULL } } "| xargs -0 printf %b | dmenu`\" &&" \
#define MODKEY GDK_CONTROL_MASK "xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
static Key keys[] = { p, q, winid, NULL \
/* modifier keyval function arg Focus */ } \
{ MODKEY|GDK_SHIFT_MASK,GDK_r, reload, { .b = TRUE } }, }
{ MODKEY, GDK_r, reload, { .b = FALSE } },
{ MODKEY|GDK_SHIFT_MASK,GDK_p, print, { 0 } }, /* DOWNLOAD(URI, referer) */
{ MODKEY, GDK_p, clipboard, { .b = TRUE } }, #define DOWNLOAD(d, r) { \
{ MODKEY, GDK_y, clipboard, { .b = FALSE } }, .v = (char *[]){ "/bin/sh", "-c", \
{ MODKEY|GDK_SHIFT_MASK,GDK_j, zoom, { .i = -1 } }, "st -e /bin/sh -c \"curl -L -J -O --user-agent '$1'" \
{ MODKEY|GDK_SHIFT_MASK,GDK_k, zoom, { .i = +1 } }, " --referer '$2' -b $3 -c $3 '$0';" \
{ MODKEY|GDK_SHIFT_MASK,GDK_i, zoom, { .i = 0 } }, " sleep 5;\"", \
{ MODKEY, GDK_l, navigate, { .i = +1 } }, d, useragent, r, cookiefile, NULL \
{ MODKEY, GDK_h, navigate, { .i = -1 } }, } \
{ MODKEY, GDK_j, scroll_v, { .i = +1 } }, }
{ MODKEY, GDK_k, scroll_v, { .i = -1 } },
{ MODKEY, GDK_b, scroll_v, { .i = -10000 } }, /* PLUMB(URI) */
{ MODKEY, GDK_space, scroll_v, { .i = +10000 } }, /* This called when some URI which does not begin with "about:",
{ MODKEY, GDK_i, scroll_h, { .i = +1 } }, * "http://" or "https://" should be opened.
{ MODKEY, GDK_u, scroll_h, { .i = -1 } }, */
{ 0, GDK_Escape, stop, { 0 } }, #define PLUMB(u) {\
{ MODKEY, GDK_o, source, { 0 } }, .v = (char *[]){ "/bin/sh", "-c", \
{ MODKEY, GDK_g, spawn, SETPROP("_SURF_URI", "_SURF_GO") }, "xdg-open \"$0\"", u, NULL \
{ MODKEY, GDK_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") }, } \
{ MODKEY, GDK_n, find, { .b = TRUE } }, }
{ MODKEY|GDK_SHIFT_MASK,GDK_n, find, { .b = FALSE } },
/* 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 Focus */
{ MODKEY|GDK_SHIFT_MASK,GDK_r, reload, { .b = TRUE } },
{ MODKEY, GDK_r, reload, { .b = FALSE } },
{ MODKEY|GDK_SHIFT_MASK,GDK_p, print, { 0 } },
{ MODKEY, GDK_p, clipboard, { .b = TRUE } },
{ MODKEY, GDK_y, clipboard, { .b = FALSE } },
{ MODKEY|GDK_SHIFT_MASK,GDK_j, zoom, { .i = -1 } },
{ MODKEY|GDK_SHIFT_MASK,GDK_k, zoom, { .i = +1 } },
{ MODKEY|GDK_SHIFT_MASK,GDK_q, zoom, { .i = 0 } },
{ MODKEY, GDK_minus, zoom, { .i = -1 } },
{ MODKEY, GDK_plus, zoom, { .i = +1 } },
{ MODKEY, GDK_l, navigate, { .i = +1 } },
{ MODKEY, GDK_h, navigate, { .i = -1 } },
{ MODKEY, GDK_j, scroll_v, { .i = +1 } },
{ MODKEY, GDK_k, scroll_v, { .i = -1 } },
{ MODKEY, GDK_b, scroll_v, { .i = -10000 } },
{ MODKEY, GDK_space, scroll_v, { .i = +10000 } },
{ MODKEY, GDK_i, scroll_h, { .i = +1 } },
{ MODKEY, GDK_u, scroll_h, { .i = -1 } },
{ 0, GDK_F11, fullscreen, { 0 } },
{ 0, GDK_Escape, stop, { 0 } },
{ MODKEY, GDK_o, source, { 0 } },
{ MODKEY|GDK_SHIFT_MASK,GDK_o, inspector, { 0 } },
{ MODKEY, GDK_g, spawn, SETPROP("_SURF_URI", "_SURF_GO") },
{ MODKEY, GDK_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
{ MODKEY, GDK_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
{ MODKEY, GDK_n, find, { .b = TRUE } },
{ MODKEY|GDK_SHIFT_MASK,GDK_n, find, { .b = FALSE } },
{ MODKEY|GDK_SHIFT_MASK,GDK_c, toggle, { .v = "enable-caret-browsing" } },
{ MODKEY|GDK_SHIFT_MASK,GDK_i, toggle, { .v = "auto-load-images" } },
{ MODKEY|GDK_SHIFT_MASK,GDK_s, toggle, { .v = "enable-scripts" } },
{ MODKEY|GDK_SHIFT_MASK,GDK_v, toggle, { .v = "enable-plugins" } },
{ MODKEY|GDK_SHIFT_MASK,GDK_a, togglecookiepolicy, { 0 } },
{ MODKEY|GDK_SHIFT_MASK,GDK_m, togglestyle, { 0 } },
{ MODKEY|GDK_SHIFT_MASK,GDK_b, togglescrollbars, { 0 } },
{ MODKEY|GDK_SHIFT_MASK,GDK_g, togglegeolocation, { 0 } },
};
/* button definitions */
/* click can be ClkDoc, ClkLink, ClkImg, ClkMedia, ClkSel, ClkEdit, ClkAny */
static Button buttons[] = {
/* click event mask button function argument */
{ ClkLink, 0, 2, linkopenembed, { 0 } },
{ ClkLink, MODKEY, 2, linkopen, { 0 } },
{ ClkLink, MODKEY, 1, linkopen, { 0 } },
{ ClkAny, 0, 8, navigate, { .i = -1 } },
{ ClkAny, 0, 9, navigate, { .i = +1 } },
}; };
+3 -4
View File
@@ -1,5 +1,5 @@
# surf version # surf version
VERSION = 0.5 VERSION = 0.7
# Customize below to fit your system # Customize below to fit your system
@@ -15,11 +15,10 @@ GTKLIB = `pkg-config --libs gtk+-2.0 webkit-1.0`
# includes and libs # includes and libs
INCS = -I. -I/usr/include -I${X11INC} ${GTKINC} INCS = -I. -I/usr/include -I${X11INC} ${GTKINC}
LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${GTKLIB} -lgthread-2.0 \ LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${GTKLIB} -lgthread-2.0
-ljavascriptcoregtk-1.0
# flags # flags
CPPFLAGS = -DVERSION=\"${VERSION}\" CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE
CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
LDFLAGS = -g ${LIBS} LDFLAGS = -g ${LIBS}
Executable
+32
View File
@@ -0,0 +1,32 @@
#!/bin/sh
#
# See the LICENSE file for copyright and license details.
#
xidfile="$HOME/tmp/tabbed-surf.xid"
uri=""
if [ "$#" -gt 0 ];
then
uri="$1"
fi
runtabbed() {
tabbed -dn tabbed-surf -r 2 surf -e '' "$uri" >"$xidfile" \
2>/dev/null &
}
if [ ! -r "$xidfile" ];
then
runtabbed
else
xid=$(cat "$xidfile")
xprop -id "$xid" >/dev/null 2>&1
if [ $? -gt 0 ];
then
runtabbed
else
surf -e "$xid" "$uri" >/dev/null 2>&1 &
fi
fi
+224 -17
View File
@@ -3,12 +3,14 @@
surf \- simple webkit-based browser surf \- simple webkit-based browser
.SH SYNOPSIS .SH SYNOPSIS
.B surf .B surf
.RB [-bBdDfFgGiIkKmMnNpPsSvx]
.RB [-a\ cookiepolicies]
.RB [-c\ cookiefile]
.RB [-e\ xid] .RB [-e\ xid]
.RB [-i] .RB [-r\ scriptfile]
.RB [-p] .RB [-t\ stylefile]
.RB [-s] .RB [-u\ useragent]
.RB [-v] .RB [-z\ zoomlevel]
.RB [-x]
.RB "URI" .RB "URI"
.SH DESCRIPTION .SH DESCRIPTION
surf is a simple Web browser based on WebKit/GTK+. It is able surf is a simple Web browser based on WebKit/GTK+. It is able
@@ -17,23 +19,111 @@ which makes it possible to embed it in another application. Furthermore,
one can point surf to another URI by setting its XProperties. one can point surf to another URI by setting its XProperties.
.SH OPTIONS .SH OPTIONS
.TP .TP
.B \-a cookiepolicies
Define the order of
.I cookie policies.
The default is "Aa@" but could be
redefined in the
.I config.h,
with "A" meaning to
accept all cookies, "a" to deny all cookies and "@", which tells surf to
accept no third party cookies.
.TP
.B \-b
Disable Scrollbars
.TP
.B \-B
Enable Scrollbars
.TP
.B \-c cookiefile
Specify the
.I cookiefile
to use.
.TP
.B \-d
Disable the disk cache.
.TP
.B \-D
Enable the disk cache.
.TP
.B \-e xid .B \-e xid
Reparents to window specified by xid. Reparents to window specified by
.I xid.
.TP
.B \-f
Start surf in windowed mode (not fullscreen).
.TP
.B \-F
Start surf in fullscreen mode.
.TP
.B \-g
Disable giving the geolocation to websites.
.TP
.B \-G
Enable giving the geolocation to websites.
.TP .TP
.B \-i .B \-i
Disable Images Disable Images
.TP .TP
.B \-I
Enable Images
.TP
.B \-k
Disable kiosk mode (disable key strokes and right click)
.TP
.B \-K
Enable kiosk mode (disable key strokes and right click)
.TP
.B \-m
Disable application of user style sheets.
.TP
.B \-M
Enable application of user style sheets.
.TP
.B \-n
Disable the Web Inspector (Developer Tools).
.TP
.B \-N
Enable the Web Inspector (Developer Tools).
.TP
.B \-p .B \-p
Disable Plugins Disable Plugins
.TP .TP
.B \-P
Enable Plugins
.TP
.B \-r scriptfile
Specify the user
.I scriptfile.
.TP
.B \-s .B \-s
Disable Javascript Disable Javascript
.TP .TP
.B \-S
Enable Javascript
.TP
.B \-t stylefile
Specify the user
.I stylefile.
This does disable the site-specific styles.
.TP
.B \-u useragent
Specify the
.I useragent
which surf should use.
.TP
.B \-v .B \-v
Prints version information to standard output, then exits. Prints version information to standard output, then exits.
.TP .TP
.B \-x .B \-x
Prints xid to standard output. This can be used to script the browser by using Prints xid to standard output. This can be used to script the browser in for
example
.BR xdotool(1).
.TP
.B \-z zoomlevel
Specify the
.I zoomlevel
which surf should use.
.BR xprop(1). .BR xprop(1).
.SH USAGE .SH USAGE
.B Escape .B Escape
@@ -51,16 +141,28 @@ Scrolls page upwards.
.B Ctrl\-j .B Ctrl\-j
Scrolls page downwards. Scrolls page downwards.
.TP .TP
.B Ctrl\-Shift\-k .B Ctrl\-b
Scroll up one whole page view.
.TP
.B Ctrl\-Space
Scroll down one whole page view.
.TP
.B Ctrl\-i
Scroll horizontally to the right.
.TP
.B Ctrl\-u
Scroll horizontally to the left.
.TP
.B Ctrl\-Shift\-k or Ctrl\-+
Zooms page in. Zooms page in.
.TP .TP
.B Ctrl\-Shift\-j .B Ctrl\-Shift\-j or Ctrl\--
Zooms page out Zooms page out
.TP .TP
.B Ctrl\-Shift\-i .B Ctrl\-Shift\-q
Resets Zoom Resets Zoom
.TP .TP
.B Ctrl\-f .B Ctrl\-f and Ctrl\-/
Opens the search-bar. Opens the search-bar.
.TP .TP
.B Ctrl\-n .B Ctrl\-n
@@ -70,7 +172,7 @@ Go to next search result.
Go to previous search result. Go to previous search result.
.TP .TP
.B Ctrl\-g .B Ctrl\-g
Opens the URL-bar. Opens the URL-bar (requires dmenu installed).
.TP .TP
.B Ctrl\-p .B Ctrl\-p
Loads URI from primary selection. Loads URI from primary selection.
@@ -82,23 +184,128 @@ Calls Printpage Dialog.
Reloads the website. Reloads the website.
.TP .TP
.B Ctrl\-Shift\-r .B Ctrl\-Shift\-r
Reloads the website without using cache. Reloads the website without using the cache.
.TP .TP
.B Ctrl\-y .B Ctrl\-y
Copies current URI to primary selection. Copies current URI to primary selection.
.TP .TP
.B Ctrl\-o .B Ctrl\-o
show the sourcecode of the current page. Show the sourcecode of the current page.
.SH ENVIRONMENT
.TP .TP
.B Ctrl\-Shift\-a
Toggle through the the
.I cookie policies.
This will not reload the page.
.TP
.B Ctrl\-Shift\-b
Toggle scrollbars. This will reload the page.
.TP
.B Ctrl\-Shift\-c
Toggle caret browsing. This will reload the page.
.TP
.B Ctrl\-Shift\-i
Toggle auto-loading of images. This will reload the page.
.TP
.B Ctrl\-Shift\-m
Toggle if the
.I stylefile
file should be loaded. This will reload the page.
.TP
.B Ctrl\-Shift\-o
Open the Web Inspector (Developer Tools) window for the current page.
.TP
.B Ctrl\-Shift\-s
Toggle script execution. This will reload the page.
.TP
.B Ctrl\-Shift\-v
Toggle the enabling of plugins on that surf instance. This will reload the
page.
.TP
.B F11
Toggle fullscreen mode.
.SH INDICATORS OF OPERATION
Surf is showing indicators of operation in front of the site title.
For all indicators, unless otherwise specified, a lower case letter means disabled and an upper case letter means enabled.
.TP
.B A
all cookies accepted
.TP
.B a
no cookies accepted
.TP
.B @
all except third-party cookies accepted
.TP
.B c C
caret browsing
.TP
.B g G
geolocation
.TP
.B d D
disk cache
.TP
.B i I
images
.TP
.B s S
scripts
.TP
.B v V
plugins
.TP
.B m M
styles
.SH INDICATORS OF WEB PAGE
The second part of the indicators specifies modes of the web page itself.
.SS First character: encryption
.TP
.B -
unencrypted
.TP
.B T
encrypted (SSL)
.TP
.B U
attempted encryption but failed
.SS Second character: proxying
.TP
.B -
no proxy
.TP
.B P
using proxy
.SH ENVIRONMENT
.B SURF_USERAGENT .B SURF_USERAGENT
If this variable is set upon startup, surf will use it as the useragent string If this variable is set upon startup, surf will use it as the
.I useragent
string
.TP .TP
.B http_proxy .B http_proxy
If this variable is set and not empty upon startup, surf will use it as the http proxy If this variable is set and not empty upon startup, surf will use it as the http proxy
.TP
.B no_proxy
If both http_proxy is set and no_proxy contain a
.BR comma-separated
list of domain extensions and both is not empty upon startup, proxy will
.BR not
be used for each of the elements in no_proxy.
.SH PLUGINS
For using plugins in surf, first determine your running architecture. Then get
the appropriate plugin for that architecture and copy it to
.BR /usr/lib/browser-plugins
or
.BR /usr/lib64/browser-plugins.
Surf should load them automatically.
.BR
If you want to use a 32bit plugin on a 64bit system,
.BR nspluginwrapper(1)
will help you.
.SH SEE ALSO .SH SEE ALSO
.BR dmenu(1), .BR dmenu(1),
.BR xprop(1), .BR xprop(1),
.BR tabbed(1) .BR tabbed(1),
.BR nspluginwrapper(1),
.BR xdotool(1)
.SH BUGS .SH BUGS
Please report them! Please report them!
+1269 -383
View File
File diff suppressed because it is too large Load Diff