Ejemplo n.º 1
0
static void
openApplicationMenu(WApplication *wapp, int x, int y)
{
    WMenu *menu;
    WScreen *scr = wapp->main_window_desc->screen_ptr;
    int i;

    if (!scr->icon_menu) {
        scr->icon_menu = createApplicationMenu(scr);
        wfree(scr->icon_menu->entries[1]->text);
    }

    menu = scr->icon_menu;

    if (wapp->flags.hidden) {
        menu->entries[1]->text = _("Unhide");
    } else {
        menu->entries[1]->text = _("Hide");
    }

    menu->flags.realized = 0;
    wMenuRealize(menu);

    x -= menu->frame->core->width/2;
    if (x + menu->frame->core->width > scr->scr_width)
        x = scr->scr_width - menu->frame->core->width;
    if (x < 0)
        x = 0;

    /* set client data */
    for (i = 0; i < menu->entry_no; i++) {
        menu->entries[i]->clientdata = wapp;
    }
    wMenuMapAt(menu, x, y, False);
}
Ejemplo n.º 2
0
static WMenu *openApplicationMenu(WApplication *wapp, int x, int y)
{
	WMenu *menu;
	virtual_screen *vscr = wapp->main_window_desc->vscr;
	WScreen *scr = vscr->screen_ptr;
	int i;

	menu = createApplicationMenu(vscr, wapp->flags.hidden);
	menu->flags.realized = 0;

	/* set client data */
	for (i = 0; i < menu->entry_no; i++)
		menu->entries[i]->clientdata = wapp;

	/* Menu position inside the screen */
	x -= menu->frame->width / 2;
	if (x + menu->frame->width > scr->scr_width)
		x = scr->scr_width - menu->frame->width;

	if (x < 0)
		x = 0;

	menu->x_pos = x;
	menu->y_pos = y;
	menu_map(menu);
	wMenuMapAt(vscr, menu, False);

	return menu;
}
Ejemplo n.º 3
0
void OpenMiniwindowMenu(WWindow * wwin, int x, int y)
{
	WMenu *menu;

	menu = open_window_menu_core(wwin);
	if (!menu)
		return;

	x -= menu->frame->core->width / 2;

	wMenuMapAt(menu, x, y, False);
}
Ejemplo n.º 4
0
void OpenWindowMenu(WWindow *wwin, int x, int y, int keyboard)
{
	WMenu *menu;

	menu = open_window_menu_core(wwin);
	if (!menu)
		return;

	/* Specific menu position */
	x -= menu->frame->core->width / 2;
	if (x + menu->frame->core->width > wwin->frame_x + wwin->frame->core->width)
		x = wwin->frame_x + wwin->frame->core->width - menu->frame->core->width;
	if (x < wwin->frame_x)
		x = wwin->frame_x;

	/* Common menu position */
	prepare_menu_position(menu, &x, &y);

	if (!wwin->flags.internal_window)
		wMenuMapAt(menu, x, y, keyboard);
}
Ejemplo n.º 5
0
void OpenWindowMenu2(WWindow *wwin, int x, int y, int keyboard)
{
	int i;
	WMenu *menu;
	WScreen *scr = wwin->screen_ptr;

	menu = open_window_menu_core(wwin);
	if (!menu)
		return;

	/* Specific menu position */
	for (i = 0; i < scr->workspace_submenu->entry_no; i++) {
		scr->workspace_submenu->entries[i]->clientdata = wwin;
		wMenuSetEnabled(scr->workspace_submenu, i, True);
	}

	x -= menu->frame->core->width / 2;

	/* Common menu position */
	prepare_menu_position(menu, &x, &y);

	if (!wwin->flags.internal_window)
		wMenuMapAt(menu, x, y, keyboard);
}