aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.def.h62
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