c->web_view = webkit_web_view_new_with_related_view(related_wv);
webkit_web_view_set_zoom_level(WEBKIT_WEB_VIEW(c->web_view), cfg.global_zoom);
- WebKitSettings *settings = webkit_web_view_get_settings(WEBKIT_WEB_VIEW(c->web_view));
+ WebKitSettings *settings =
+ webkit_web_view_get_settings(WEBKIT_WEB_VIEW(c->web_view));
webkit_settings_set_enable_javascript(settings, !cfg.javascript_disabled);
g_signal_connect(G_OBJECT(c->web_view), "notify::favicon",
G_CALLBACK(changed_favicon), c);
g_signal_connect(G_OBJECT(c->web_view), "web-process-crashed",
G_CALLBACK(crashed_web_view), c);
- if (cfg.user_agent != NULL)
- g_object_set(G_OBJECT(webkit_web_view_get_settings(WEBKIT_WEB_VIEW(c->web_view))),
- "user-agent", cfg.user_agent, NULL);
+ if (cfg.user_agent != NULL) {
+ g_object_set(settings, "user-agent", cfg.user_agent, NULL);
+ }
if (cfg.enable_console_to_stdout)
- webkit_settings_set_enable_write_console_messages_to_stdout(webkit_web_view_get_settings(WEBKIT_WEB_VIEW(c->web_view)), TRUE);
+ webkit_settings_set_enable_write_console_messages_to_stdout(settings, TRUE);
- webkit_settings_set_enable_developer_extras(webkit_web_view_get_settings(WEBKIT_WEB_VIEW(c->web_view)), TRUE);
+ webkit_settings_set_enable_developer_extras(settings, TRUE);
c->location = gtk_entry_new();
g_signal_connect(G_OBJECT(c->location), "key-press-event",
gtk_box_pack_start(GTK_BOX(c->vbox), c->web_view, TRUE, TRUE, 0);
gtk_container_set_focus_child(GTK_CONTAINER(c->vbox), c->web_view);
- c->tabicon = gtk_image_new_from_icon_name("text-html", GTK_ICON_SIZE_SMALL_TOOLBAR);
+ c->tabicon = gtk_image_new_from_icon_name("text-html",
+ GTK_ICON_SIZE_SMALL_TOOLBAR);
c->tablabel = gtk_label_new(__NAME__);
gtk_label_set_ellipsize(GTK_LABEL(c->tablabel), PANGO_ELLIPSIZE_END);
G_CALLBACK(key_tablabel), c);
/* For easy access, store a reference to our label. */
- g_object_set_data(G_OBJECT(evbox), "lariza-tab-label", c->tablabel);
+ g_object_set_data(G_OBJECT(evbox), "chorizo-tab-label", c->tablabel);
/* This only shows the event box and the label inside, nothing else.
* Needed because the evbox/label is "internal" to the notebook and
* not part of the normal "widget tree" (IIUC). */
gtk_widget_show_all(evbox);
- gtk_notebook_insert_page(GTK_NOTEBOOK(mw.notebook), c->vbox, evbox,
- gtk_notebook_get_current_page(GTK_NOTEBOOK(mw.notebook)) + 1);
+ int page = gtk_notebook_get_current_page(GTK_NOTEBOOK(mw.notebook)) + 1;
+ gtk_notebook_insert_page(GTK_NOTEBOOK(mw.notebook), c->vbox, evbox, page);
gtk_notebook_set_tab_reorderable(GTK_NOTEBOOK(mw.notebook), c->vbox, TRUE);
if (show)
"');"
"if (a.length == 0)"
" null;"
- "else"
- "{"
+ "else {"
" out = '';"
- " for (i = 0; i < a.length; i++)"
- " {"
+ " for (i = 0; i < a.length; i++) {"
" url = encodeURIComponent(a[i].href);"
" if ('title' in a[i] && a[i].title != '')"
" title = encodeURIComponent(a[i].title);"
/* This was taken almost verbatim from the example in WebKit's
* documentation:
*
- * https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#webkit-web-view-run-javascript-finish */
+ * https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html */
js_result = webkit_web_view_run_javascript_finish(WEBKIT_WEB_VIEW(object),
result, &err);
}
void
-hover_web_view(WebKitWebView *web_view, WebKitHitTestResult *ht, guint modifiers,
- gpointer data)
+hover_web_view(WebKitWebView *web_view, WebKitHitTestResult *ht,
+ guint modifiers, gpointer data)
{
struct Client *c = (struct Client *)data;
const char *to_show;
webkit_web_context_add_path_to_sandbox(wc, p, TRUE);
g_free(p);
- webkit_web_context_set_process_model(wc,
- WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES);
+ WebKitProcessModel model = WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES;
+ webkit_web_context_set_process_model(wc, model);
p = g_build_filename(g_get_user_data_dir(), __NAME__, "web_extensions",
NULL);
webkit_cookie_manager_set_accept_policy(cm, cfg.cookie_policy);
webkit_web_context_set_favicon_database_directory(wc, NULL);
- webkit_cookie_manager_set_persistent_storage(cm,
- g_build_filename("/",
- g_get_user_cache_dir(),
- __NAME__,
- "cookies.db",
- NULL),
- WEBKIT_COOKIE_PERSISTENT_STORAGE_SQLITE);
+ gchar *fname = g_build_filename("/", g_get_user_cache_dir(), __NAME__,
+ "cookies.db", NULL);
+
+ WebKitCookiePersistentStorage type = WEBKIT_COOKIE_PERSISTENT_STORAGE_SQLITE;
+ webkit_cookie_manager_set_persistent_storage(cm, fname, type);
const gchar * const languages[2] = {(const gchar *)cfg.spellcheck_language,
NULL};
if (event->type == GDK_KEY_PRESS) {
if (((GdkEventKey *)event)->state & GDK_CONTROL_MASK) {
- WebKitSettings *settings = webkit_web_view_get_settings(WEBKIT_WEB_VIEW(c->web_view));
+ WebKitSettings *settings =
+ webkit_web_view_get_settings(WEBKIT_WEB_VIEW(c->web_view));
gboolean js = webkit_settings_get_enable_javascript(settings);
int key = ((GdkEventKey *)event)->keyval;
if (def_key("download_manager", GDK_KEY_y) == key) {
gtk_editable_set_position(GTK_EDITABLE(c->location), -1);
return TRUE;
} else if (def_key("print", GDK_KEY_Print) == key) {
- webkit_print_operation_run_dialog(webkit_print_operation_new(WEBKIT_WEB_VIEW(c->web_view)),
- GTK_WINDOW(gtk_widget_get_toplevel(mw.win)));
+ WebKitPrintOperation *operation =
+ webkit_print_operation_new(WEBKIT_WEB_VIEW(c->web_view));
+ GtkWidget *toplevel = gtk_widget_get_toplevel(mw.win);
+ webkit_print_operation_run_dialog(operation, GTK_WINDOW(toplevel));
return TRUE;
} else if (def_key("quit", GDK_KEY_g) == key) {
search(c, 2);
gtk_widget_grab_focus(c->web_view);
- gtk_entry_set_text(GTK_ENTRY(c->location),
- webkit_web_view_get_uri(WEBKIT_WEB_VIEW(c->web_view)));
+ const gchar *uri =
+ webkit_web_view_get_uri(WEBKIT_WEB_VIEW(c->web_view));
+ gtk_entry_set_text(GTK_ENTRY(c->location), uri);
webkit_web_view_run_javascript(WEBKIT_WEB_VIEW(c->web_view),
"window.getSelection().removeAllRanges();"
"document.activeElement.blur();",
return;
widg = gtk_notebook_get_tab_label(GTK_NOTEBOOK(mw.notebook), child);
- tablabel = (GtkWidget *)g_object_get_data(G_OBJECT(widg), "lariza-tab-label");
+ tablabel = (GtkWidget *)g_object_get_data(G_OBJECT(widg), "chorizo-tab-label");
text = gtk_label_get_text(GTK_LABEL(tablabel));
gtk_window_set_title(GTK_WINDOW(mw.win), text);
}
get_ini(void)
{
GKeyFileFlags flags = G_KEY_FILE_NONE;
- g_autoptr(GError) error = NULL;
config = g_key_file_new();
// Load user config
if (!g_key_file_load_from_file(config,
g_build_filename(g_get_user_config_dir(),
- __NAME__, "lariza.ini",
- NULL), flags, &error)) {
+ __NAME__, "chorizo.ini",
+ NULL), flags, NULL)) {
// Load global config
- if (!g_key_file_load_from_file(config, "/etc/lariza.ini", flags,
- &error)) {
- fprintf(stderr, "Could not load lariza.ini: %s", error->message);
+ if (!g_key_file_load_from_file(config, "/etc/chorizo.ini", flags,
+ NULL)) {
+ fprintf(stderr, "Could not load chorizo.ini");
}
}
return config;
{
int opt, i;
- gtk_init(&argc, &argv);
- get_config();
-
- while ((opt = getopt(argc, argv, "C")) != -1) {
+ while ((opt = getopt(argc, argv, "Cv")) != -1) {
switch (opt) {
case 'C':
cfg.cooperative_instances = FALSE;
break;
+ case 'v':
+ printf("%s %s\n", __NAME__, VERSION);
+ exit(0);
default:
fprintf(stderr, "Usage: "__NAME__" [OPTION]... [URI]...\n");
exit(EXIT_FAILURE);
}
}
+ gtk_init(&argc, &argv);
+ get_config();
+
if (cfg.cooperative_instances)
cooperation_setup();