ratiueratuie rstiure tiurest aruite rautie rautier tiue rtaruit ratiuera
This patch makes surf reload its pages when it receives a SIGHUP signal.
This makes it easier for shell scripts to trigger surf to reload.
I'm aware of using xdotool to trigger ctrl+r keypresses for reloading
but I wasn't able to get that to work in a general way. [1]
I'm sending this here in case surf maintainers and users would like to
include this in core - if not I will submit it to the wiki.
Regards,
Charles
[1] http://surf.suckless.org/files/autorefresh
Signed-off-by: Christoph Lohmann <20h@r-36.net>
getpwnam(3) recommends to use $HOME instead of getpwuid()->pw_dir,
as it allows users to point programs to a different path.
Using getpwuid() also breaks namespaces-related use cases,
like `unshare -r`.
Patch was submitted by Dmitry Bogatov on the Debian bug tracker:
https://bugs.debian.org/825397
Signed-off-by: Christoph Lohmann <20h@r-36.net>
Curl is invoked for downloading particular files. Without "-g" flag it would
apply globbing rules to URLs, which may end badly in case URL is not properly
quoted.
This is still a hack, until WebKitGTK gives us a more practical and
stable way to do that. Manipulating directly the DOM inside a
webextension is a pain and only usable with unstable API atm.
Don't forget to always set the title to the current uri, this way it's
up to date when there is no title on the page (ie for local file
exploration).
Thanks to pickfire for reporting the issue.
Introduce a new string pointer overtitle in Client to be able to keep
the targeturi intact while modifying the former for overriding or not
the window title.
Connect to GDK_ENTER_NOTIFY to restore overtitle when refocusing on
window.
Instead of forcing class and instance names, which is what GTK does by
default anyway, allow the user to set the instance name, but keep the
general class as “Surf”.
Is we won't support a “-name” parameter and don't implement a parsing of
RESOURCE_NAME env variable, let's fallback on the third behaviour, use
the name of the calling executable.
That would let the user do things like 'ln -s ./surf ./surf-other;
./surf-other' and set different parameters for the two instances (in dwm
for example).
Try to generate a unique WM_WINDOW_ROLE (within the surf process)
composed of “Surf” and the view ID.
Rename *togglestat to plural *togglestats, add frame flatenning
indicator, resize array in consequence.
Use a static index instead of a dynamic one as we always use all values
anyway.
Better handling of different URIs. Filter out “about:” scheme, dont
touch URI if it contains a complete scheme (we assume "://", denotes
one), else test if given path is an actual reachable file on the
filesystem, else prepend arbitrary http:// scheme.
Regroup all toggles in an enum and handle them with a unique function
via a switch. That lets us take different actions for each toggle.
Add a frame flatenning and a dns preteching options.
Slightly new behaviour: searching again for the same string (via MOD+/)
resets the search (ie restarts search from document top).
Searching for an empty string stops the search (ie all highlights are
removed).
In fact, we have a scrolling handle ersatz for now using JavaScript
calls as we don't have access anymore to scrollbars.
We'll have to manipulate the DOM directly (later).
The “window-object-cleared” signal is not directly accessible for
specific WebViews now. We'll have to use an Extension or rewrite the
JavaScript running functions.
Those were added because “right click menu to copy the link URI will now
work” (would not work) in 2013. It's been a while since that works without
intervention.
Use the current hit test (c->mousepos) to determine where the mouse
pointer is.
It is possible to link an action to a click and still propagate the
event after that by setting the “stop event” parameter of a Button to 0.
Keep a GTlsCertificateFlags in Client for TLS errors.
If we don't use a ssl connection, set it to a value greater than maximum
error flag value (which is G_TLS_CERTIFICATE_VALIDATE_ALL for all
possible errors).
The “linkhover” can now be more than a simple link (image, video, etc.).
As we can't anymore perform a hit test when we want, we have to keep the
last known hit test to be able to know where the mouse is on the next
click event.
View creation is now done in a separate function.
That helps identifying the workflow and let us easily carry related
view (client) when asked by the WebKit for a new one.
We don't have access anymore to the scrolling process and have to rely
entirely on WebKit.
We could be able to manage scrolling and bars directly by manipulating
the DOM via a WebKitExtension. To be continued…
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>
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>
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>
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>
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>
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>
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>
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>
* 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>
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.
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!
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.
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>
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>
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>
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>
* 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>
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>
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.