aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/callbacks.c
diff options
context:
space:
mode:
authorGravatar David Keijser <keijser@gmail.com>2011-05-30 06:49:18 +0200
committerGravatar David Keijser <keijser@gmail.com>2011-05-30 07:08:44 +0200
commit41e8b1eeb2b9160bbd1f622dffc1b0da51c6bc2c (patch)
tree3f1c7d784095903aae7d613548ab0bea5180b55b /src/callbacks.c
parentb970eacf2fbbe5d082515f2085f3b3d4e471d467 (diff)
move variable callback functions into variables.c
Diffstat (limited to 'src/callbacks.c')
-rw-r--r--src/callbacks.c314
1 files changed, 0 insertions, 314 deletions
diff --git a/src/callbacks.c b/src/callbacks.c
index 0370889..5bdcb55 100644
--- a/src/callbacks.c
+++ b/src/callbacks.c
@@ -6,324 +6,10 @@
#include "uzbl-core.h"
#include "callbacks.h"
#include "events.h"
-#include "util.h"
-#include "io.h"
#include "menu.h"
#include "type.h"
void
-set_proxy_url() {
- const gchar *url = uzbl.net.proxy_url;
- SoupSession *session = uzbl.net.soup_session;
- SoupURI *soup_uri = NULL;
-
- if (url != NULL || *url != 0 || *url != ' ')
- soup_uri = soup_uri_new(url);
-
- g_object_set(G_OBJECT(session), SOUP_SESSION_PROXY_URI, soup_uri, NULL);
-
- if(soup_uri)
- soup_uri_free(soup_uri);
-}
-
-
-void
-set_authentication_handler() {
- /* Check if WEBKIT_TYPE_SOUP_AUTH_DIALOG feature is set */
- GSList *flist = soup_session_get_features (uzbl.net.soup_session, (GType) WEBKIT_TYPE_SOUP_AUTH_DIALOG);
- guint feature_is_set = g_slist_length(flist);
- g_slist_free(flist);
-
- if (uzbl.behave.authentication_handler == NULL || *uzbl.behave.authentication_handler == 0) {
- if (!feature_is_set)
- soup_session_add_feature_by_type
- (uzbl.net.soup_session, (GType) WEBKIT_TYPE_SOUP_AUTH_DIALOG);
- } else {
- if (feature_is_set)
- soup_session_remove_feature_by_type
- (uzbl.net.soup_session, (GType) WEBKIT_TYPE_SOUP_AUTH_DIALOG);
- }
- return;
-}
-
-
-void
-set_status_background() {
- /* labels and hboxes do not draw their own background. applying this
- * on the vbox/main_window is ok as the statusbar is the only affected
- * widget. (if not, we could also use GtkEventBox) */
- GtkWidget* widget = uzbl.gui.main_window ? uzbl.gui.main_window : GTK_WIDGET (uzbl.gui.plug);
-
-#if GTK_CHECK_VERSION(2,91,0)
- GdkRGBA color;
- gdk_rgba_parse (&color, uzbl.behave.status_background);
- gtk_widget_override_background_color (widget, GTK_STATE_NORMAL, &color);
-#else
- GdkColor color;
- gdk_color_parse (uzbl.behave.status_background, &color);
- gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, &color);
-#endif
-}
-
-
-void
-set_icon() {
- if(file_exists(uzbl.gui.icon)) {
- if (uzbl.gui.main_window)
- gtk_window_set_icon_from_file (GTK_WINDOW (uzbl.gui.main_window), uzbl.gui.icon, NULL);
- } else {
- g_printerr ("Icon \"%s\" not found. ignoring.\n", uzbl.gui.icon);
- }
-}
-
-void
-cmd_set_geometry() {
- int ret=0, x=0, y=0;
- unsigned int w=0, h=0;
- if(uzbl.gui.geometry) {
- if(uzbl.gui.geometry[0] == 'm') { /* m/maximize/maximized */
- gtk_window_maximize((GtkWindow *)(uzbl.gui.main_window));
- } else {
- /* we used to use gtk_window_parse_geometry() but that didn't work how it was supposed to */
- ret = XParseGeometry(uzbl.gui.geometry, &x, &y, &w, &h);
- if(ret & XValue)
- gtk_window_move((GtkWindow *)uzbl.gui.main_window, x, y);
- if(ret & WidthValue)
- gtk_window_resize((GtkWindow *)uzbl.gui.main_window, w, h);
- }
- }
-
- /* update geometry var with the actual geometry
- this is necessary as some WMs don't seem to honour
- the above setting and we don't want to end up with
- wrong geometry information
- */
- retrieve_geometry();
-}
-
-void
-cmd_set_status() {
- if (!uzbl.behave.show_status) {
- gtk_widget_hide(uzbl.gui.mainbar);
- } else {
- gtk_widget_show(uzbl.gui.mainbar);
- }
- update_title();
-}
-
-/* is the given string made up entirely of decimal digits? */
-gboolean
-string_is_integer(const char *s) {
- return (strspn(s, "0123456789") == strlen(s));
-}
-
-void
-cmd_load_uri() {
- const gchar *uri = uzbl.state.uri;
-
- gchar *newuri;
- SoupURI *soup_uri;
-
- /* Strip leading whitespaces */
- while (*uri && isspace(*uri))
- uri++;
-
- /* evaluate javascript: URIs */
- if (!strncmp (uri, "javascript:", 11)) {
- eval_js(uzbl.gui.web_view, uri, NULL, "javascript:");
- return;
- }
-
- /* attempt to parse the URI */
- soup_uri = soup_uri_new(uri);
-
- if (!soup_uri) {
- /* it's not a valid URI, maybe it's a path on the filesystem. */
- const gchar *fullpath;
- if (g_path_is_absolute (uri))
- fullpath = uri;
- else {
- gchar *wd = g_get_current_dir ();
- fullpath = g_build_filename (wd, uri, NULL);
- g_free(wd);
- }
-
- struct stat stat_result;
- if (! g_stat(fullpath, &stat_result))
- newuri = g_strconcat("file://", fullpath, NULL);
- else
- newuri = g_strconcat("http://", uri, NULL);
- } else {
- if(soup_uri->host == NULL && string_is_integer(soup_uri->path))
- /* the user probably typed in a host:port without a scheme */
- newuri = g_strconcat("http://", uri, NULL);
- else
- newuri = g_strdup(uri);
-
- soup_uri_free(soup_uri);
- }
-
- webkit_web_view_load_uri (uzbl.gui.web_view, newuri);
- g_free (newuri);
-}
-
-void
-cmd_max_conns() {
- g_object_set(G_OBJECT(uzbl.net.soup_session),
- SOUP_SESSION_MAX_CONNS, uzbl.net.max_conns, NULL);
-}
-
-void
-cmd_max_conns_host() {
- g_object_set(G_OBJECT(uzbl.net.soup_session),
- SOUP_SESSION_MAX_CONNS_PER_HOST, uzbl.net.max_conns_host, NULL);
-}
-
-void
-cmd_http_debug() {
- soup_session_remove_feature
- (uzbl.net.soup_session, SOUP_SESSION_FEATURE(uzbl.net.soup_logger));
- /* do we leak if this doesn't get freed? why does it occasionally crash if freed? */
- /*g_free(uzbl.net.soup_logger);*/
-
- uzbl.net.soup_logger = soup_logger_new(uzbl.behave.http_debug, -1);
- soup_session_add_feature(uzbl.net.soup_session,
- SOUP_SESSION_FEATURE(uzbl.net.soup_logger));
-}
-
-GObject*
-view_settings() {
- return G_OBJECT(webkit_web_view_get_settings(uzbl.gui.web_view));
-}
-
-void
-cmd_font_size() {
- GObject *ws = view_settings();
- if (uzbl.behave.font_size > 0) {
- g_object_set (ws, "default-font-size", uzbl.behave.font_size, NULL);
- }
-
- if (uzbl.behave.monospace_size > 0) {
- g_object_set (ws, "default-monospace-font-size",
- uzbl.behave.monospace_size, NULL);
- } else {
- g_object_set (ws, "default-monospace-font-size",
- uzbl.behave.font_size, NULL);
- }
-}
-
-void
-cmd_zoom_level() {
- webkit_web_view_set_zoom_level (uzbl.gui.web_view, uzbl.behave.zoom_level);
-}
-
-#define EXPOSE_WEBKIT_VIEW_SETTINGS(SYM, STORAGE, PROPERTY) void cmd_##SYM() { \
- g_object_set(view_settings(), (PROPERTY), (STORAGE), NULL); \
-}
-
-EXPOSE_WEBKIT_VIEW_SETTINGS(default_font_family, uzbl.behave.default_font_family, "default-font-family")
-EXPOSE_WEBKIT_VIEW_SETTINGS(monospace_font_family, uzbl.behave.monospace_font_family, "monospace-font-family")
-EXPOSE_WEBKIT_VIEW_SETTINGS(sans_serif_font_family, uzbl.behave.sans_serif_font_family, "sans_serif-font-family")
-EXPOSE_WEBKIT_VIEW_SETTINGS(serif_font_family, uzbl.behave.serif_font_family, "serif-font-family")
-EXPOSE_WEBKIT_VIEW_SETTINGS(cursive_font_family, uzbl.behave.cursive_font_family, "cursive-font-family")
-EXPOSE_WEBKIT_VIEW_SETTINGS(fantasy_font_family, uzbl.behave.fantasy_font_family, "fantasy-font-family")
-
-EXPOSE_WEBKIT_VIEW_SETTINGS(minimum_font_size, uzbl.behave.minimum_font_size, "minimum_font_size")
-
-EXPOSE_WEBKIT_VIEW_SETTINGS(disable_plugins, !uzbl.behave.disable_plugins, "enable-plugins")
-EXPOSE_WEBKIT_VIEW_SETTINGS(disable_scripts, !uzbl.behave.disable_scripts, "enable-scripts")
-
-EXPOSE_WEBKIT_VIEW_SETTINGS(javascript_windows, uzbl.behave.javascript_windows, "javascript-can-open-windows-automatically")
-
-EXPOSE_WEBKIT_VIEW_SETTINGS(autoload_img, uzbl.behave.autoload_img, "auto-load-images")
-EXPOSE_WEBKIT_VIEW_SETTINGS(autoshrink_img, uzbl.behave.autoshrink_img, "auto-shrink-images")
-
-EXPOSE_WEBKIT_VIEW_SETTINGS(enable_pagecache, uzbl.behave.enable_pagecache, "enable-page-cache")
-EXPOSE_WEBKIT_VIEW_SETTINGS(enable_private, uzbl.behave.enable_private, "enable-private-browsing")
-
-EXPOSE_WEBKIT_VIEW_SETTINGS(enable_spellcheck, uzbl.behave.enable_spellcheck, "enable-spell-checking")
-EXPOSE_WEBKIT_VIEW_SETTINGS(resizable_txt, uzbl.behave.resizable_txt, "resizable-text-areas")
-
-EXPOSE_WEBKIT_VIEW_SETTINGS(style_uri, uzbl.behave.style_uri, "user-stylesheet-uri")
-EXPOSE_WEBKIT_VIEW_SETTINGS(print_bg, uzbl.behave.print_bg, "print-backgrounds")
-EXPOSE_WEBKIT_VIEW_SETTINGS(enforce_96dpi, uzbl.behave.enforce_96dpi, "enforce-96-dpi")
-
-EXPOSE_WEBKIT_VIEW_SETTINGS(caret_browsing, uzbl.behave.caret_browsing, "enable-caret-browsing")
-
-EXPOSE_WEBKIT_VIEW_SETTINGS(default_encoding, uzbl.behave.default_encoding, "default-encoding")
-
-void
-set_current_encoding() {
- gchar *encoding = uzbl.behave.current_encoding;
- if(strlen(encoding) == 0)
- encoding = NULL;
-
- webkit_web_view_set_custom_encoding(uzbl.gui.web_view, encoding);
-}
-
-void
-cmd_fifo_dir() {
- uzbl.behave.fifo_dir = init_fifo(uzbl.behave.fifo_dir);
-}
-
-void
-cmd_socket_dir() {
- uzbl.behave.socket_dir = init_socket(uzbl.behave.socket_dir);
-}
-
-void
-cmd_inject_html() {
- if(uzbl.behave.inject_html) {
- webkit_web_view_load_html_string (uzbl.gui.web_view,
- uzbl.behave.inject_html, NULL);
- }
-}
-
-void
-cmd_useragent() {
- if (*uzbl.net.useragent == ' ') {
- g_free (uzbl.net.useragent);
- uzbl.net.useragent = NULL;
- } else {
- g_object_set(G_OBJECT(uzbl.net.soup_session), SOUP_SESSION_USER_AGENT,
- uzbl.net.useragent, NULL);
- }
-}
-
-void
-set_accept_languages() {
- if (*uzbl.net.accept_languages == ' ') {
- g_free (uzbl.net.accept_languages);
- uzbl.net.accept_languages = NULL;
- } else {
- g_object_set(G_OBJECT(uzbl.net.soup_session),
- SOUP_SESSION_ACCEPT_LANGUAGE, uzbl.net.accept_languages, NULL);
- }
-}
-
-void
-cmd_scrollbars_visibility() {
- GtkPolicyType policy = uzbl.gui.scrollbars_visible ? GTK_POLICY_AUTOMATIC : GTK_POLICY_NEVER;
-
- gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW (uzbl.gui.scrolled_win), policy, policy );
-}
-
-/* requires webkit >=1.1.14 */
-void
-cmd_view_source() {
- webkit_web_view_set_view_source_mode(uzbl.gui.web_view,
- (gboolean) uzbl.behave.view_source);
-}
-
-void
-cmd_set_zoom_type () {
- if(uzbl.behave.zoom_type)
- webkit_web_view_set_full_content_zoom (uzbl.gui.web_view, TRUE);
- else
- webkit_web_view_set_full_content_zoom (uzbl.gui.web_view, FALSE);
-}
-
-void
link_hover_cb (WebKitWebView *page, const gchar *title, const gchar *link, gpointer data) {
(void) page; (void) title; (void) data;
State *s = &uzbl.state;