#include "client.h"
#include "focus.h"
+#include "menu.h"
#include "stacking.h"
#include "frame.h"
+#include "framerender.h"
#include "screen.h"
#include "action.h"
#include "dispatch.h"
#include "openbox.h"
-#include "engine.h"
-#include "render/render.h"
#include <glib.h>
Action *a = g_new0(Action, 1);
a->func = func;
- /* deal with pointers */
- if (func == action_execute)
- a->data.execute.path = NULL;
-
return a;
}
/* deal with pointers */
if (a->func == action_execute || a->func == action_restart)
g_free(a->data.execute.path);
+ else if (a->func == action_showmenu)
+ g_free(a->data.showmenu.name);
g_free(a);
}
char *text;
text = g_strdup_printf(format, a, b);
- engine_size_label(text, TRUE, TRUE, &s);
+ framerender_size_popup_label(text, &s);
XMoveResizeWindow(ob_display, coords,
10, 10, s.width, s.height);
- engine_render_label(coords, &s, text, TRUE, TRUE);
+ framerender_popup_label(coords, &s, text);
g_free(text);
XMapWindow(ob_display, coords);
void action_showmenu(union ActionData *data)
{
- g_message(__FUNCTION__);
+ if (data->showmenu.name) {
+ menu_show(data->showmenu.name, data->showmenu.x, data->showmenu.y,
+ data->showmenu.c);
+ }
}
static void popup_cycle(Client *c, gboolean hide)
a = screen_area(c->desktop);
- engine_size_label(c->title, TRUE, TRUE, &s);
+ framerender_size_popup_label(c->title, &s);
XMoveResizeWindow(ob_display, coords,
a->x + (a->width - s.width) / 2,
a->y + (a->height - s.height) / 2,
s.width, s.height);
- engine_render_label(coords, &s, c->title, TRUE, TRUE);
+ framerender_popup_label(coords, &s, c->title);
XMapWindow(ob_display, coords);
}