From 7f6bb9caeb3466ffaf297481af905503b69b7ae3 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Sun, 9 Feb 2020 21:35:52 +0100 Subject: keybindings.c: make format --- keybindings.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'keybindings.c') diff --git a/keybindings.c b/keybindings.c index d574276..e134fc4 100644 --- a/keybindings.c +++ b/keybindings.c @@ -29,20 +29,20 @@ badwolf_about_dialog(GtkWindow *main_window, gpointer user_data) char *comments = NULL; - comments = g_strdup_printf( - _("Minimalist and privacy-oriented WebKitGTK+ browser\n" - "Runtime WebKit version: %d.%d.%d"), - webkit_get_major_version(), - webkit_get_minor_version(), - webkit_get_micro_version()); + comments = g_strdup_printf(_("Minimalist and privacy-oriented WebKitGTK+ browser\n" + "Runtime WebKit version: %d.%d.%d"), + webkit_get_major_version(), + webkit_get_minor_version(), + webkit_get_micro_version()); gtk_window_set_transient_for(GTK_WINDOW(about_dialog), main_window); gtk_window_set_destroy_with_parent(GTK_WINDOW(about_dialog), TRUE); gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(about_dialog), "SPDX-License-Identifier: BSD-3-Clause"); - gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(about_dialog), - "2019-2020 Badwolf Authors "); + gtk_about_dialog_set_copyright( + GTK_ABOUT_DIALOG(about_dialog), + "2019-2020 Badwolf Authors "); gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(about_dialog), homepage); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(about_dialog), comments); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about_dialog), version); -- cgit v1.3.1-23-gd82d From 96676069aaaea036dccb73f992852358a65bca47 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Sun, 3 May 2020 02:24:04 +0200 Subject: Add a logo --- Makefile | 15 +++- README.md | 2 + badwolf.c | 1 + badwolf.svg | 117 ++++++++++++++++++++++++++++++++ icons/hicolor/128x128/apps/badwolf.png | Bin 0 -> 6551 bytes icons/hicolor/256x256/apps/badwolf.png | Bin 0 -> 14810 bytes icons/hicolor/48x48/apps/badwolf.png | Bin 0 -> 1958 bytes icons/hicolor/64x64/apps/badwolf.png | Bin 0 -> 2847 bytes icons/hicolor/scalable/apps/badwolf.svg | 2 + icons_size.sh | 4 ++ keybindings.c | 1 + 11 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 badwolf.svg create mode 100644 icons/hicolor/128x128/apps/badwolf.png create mode 100644 icons/hicolor/256x256/apps/badwolf.png create mode 100644 icons/hicolor/48x48/apps/badwolf.png create mode 100644 icons/hicolor/64x64/apps/badwolf.png create mode 100644 icons/hicolor/scalable/apps/badwolf.svg create mode 100755 icons_size.sh (limited to 'keybindings.c') diff --git a/Makefile b/Makefile index f8183b4..d1403cd 100644 --- a/Makefile +++ b/Makefile @@ -20,6 +20,9 @@ DBG ?= PKGCONFIG ?= pkg-config MSGFMT ?= msgfmt +# for i in 48 64 128 256; do echo icons/hicolor/${i}x${i}/apps/badwolf.png; done | tr '\n' ' ' +ICON_SIZES = icons/hicolor/48x48/apps/badwolf.png icons/hicolor/64x64/apps/badwolf.png icons/hicolor/128x128/apps/badwolf.png icons/hicolor/256x256/apps/badwolf.png + DEPS = gtk+-3.0 webkit2gtk-4.0 libsoup-2.4 SRCS = uri.c uri_test.c keybindings.c badwolf.c OBJS = uri.o keybindings.o badwolf.o @@ -33,7 +36,15 @@ CDEPS = -DDATADIR=\"$(DATADIR)\" -DPACKAGE=\"$(PACKAGE)\" -D_POSIX_C_SOURCE=2008 CDEPS += `$(PKGCONFIG) --cflags $(DEPS)` LIBS = `$(PKGCONFIG) --libs $(DEPS)` -all: $(EXE) $(TRANS) po/messages.pot +all: $(EXE) $(ICON_SIZES) $(TRANS) po/messages.pot + +icons/hicolor/scalable/apps/badwolf.svg: badwolf.svg + mkdir -p icons/hicolor/scalable/apps + scour --no-line-breaks --enable-id-stripping --remove-metadata $< $@ + +icons/hicolor/%/apps/badwolf.png: icons/hicolor/scalable/apps/badwolf.svg + mkdir -p `dirname $@` + rsvg-convert -a `echo $@ | cut -d/ -f3 | ./icons_size.sh` $< -o $@ po/messages.pot: $(SRCS) xgettext --keyword=_ --language=C --from-code=UTF-8 -o $@ --add-comments --sort-output --copyright-holder="Badwolf Authors " --package-name="$(PACKAGE)" --package-version="$(VERSION_FULL)" --msgid-bugs-address="contact+badwolf-msgid@hacktivis.me" $(SRCS) @@ -74,6 +85,8 @@ install: all cp -p badwolf.desktop $(DESTDIR)$(APPSDIR)/ mkdir -p $(DESTDIR)$(DOCDIR) cp -p $(DOCS) $(DESTDIR)$(DOCDIR)/ + mkdir -p $(DESTDIR)$(PREFIX)/share + cp -r icons $(DESTDIR)$(PREFIX)/share/ @printf '\nNote: An example AppArmor profile has been installed at '$(DOCDIR)/usr.bin.badwolf'\n' .PHONY: clean diff --git a/README.md b/README.md index 6ce8eef..98734e5 100644 --- a/README.md +++ b/README.md @@ -56,5 +56,7 @@ Dependencies are: Compilation is done with `make CC=${CC:-cc}`, install with `make install`. An example AppArmor profile is provided at `usr.bin.badwolf`, please do runtime checks before deploying. +You'll also need `rsvg-convert(1)` (from librsvg) and scour if you want to regenerate the icons, for example after modifying them or adding a new size. These aren't needed for normal installation as it is bundled. + ## Notes Most of the privacy/security stuff will be done with patches against WebKit as quite a lot isn’t into [WebKitSettings](https://webkitgtk.org/reference/webkit2gtk/stable/WebKitSettings.html) and with generic WebKit extensions that should be resuseable. diff --git a/badwolf.c b/badwolf.c index 75296e4..275b033 100644 --- a/badwolf.c +++ b/badwolf.c @@ -790,6 +790,7 @@ main(int argc, char *argv[]) gtk_window_set_default_size( GTK_WINDOW(window->main_window), BADWOLF_DEFAULT_WIDTH, BADWOLF_DEFAULT_HEIGHT); gtk_window_set_role(GTK_WINDOW(window->main_window), "browser"); + gtk_window_set_icon_name(GTK_WINDOW(window->main_window), "badwolf"); GtkCssProvider *css_provider_app = gtk_css_provider_new(); gchar *provider_path_app = g_build_filename(DATADIR, "interface.css", NULL); diff --git a/badwolf.svg b/badwolf.svg new file mode 100644 index 0000000..3635724 --- /dev/null +++ b/badwolf.svg @@ -0,0 +1,117 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icons/hicolor/128x128/apps/badwolf.png b/icons/hicolor/128x128/apps/badwolf.png new file mode 100644 index 0000000..e2cd289 Binary files /dev/null and b/icons/hicolor/128x128/apps/badwolf.png differ diff --git a/icons/hicolor/256x256/apps/badwolf.png b/icons/hicolor/256x256/apps/badwolf.png new file mode 100644 index 0000000..c391692 Binary files /dev/null and b/icons/hicolor/256x256/apps/badwolf.png differ diff --git a/icons/hicolor/48x48/apps/badwolf.png b/icons/hicolor/48x48/apps/badwolf.png new file mode 100644 index 0000000..0f3af2c Binary files /dev/null and b/icons/hicolor/48x48/apps/badwolf.png differ diff --git a/icons/hicolor/64x64/apps/badwolf.png b/icons/hicolor/64x64/apps/badwolf.png new file mode 100644 index 0000000..a54c7aa Binary files /dev/null and b/icons/hicolor/64x64/apps/badwolf.png differ diff --git a/icons/hicolor/scalable/apps/badwolf.svg b/icons/hicolor/scalable/apps/badwolf.svg new file mode 100644 index 0000000..cae9b3d --- /dev/null +++ b/icons/hicolor/scalable/apps/badwolf.svg @@ -0,0 +1,2 @@ + + diff --git a/icons_size.sh b/icons_size.sh new file mode 100755 index 0000000..29adf3a --- /dev/null +++ b/icons_size.sh @@ -0,0 +1,4 @@ +#!/bin/sh +# Transforms an icon size from the Icon Theme Specification to rsvg-convert(1) options +#sed -r -e 's;^([^x]*)x([^@]*)$;-w \1 -h \2;' -e 's;^([^x]*)x([^@]*)@(.*)$;-w \1 -h \2 -z \3;' +sed -r 's;^([^x]*)x([^@]*)$;-w \1 -h \2;' diff --git a/keybindings.c b/keybindings.c index e134fc4..b6806f3 100644 --- a/keybindings.c +++ b/keybindings.c @@ -46,6 +46,7 @@ badwolf_about_dialog(GtkWindow *main_window, gpointer user_data) gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(about_dialog), homepage); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(about_dialog), comments); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about_dialog), version); + gtk_about_dialog_set_logo_icon_name(GTK_ABOUT_DIALOG(about_dialog), "badwolf"); g_signal_connect(about_dialog, "activate-link", G_CALLBACK(about_dialogCb_activate_link), window); -- cgit v1.3.1-23-gd82d From 1e28a08d0d719fae0797a184372937400f7926ee Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Mon, 11 May 2020 03:53:00 +0200 Subject: keybindings: Esc stops loading --- badwolf.1 | 4 +++- keybindings.c | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'keybindings.c') diff --git a/badwolf.1 b/badwolf.1 index 622faff..a72215e 100644 --- a/badwolf.1 +++ b/badwolf.1 @@ -35,7 +35,9 @@ Focuses on the search entry .It browser C-l Focuses on the location(URL) entry .It browser C-S-r / C-r, browser F5 -Reloads the current tab (with/without clearing cache) +Reloads the content in the current tab (with/without clearing cache) +.It browser Escape +Stops loading the content in the current tab .It browser F7 Toggles caret browsing. .It browser F12 diff --git a/keybindings.c b/keybindings.c index b6806f3..51aac26 100644 --- a/keybindings.c +++ b/keybindings.c @@ -136,6 +136,7 @@ commonCb_key_press_event(struct Window *window, GdkEvent *event, struct Client * switch(((GdkEventKey *)event)->keyval) { case GDK_KEY_F5: webkit_web_view_reload(browser->webView); return TRUE; + case GDK_KEY_Escape: webkit_web_view_stop_loading(browser->webView); return TRUE; case GDK_KEY_F7: toggle_caret_browsing(browser->webView); return TRUE; case GDK_KEY_F12: webkit_web_inspector_show(webkit_web_view_get_inspector(browser->webView)); -- cgit v1.3.1-23-gd82d From 1d1a739cb869a73391759d8d7653b337c8ee8d01 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Tue, 12 May 2020 07:10:49 +0200 Subject: Add Ctrl-p keybinding --- badwolf.c | 11 +++-------- keybindings.c | 4 ++++ 2 files changed, 7 insertions(+), 8 deletions(-) (limited to 'keybindings.c') diff --git a/badwolf.c b/badwolf.c index a94c56d..3a6085e 100644 --- a/badwolf.c +++ b/badwolf.c @@ -510,7 +510,6 @@ printCb_clicked(GtkButton *print, gpointer user_data) webkit_print_operation_run_dialog(print_operation, GTK_WINDOW(browser->window)); } - static gboolean SearchEntryCb_next__match(GtkSearchEntry *search, gpointer user_data) { @@ -597,10 +596,10 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat browser->location = gtk_entry_new(); gtk_widget_set_name(browser->location, "browser__location"); - GtkWidget *print = gtk_button_new_from_icon_name("document-print-symbolic", GTK_ICON_SIZE_SMALL_TOOLBAR); + GtkWidget *print = + gtk_button_new_from_icon_name("document-print-symbolic", GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_widget_set_name(browser->back, "browser__print"); - browser->statusbar = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_set_name(browser->statusbar, "browser__statusbar"); browser->search = gtk_search_entry_new(); @@ -676,11 +675,7 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat TRUE, TRUE, BADWOLF_TOOLBAR_PADDING); - gtk_box_pack_start(GTK_BOX(browser->toolbar), - print, - FALSE, - FALSE, - BADWOLF_TOOLBAR_PADDING); + gtk_box_pack_start(GTK_BOX(browser->toolbar), print, FALSE, FALSE, BADWOLF_TOOLBAR_PADDING); gtk_container_set_focus_child(GTK_CONTAINER(browser->box), browser->toolbar); gtk_container_set_focus_child(GTK_CONTAINER(browser->toolbar), browser->location); diff --git a/keybindings.c b/keybindings.c index 51aac26..75860ed 100644 --- a/keybindings.c +++ b/keybindings.c @@ -100,6 +100,10 @@ commonCb_key_press_event(struct Window *window, GdkEvent *event, struct Client * case GDK_KEY_0: webkit_web_view_set_zoom_level(WEBKIT_WEB_VIEW(browser->webView), 1); return TRUE; + case GDK_KEY_p: + webkit_print_operation_run_dialog(webkit_print_operation_new(browser->webView), + GTK_WINDOW(browser->window)); + return TRUE; } } else -- cgit v1.3.1-23-gd82d