diff --git a/config.def.h b/config.def.h
index 874183d..a2c256c 100644
--- a/config.def.h
+++ b/config.def.h
@@ -217,3 +217,6 @@ static Button buttons[] = {
{ OnAny, 0, 9, clicknavigate, { .i = +1 }, 1 },
{ OnMedia, MODKEY, 1, clickexternplayer, { 0 }, 1 },
};
+
+
+const char *suspended_html = "
⏾";
diff --git a/surf.c b/surf.c
index 17618c7..9374778 100644
--- a/surf.c
+++ b/surf.c
@@ -573,7 +573,7 @@ void tab_mouse_pos_index(GdkEvent *e, Client *c, int *index, bool *close_tab) {
if (close_tab != NULL) {
int x_width = MIN(get_font_size(c->tab_bar) * 5 / 2, tab_width / 4);
- *close_tab = (x - *index * tab_width > tab_width - x_width);
+ *close_tab = (x - *index * tab_width > tab_width - x_width && *index < n_tabs);
}
}
@@ -1003,6 +1003,12 @@ loaduri(Client *c, const Arg *a)
if (g_strcmp0(uri, "") == 0)
return;
+
+ Tab *selected_tab = g_list_nth_data(c->tabs, c->selected_tab);
+ if (selected_tab->suspended) {
+ webkit_web_view_load_alternate_html(c->view, suspended_html, uri, NULL);
+ return;
+ }
if (g_str_has_prefix(uri, "http://") ||
g_str_has_prefix(uri, "https://") ||