/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
client_menu.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
ObMenuEntry *e;
GList *it;
- frame->show_title = FALSE;
-
for (it = menu->entries; it; it = g_list_next(it)) {
e = it->data;
if (e->type == OB_MENU_ENTRY_TYPE_NORMAL)
e->data.normal.enabled = frame->client->functions & OB_CLIENT_FUNC_ICONIFY;
e = menu_find_entry_id(menu, CLIENT_MAXIMIZE);
- e->data.normal.label = frame->client->max_vert || frame->client->max_horz ?
- _("Restore") : _("Maximize");
+ g_free(e->data.normal.label);
+ e->data.normal.label =
+ g_strdup(frame->client->max_vert || frame->client->max_horz ?
+ _("Restore") : _("Maximize"));
e->data.normal.enabled =frame->client->functions & OB_CLIENT_FUNC_MAXIMIZE;
e = menu_find_entry_id(menu, CLIENT_SHADE);
- e->data.normal.label = frame->client->shaded ?
- _("Roll down") : _("Roll up");
+ g_free(e->data.normal.label);
+ e->data.normal.label = g_strdup(frame->client->shaded ?
+ _("Roll down") : _("Roll up"));
e->data.normal.enabled = frame->client->functions & OB_CLIENT_FUNC_SHADE;
e = menu_find_entry_id(menu, CLIENT_MOVE);
guint i;
GSList *acts;
ObAction *act;
+ ObMenuEntry *e;;
menu_clear_entries(menu);
return;
for (i = 0; i <= screen_num_desktops; ++i) {
- gchar *name;
+ const gchar *name;
guint desk;
if (i >= screen_num_desktops) {
- menu_add_separator(menu, -1);
+ menu_add_separator(menu, -1, NULL);
desk = DESKTOP_ALL;
name = _("All desktops");
act->data.sendto.desk = desk;
act->data.sendto.follow = FALSE;
acts = g_slist_prepend(NULL, act);
- menu_add_normal(menu, desk, name, acts);
+ e = menu_add_normal(menu, desk, name, acts);
- if (frame->client->desktop == desk) {
- ObMenuEntry *e = menu_find_entry_id(menu, desk);
- g_assert(e);
+ if (frame->client->desktop == desk)
e->data.normal.enabled = FALSE;
- }
}
}
menu = menu_new(CLIENT_MENU_NAME, _("Client menu"), NULL);
menu_set_update_func(menu, client_update);
- e = menu_add_submenu(menu, CLIENT_SEND_TO, SEND_TO_MENU_NAME);
- e->data.normal.mask = ob_rr_theme->desk_mask;
- e->data.normal.mask_normal_color = ob_rr_theme->menu_color;
- e->data.normal.mask_disabled_color = ob_rr_theme->menu_disabled_color;
- e->data.normal.mask_selected_color = ob_rr_theme->menu_selected_color;
+ menu_add_submenu(menu, CLIENT_SEND_TO, SEND_TO_MENU_NAME);
menu_add_submenu(menu, CLIENT_LAYER, LAYER_MENU_NAME);
OB_USER_ACTION_MENU_SELECTION));
menu_add_normal(menu, CLIENT_DECORATE, _("Decorate"), acts);
- menu_add_separator(menu, -1);
+ menu_add_separator(menu, -1, NULL);
acts = g_slist_prepend(NULL, action_from_string
("Move", OB_USER_ACTION_MENU_SELECTION));
("Resize", OB_USER_ACTION_MENU_SELECTION));
menu_add_normal(menu, CLIENT_RESIZE, _("Resize"), acts);
- menu_add_separator(menu, -1);
+ menu_add_separator(menu, -1, NULL);
acts = g_slist_prepend(NULL, action_from_string
("Close", OB_USER_ACTION_MENU_SELECTION));