+static void prompt_resize(ObPrompt *self, gint w, gint h)
+{
+ XConfigureRequestEvent req;
+ XSizeHints hints;
+
+ self->width = w;
+ self->height = h;
+
+ /* the user can't resize the prompt */
+ hints.flags = PMinSize | PMaxSize;
+ hints.min_width = hints.max_width = w;
+ hints.min_height = hints.max_height = h;
+ XSetWMNormalHints(ob_display, self->super.window, &hints);
+
+ if (self->mapped) {
+ /* send a configure request like a normal client would */
+ req.type = ConfigureRequest;
+ req.display = ob_display;
+ req.parent = RootWindow(ob_display, ob_screen);
+ req.window = self->super.window;
+ req.width = w;
+ req.height = h;
+ req.value_mask = CWWidth | CWHeight;
+ XSendEvent(req.display, req.window, FALSE, StructureNotifyMask,
+ (XEvent*)&req);
+ }
+ else
+ XResizeWindow(ob_display, self->super.window, w, h);
+}
+