summaryrefslogtreecommitdiff
path: root/surf.c
Commit message (Collapse)AuthorAge
* Style fix in sigchld()Quentin Rameau2015-11-22
|
* Replace use of EXIT_* constants to 0 and 1Quentin Rameau2015-11-22
|
* Fix WM_CLASS and WM_WINDOW_ROLE propertiesQuentin Rameau2015-11-22
| | | | | | | | | | | | | | 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.
* Remove window hints settingsQuentin Rameau2015-11-22
| | | | Setting minimum size to 1x1 is not necessary as this is the default.
* Style indentation fixQuentin Rameau2015-11-22
|
* Continue making chars constQuentin Rameau2015-11-22
|
* Correct and simplify buttonreleased() gdk eventQuentin Rameau2015-11-22
| | | | | | The passed event is a GdkEvent (or GdkEventButton), but not a GdkEventKey. Access the struct directly.
* Un(g)boolify to separate GTK dependant code from the restQuentin Rameau2015-11-22
|
* Use char instead of gchar and make them const when possibleQuentin Rameau2015-11-22
|
* Style update for indentationQuentin Rameau2015-11-22
|
* Add mouse function to play medias in external playerQuentin Rameau2015-11-21
| | | | Control + left click launches mpv with the target media url.
* Style change in includes orderQuentin Rameau2015-11-21
|
* Style change in functions orderingQuentin Rameau2015-11-21
| | | | | Try to group and order functions in a logical manner. Same thing for config keybindings.
* Cleanup remaining unused variables and copystr()Quentin Rameau2015-11-20
|
* Adapt newwindow()Quentin Rameau2015-11-20
| | | | | Reorder cmdline options alphabetically and try to keep settings as they have been toggled in this surf client.
* Adapt user agent handlingQuentin Rameau2015-11-20
| | | | | Now we can only append Surf version to the default WebKit user agent instead of setting the whole string (while this remains possible to do).
* Adapt updatetitle()Quentin Rameau2015-11-20
| | | | | Now always show loading progress, still print mouse over link uri before page uri. Process simplyfied because we use const strings.
* Adapt toggle statisticsQuentin Rameau2015-11-20
| | | | | | | 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.
* Adapt page statisticsQuentin Rameau2015-11-20
| | | | | Rename *pagestat to plural *pagestats, and resize array to reflect missing proxy parameter.
* Adapt loaduri()Quentin Rameau2015-11-20
| | | | | | | 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.
* Rename mouse functions to clickFUNCTION()Quentin Rameau2015-11-20
|
* Adapt toggle(), clean some config parametersQuentin Rameau2015-11-20
| | | | | | 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.
* Adapt find()Quentin Rameau2015-11-20
| | | | | | | 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).
* Adapt zoom()Quentin Rameau2015-11-20
|
* Adapt navigate()Quentin Rameau2015-11-20
|
* Remove togglescrollbars()Quentin Rameau2015-11-20
| | | | | We do not have access to scrollbars and will have to manipulate DOM to do that.
* Adapt scrollingQuentin Rameau2015-11-20
| | | | | | 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).
* Adapt inspector handlingQuentin Rameau2015-11-20
| | | | | The inspector is now easily manageable via API, there's no need for keeping its state in the Client.
* Adapt print()Quentin Rameau2015-11-20
|
* Simplify building of stylefiles pathQuentin Rameau2015-11-20
| | | | | We can directly use style file pointers instead of using temporary string pointers.
* Adapt setstyle()Quentin Rameau2015-11-20
| | | | | We can't anymore pass a simple path to a stylefile, we have to read the entire file to create a stylesheet and apply it to the view.
* Adapt clipboard()Quentin Rameau2015-11-20
| | | | Replace linkhover with target uri and add some comments
* Rename fullscreen() to togglefullscreen()Quentin Rameau2015-11-20
| | | | | And handle c->fullscreen value in winevent(). This way we keep track of fullscreen state even if we did not directly initiate the fullscreen.
* Replace titlechangeleave() with catch-all winevent()Quentin Rameau2015-11-20
| | | | | All GtkWidget events have the same function prototype with the generic GdkEvent as parameter. This will let us handle everything in the switch.
* Adapt JavaScript functionsQuentin Rameau2015-11-20
| | | | | Removed eval(), evalscript() is now sufficient and can directly execute passed JavaScript string.
* Remove windowobjectcleared(), execute scripts on load finishedQuentin Rameau2015-11-20
| | | | | | 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.
* Add createwindow() for GtkWindow creationQuentin Rameau2015-11-20
| | | | Move there window creation from showview().
* Add closeview() for JavaScript window closingQuentin Rameau2015-11-20
| | | | | Simply call gtk_widget_destroy() on the window. Then GtkWindow closing process will take care of the rest.
* Remove (delete :>) deletion_interface()Quentin Rameau2015-11-20
|
* Integrate beforerequest() into decidepolicy()Quentin Rameau2015-11-20
|
* Remove contextmenu() and menuactivate() for "context-menu" signalQuentin Rameau2015-11-20
| | | | | | 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.
* Adapted buttonrelease()Quentin Rameau2015-11-20
| | | | | | | 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.
* Replace initdownload() and intercept global download requests.Quentin Rameau2015-11-20
| | | | | Attach to download requests on WebKitContext, this way we can easily manage all types of downloads (coming from views or not).
* Adapted progresschanged()Quentin Rameau2015-11-20
|
* Manage ssl errors with GTlsCertificateFlagsQuentin Rameau2015-11-20
| | | | | | | 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).
* Replace loadstatuschanged() with loadchanged()Quentin Rameau2015-11-20
|
* Replace decidewindow() and decidedownload() with decidepolicy()Quentin Rameau2015-11-20
| | | | | | Now all the requests are triggered by one signal. We then handle each type, resource download, navigation, newwindow, in separate functions.
* Replace createwindow() with createview()Quentin Rameau2015-11-20
| | | | | We can now perform some filtering before opening a new view (window) when requested by JavaScript (either random or by a click).
* Replace geopolicyrequested() with permissionrequested()Quentin Rameau2015-11-20
| | | | | The permission-request signal can now ask for than a geolocation authorisation (though we only handle that for now).
* Replace linkhover() with mousetargetchanged()Quentin Rameau2015-11-20
| | | | | | | 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.