Summary Files Commits Branches @commit @diff @stats
path: root / badwolf.c
diff options
context:
space:
mode:
Commitec3bb620f155109c7646252500c8638a472d359c (patch)
Author
 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2020-05-18 04:00:53 +0200
Committer
 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2020-05-18 04:15:05 +0200
Files3a626348a169bbee2c231ed705b2d5011ccc45fa /badwolf.c
goodwolf-ec3bb620f155109c7646252500c8638a472d359c.tar
goodwolf-ec3bb620f155109c7646252500c8638a472d359c.tar.gz
goodwolf-ec3bb620f155109c7646252500c8638a472d359c.zip
Parentf25fc898af62389579deb66fb313ee4e036bb474 (diff)
badwolf.c: drop unbinded right-click on toolbox
This is because of a GtkNotebook bug, which I'm not sure is even gonna get fixed in GTK3. Related: https://gitlab.gnome.org/GNOME/gtk/-/issues/2758
1 files changed, 39 insertions, 3 deletions
-rw-r--r--badwolf.c42
diff --git a/badwolf.c b/badwolf.c
index f9fbcc7..54dcf53 100644
--- a/badwolf.c
+++ b/badwolf.c
@@ -570,6 +570,16 @@ SearchEntryCb_stop__search(GtkSearchEntry *search, gpointer user_data)
return TRUE;
}
+static gboolean
+widgetCb_drop_button3_event(GtkWidget *widget, GdkEvent *event, gpointer user_data)
+{
+ (void)widget;
+ (void)user_data;
+
+ // Button3 being right-click on right-handed mode, left-click on left-handed mode
+ return ((GdkEventButton *)event)->button == 3;
+}
+
struct Client *
new_browser(struct Window *window, const gchar *target_url, WebKitWebView *related_web_view)
{
@@ -720,19 +730,45 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat
/* signals for back/forward buttons */
g_signal_connect(browser->back, "clicked", G_CALLBACK(backCb_clicked), browser);
g_signal_connect(browser->forward, "clicked", G_CALLBACK(forwardCb_clicked), browser);
-
- /* signals for location entry widget */
- g_signal_connect(browser->location, "activate", G_CALLBACK(locationCb_activate), browser);
+ /* prevents GtkNotebook from spawning it's context-menu */
+ g_signal_connect(
+ browser->back, "button-press-event", G_CALLBACK(widgetCb_drop_button3_event), NULL);
+ g_signal_connect(
+ browser->back, "button-release-event", G_CALLBACK(widgetCb_drop_button3_event), NULL);
+ g_signal_connect(
+ browser->forward, "button-press-event", G_CALLBACK(widgetCb_drop_button3_event), NULL);
+ g_signal_connect(
+ browser->forward, "button-release-event", G_CALLBACK(widgetCb_drop_button3_event), NULL);
/* signals for javacript toggle widget */
g_signal_connect(browser->javascript, "toggled", G_CALLBACK(javascriptCb_toggled), browser);
+ /* prevents GtkNotebook from spawning it's context-menu */
+ g_signal_connect(
+ browser->javascript, "button-press-event", G_CALLBACK(widgetCb_drop_button3_event), NULL);
+ g_signal_connect(
+ browser->javascript, "button-release-event", G_CALLBACK(widgetCb_drop_button3_event), NULL);
/* signals for auto_load_images toggle widget */
g_signal_connect(
browser->auto_load_images, "toggled", G_CALLBACK(auto_load_imagesCb_toggled), browser);
+ /* prevents GtkNotebook from spawning it's context-menu */
+ g_signal_connect(browser->auto_load_images,
+ "button-press-event",
+ G_CALLBACK(widgetCb_drop_button3_event),
+ NULL);
+ g_signal_connect(browser->auto_load_images,
+ "button-release-event",
+ G_CALLBACK(widgetCb_drop_button3_event),
+ NULL);
+
+ /* signals for location entry widget */
+ g_signal_connect(browser->location, "activate", G_CALLBACK(locationCb_activate), browser);
/* signals for print button */
g_signal_connect(print, "clicked", G_CALLBACK(printCb_clicked), browser);
+ /* prevents GtkNotebook from spawning it's context-menu */
+ g_signal_connect(print, "button-press-event", G_CALLBACK(widgetCb_drop_button3_event), NULL);
+ g_signal_connect(print, "button-release-event", G_CALLBACK(widgetCb_drop_button3_event), NULL);
/* signals for WebView widget */
g_signal_connect(browser->webView,