diff options
Diffstat (limited to 'frontends/gtk/gui.c')
-rw-r--r-- | frontends/gtk/gui.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/frontends/gtk/gui.c b/frontends/gtk/gui.c index a826b053a..661176ded 100644 --- a/frontends/gtk/gui.c +++ b/frontends/gtk/gui.c @@ -44,6 +44,7 @@ #include "netsurf/browser.h" #include "netsurf/browser_window.h" #include "netsurf/netsurf.h" +#include "netsurf/bitmap.h" #include "content/fetch.h" #include "content/backing_store.h" #include "desktop/save_complete.h" @@ -131,12 +132,16 @@ uint32_t gtk_gui_gdkkey_to_nskey(GdkEventKey *key) case GDK_KEY(BackSpace): if (key->state & GDK_SHIFT_MASK) return NS_KEY_DELETE_LINE_START; + else if (key->state & GDK_CONTROL_MASK) + return NS_KEY_DELETE_WORD_LEFT; else return NS_KEY_DELETE_LEFT; case GDK_KEY(Delete): if (key->state & GDK_SHIFT_MASK) return NS_KEY_DELETE_LINE_END; + else if (key->state & GDK_CONTROL_MASK) + return NS_KEY_DELETE_WORD_RIGHT; else return NS_KEY_DELETE_RIGHT; @@ -148,10 +153,14 @@ uint32_t gtk_gui_gdkkey_to_nskey(GdkEventKey *key) case GDK_KEY(Left): case GDK_KEY(KP_Left): + if (key->state & GDK_CONTROL_MASK) + return NS_KEY_WORD_LEFT; return NS_KEY_LEFT; case GDK_KEY(Right): case GDK_KEY(KP_Right): + if (key->state & GDK_CONTROL_MASK) + return NS_KEY_WORD_RIGHT; return NS_KEY_RIGHT; case GDK_KEY(Up): @@ -972,6 +981,11 @@ static nserror nsgtk_setup(int argc, char** argv, char **respath) browser_set_dpi(gdk_screen_get_resolution(gdk_screen_get_default())); NSLOG(netsurf, INFO, "Set CSS DPI to %d", browser_get_dpi()); + bitmap_set_format(&(bitmap_fmt_t) { + .layout = BITMAP_LAYOUT_ARGB8888, + .pma = true, + }); + filepath_sfinddef(respath, buf, "mime.types", "/etc/"); gtk_fetch_filetype_init(buf); |