S. Gilles
2018-10-15 04:56:50 UTC
Signed-off-by: S Gilles <***@math.umd.edu>
---
Fixes the following program. This could probably also be done be
adjusting configurerequest.
/* cc -o mwe mwe.c $(pkg-config --cflags --libs gtk+-2.0) */
#include <gtk/gtk.h>
#include <X11/X.h>
static int x, y;
static gboolean tick(gpointer p)
{
gtk_entry_progress_pulse(GTK_ENTRY((GtkWidget *) p));
if (x++ > 99)
gtk_main_quit();
return 1;
}
static gboolean tock(gpointer p)
{
gtk_image_set_from_icon_name(GTK_IMAGE((GtkWidget *) p),
"text-x-generic", (y++ % 2) ?
GTK_ICON_SIZE_DIALOG :
GTK_ICON_SIZE_MENU);
return 1;
}
int main(int argc, char **argv)
{
GtkWidget *w, *h, *e, *i;
gtk_init(0, 0);
w = (argc == 2) ? gtk_plug_new(strtoll(argv[1], 0, 0)) :
gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(w), 1024, 800);
h = gtk_hbox_new(0, 0);
e = gtk_entry_new();
i = gtk_image_new();
gtk_container_add(GTK_CONTAINER(w), h);
gtk_box_pack_start(GTK_BOX(h), e, 0, 0, 0);
gtk_box_pack_start(GTK_BOX(h), i, 0, 0, 0);
g_timeout_add(100, tick, (gpointer) e);
g_timeout_add(550, tock, (gpointer) i);
gtk_widget_show_all(w);
gtk_main();
return 0;
}
tabbed.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tabbed.c b/tabbed.c
index ff3ada0..7bb16e3 100644
--- a/tabbed.c
+++ b/tabbed.c
@@ -859,6 +859,9 @@ propertynotify(const XEvent *e)
}
}
XFree(wmh);
+ } else if (ev->state == PropertyNewValue && ev->atom == XA_WM_NORMAL_HINTS &&
+ (c = getclient(ev->window)) > -1) {
+ resize(c, ww, wh - bh);
} else if (ev->state != PropertyDelete && ev->atom == XA_WM_NAME &&
(c = getclient(ev->window)) > -1) {
updatetitle(c);
---
Fixes the following program. This could probably also be done be
adjusting configurerequest.
/* cc -o mwe mwe.c $(pkg-config --cflags --libs gtk+-2.0) */
#include <gtk/gtk.h>
#include <X11/X.h>
static int x, y;
static gboolean tick(gpointer p)
{
gtk_entry_progress_pulse(GTK_ENTRY((GtkWidget *) p));
if (x++ > 99)
gtk_main_quit();
return 1;
}
static gboolean tock(gpointer p)
{
gtk_image_set_from_icon_name(GTK_IMAGE((GtkWidget *) p),
"text-x-generic", (y++ % 2) ?
GTK_ICON_SIZE_DIALOG :
GTK_ICON_SIZE_MENU);
return 1;
}
int main(int argc, char **argv)
{
GtkWidget *w, *h, *e, *i;
gtk_init(0, 0);
w = (argc == 2) ? gtk_plug_new(strtoll(argv[1], 0, 0)) :
gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(w), 1024, 800);
h = gtk_hbox_new(0, 0);
e = gtk_entry_new();
i = gtk_image_new();
gtk_container_add(GTK_CONTAINER(w), h);
gtk_box_pack_start(GTK_BOX(h), e, 0, 0, 0);
gtk_box_pack_start(GTK_BOX(h), i, 0, 0, 0);
g_timeout_add(100, tick, (gpointer) e);
g_timeout_add(550, tock, (gpointer) i);
gtk_widget_show_all(w);
gtk_main();
return 0;
}
tabbed.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tabbed.c b/tabbed.c
index ff3ada0..7bb16e3 100644
--- a/tabbed.c
+++ b/tabbed.c
@@ -859,6 +859,9 @@ propertynotify(const XEvent *e)
}
}
XFree(wmh);
+ } else if (ev->state == PropertyNewValue && ev->atom == XA_WM_NORMAL_HINTS &&
+ (c = getclient(ev->window)) > -1) {
+ resize(c, ww, wh - bh);
} else if (ev->state != PropertyDelete && ev->atom == XA_WM_NAME &&
(c = getclient(ev->window)) > -1) {
updatetitle(c);
--
2.19.1
2.19.1