tAdd createwindow() for GtkWindow creation - surf - customized build of surf, t… | |
git clone git://src.adamsgaard.dk/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit bb1fc4195f4fa3be5625d0f663e537a22ccf1877 | |
parent 2e1fb873613b3917b97c954f0c085ea05016bdce | |
Author: Quentin Rameau <[email protected]> | |
Date: Thu, 19 Nov 2015 14:38:23 +0100 | |
Add createwindow() for GtkWindow creation | |
Move there window creation from showview(). | |
Diffstat: | |
M surf.c | 64 ++++++++++++++++++-----------… | |
1 file changed, 37 insertions(+), 27 deletions(-) | |
--- | |
diff --git a/surf.c b/surf.c | |
t@@ -161,6 +161,7 @@ static Client *newclient(Client *c); | |
static WebKitWebView *newview(Client *c, WebKitWebView *rv); | |
static void showview(WebKitWebView *v, Client *c); | |
static void newwindow(Client *c, const Arg *arg, gboolean noembed); | |
+static GtkWidget *createwindow(Client *c); | |
static void pasteuri(GtkClipboard *clipboard, const char *text, gpointer d); | |
static void print(Client *c, const Arg *arg); | |
static GdkFilterReturn processx(GdkXEvent *xevent, GdkEvent *event, | |
t@@ -1017,33 +1018,7 @@ showview(WebKitWebView *v, Client *c) | |
GdkRGBA bgcolor = { 0 }; | |
GdkWindow *gwin; | |
- /* Window */ | |
- if (embed) { | |
- c->win = gtk_plug_new(embed); | |
- } else { | |
- c->win = gtk_window_new(GTK_WINDOW_TOPLEVEL); | |
- | |
- /* TA: 20091214: Despite what the GNOME docs say, the ICCCM | |
- * is always correct, so we should still call this function. | |
- * But when doing so, we *must* differentiate between a | |
- * WM_CLASS and a resource on the window. By convention, the | |
- * window class (WM_CLASS) is capped, while the resource is in | |
- * lowercase. Both these values come as a pair. | |
- */ | |
- gtk_window_set_wmclass(GTK_WINDOW(c->win), "surf", "Surf"); | |
- | |
- /* TA: 20091214: And set the role here as well -- so that | |
- * sessions can pick this up. | |
- */ | |
- gtk_window_set_role(GTK_WINDOW(c->win), "Surf"); | |
- } | |
- gtk_window_set_default_size(GTK_WINDOW(c->win), 800, 600); | |
- g_signal_connect(G_OBJECT(c->win), | |
- "destroy", | |
- G_CALLBACK(destroywin), c); | |
- g_signal_connect(G_OBJECT(c->win), | |
- "leave_notify_event", | |
- G_CALLBACK(titlechangeleave), c); | |
+ c->win = createwindow(c); | |
if (!kioskmode) | |
addaccelgroup(c); | |
t@@ -1128,6 +1103,41 @@ newwindow(Client *c, const Arg *arg, gboolean noembed) | |
spawn(NULL, &a); | |
} | |
+GtkWidget * | |
+createwindow(Client *c) | |
+{ | |
+ GtkWidget *w; | |
+ | |
+ if (embed) { | |
+ w = gtk_plug_new(embed); | |
+ } else { | |
+ w = gtk_window_new(GTK_WINDOW_TOPLEVEL); | |
+ | |
+ /* TA: 20091214: Despite what the GNOME docs say, the ICCCM | |
+ * is always correct, so we should still call this function. | |
+ * But when doing so, we *must* differentiate between a | |
+ * WM_CLASS and a resource on the window. By convention, the | |
+ * window class (WM_CLASS) is capped, while the resource is in | |
+ * lowercase. Both these values come as a pair. | |
+ */ | |
+ gtk_window_set_wmclass(GTK_WINDOW(w), "surf", "Surf"); | |
+ | |
+ /* TA: 20091214: And set the role here as well -- so that | |
+ * sessions can pick this up. | |
+ */ | |
+ gtk_window_set_role(GTK_WINDOW(w), "Surf"); | |
+ | |
+ gtk_window_set_default_size(GTK_WINDOW(w), 800, 600); | |
+ } | |
+ | |
+ g_signal_connect(G_OBJECT(w), "destroy", | |
+ G_CALLBACK(destroywin), c); | |
+ g_signal_connect(G_OBJECT(w), "leave_notify_event", | |
+ G_CALLBACK(titlechangeleave), c); | |
+ | |
+ return w; | |
+} | |
+ | |
void | |
pasteuri(GtkClipboard *clipboard, const char *text, gpointer d) | |
{ |