diff options
| -rw-r--r-- | config.def.h | 62 |
1 files changed, 60 insertions, 2 deletions
diff --git a/config.def.h b/config.def.h index 3e2b792..ce526bb 100644 --- a/config.def.h +++ b/config.def.h @@ -30,6 +30,7 @@ extern void set_mode(Cinnamon* cinnamon, int new_mode); /* Keybind definitions */ /* we use the _kbd prefix here just because, idk, good practice to keep keybinds isolated? in practice use whatever the hell you want as long as it doesnt interfere with builtin functions */ +extern bool cmdbar_focused; static void _kbd_insmode(Cinnamon* cinnamon, void* arg) { set_mode(cinnamon, 1); } @@ -79,10 +80,39 @@ static void _kbd_toggletabs(Cinnamon* cinnamon, void* arg) { gtk_notebook_set_show_tabs(GTK_NOTEBOOK(cinnamon->notebook), !gtk_notebook_get_show_tabs(GTK_NOTEBOOK(cinnamon->notebook))); } +static void _kbd_opencmd(Cinnamon* cinnamon, void* arg) { + gtk_entry_set_text(GTK_ENTRY(cinnamon->cmdbar), "open "); + gtk_widget_show(cinnamon->cmdbar); + gtk_widget_grab_focus(cinnamon->cmdbar); + gtk_editable_set_position(GTK_EDITABLE(cinnamon->cmdbar), -1); + cmdbar_focused = true; + set_mode(cinnamon, 1); +} + +static void _kbd_reload(Cinnamon* cinnamon, void* arg) { + GtkWidget *webview = gtk_notebook_get_nth_page(GTK_NOTEBOOK(cinnamon->notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(cinnamon->notebook))); + webkit_web_view_reload(WEBKIT_WEB_VIEW(webview)); +} + +static void _kbd_hardreload(Cinnamon* cinnamon, void* arg) { + GtkWidget *webview = gtk_notebook_get_nth_page(GTK_NOTEBOOK(cinnamon->notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(cinnamon->notebook))); + webkit_web_view_reload_bypass_cache(WEBKIT_WEB_VIEW(webview)); +} + +static void _kbd_back(Cinnamon* cinnamon, void* arg) { + GtkWidget *webview = gtk_notebook_get_nth_page(GTK_NOTEBOOK(cinnamon->notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(cinnamon->notebook))); + webkit_web_view_go_back(WEBKIT_WEB_VIEW(webview)); +} + +static void _kbd_forward(Cinnamon* cinnamon, void* arg) { + GtkWidget *webview = gtk_notebook_get_nth_page(GTK_NOTEBOOK(cinnamon->notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(cinnamon->notebook))); + webkit_web_view_go_forward(WEBKIT_WEB_VIEW(webview)); +} + static const Keybind keybinds[] = { { "t", &_kbd_tabopen, NULL }, { "d", &_kbd_tabclose, NULL }, - // { "o", ":commandline_show \":open\"" }, + { "o", &_kbd_opencmd, NULL }, { "s", &_kbd_toggletabs, NULL }, { "<S-i>", &_kbd_passthru, NULL }, { "i", &_kbd_insmode, NULL }, @@ -90,6 +120,10 @@ static const Keybind keybinds[] = { { "k", &_kbd_scroll, "up" }, { "h", &_kbd_scroll, "left" }, { "l", &_kbd_scroll, "right" }, + { "r", &_kbd_reload, NULL }, + { "<S-h>", &_kbd_back, NULL }, + { "<S-l>", &_kbd_forward, NULL }, + { "<S-r>", &_kbd_hardreload, NULL }, { "<A-1>", &_kbd_tabsel, (void*)(intptr_t)0 }, { "<A-2>", &_kbd_tabsel, (void*)(intptr_t)1 }, { "<A-3>", &_kbd_tabsel, (void*)(intptr_t)2 }, @@ -130,8 +164,32 @@ static void _cmd_open(Cinnamon* cinnamon, const char* args) { webkit_web_view_load_uri(WEBKIT_WEB_VIEW(webview), uri); } +static void _cmd_reload(Cinnamon* cinnamon, const char* args) { + GtkWidget *webview = gtk_notebook_get_nth_page(GTK_NOTEBOOK(cinnamon->notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(cinnamon->notebook))); + webkit_web_view_reload(WEBKIT_WEB_VIEW(webview)); +} + +static void _cmd_hardreload(Cinnamon* cinnamon, const char* args) { + GtkWidget *webview = gtk_notebook_get_nth_page(GTK_NOTEBOOK(cinnamon->notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(cinnamon->notebook))); + webkit_web_view_reload_bypass_cache(WEBKIT_WEB_VIEW(webview)); +} + +static void _cmd_back(Cinnamon* cinnamon, const char* args) { + GtkWidget *webview = gtk_notebook_get_nth_page(GTK_NOTEBOOK(cinnamon->notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(cinnamon->notebook))); + webkit_web_view_go_back(WEBKIT_WEB_VIEW(webview)); +} + +static void _cmd_forward(Cinnamon* cinnamon, const char* args) { + GtkWidget *webview = gtk_notebook_get_nth_page(GTK_NOTEBOOK(cinnamon->notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(cinnamon->notebook))); + webkit_web_view_go_forward(WEBKIT_WEB_VIEW(webview)); +} + static const Command commands[] = { - { "open", &_cmd_open } + { "open", &_cmd_open }, + { "reload", &_cmd_reload }, + { "hard_reload", &_cmd_hardreload }, + { "back", &_cmd_back }, + { "forward", &_cmd_forward }, }; #endif |
