move the client and client-list menus into the 'kernel'
This commit is contained in:
parent
f85fea3b2d
commit
a9567a8163
7 changed files with 80 additions and 180 deletions
88
Makefile.am
88
Makefile.am
|
@ -3,7 +3,6 @@ SUBDIRS = m4 po
|
||||||
themedir = $(datadir)/openbox/themes
|
themedir = $(datadir)/openbox/themes
|
||||||
localedir = $(datadir)/locale
|
localedir = $(datadir)/locale
|
||||||
rcdir = $(datadir)/openbox
|
rcdir = $(datadir)/openbox
|
||||||
plugindir = $(libdir)/openbox/plugins
|
|
||||||
desktopfilesdir = $(datadir)/gnome/wm-properties
|
desktopfilesdir = $(datadir)/gnome/wm-properties
|
||||||
pixmapdir = $(datadir)/pixmaps
|
pixmapdir = $(datadir)/pixmaps
|
||||||
|
|
||||||
|
@ -25,13 +24,6 @@ bin_PROGRAMS = \
|
||||||
kernel/openbox \
|
kernel/openbox \
|
||||||
tools/kdetrayproxy/kdetrayproxy
|
tools/kdetrayproxy/kdetrayproxy
|
||||||
|
|
||||||
plugin_LTLIBRARIES = \
|
|
||||||
plugins/menu/client_menu.la \
|
|
||||||
plugins/menu/client_list_menu.la
|
|
||||||
# plugins/menu/timed_menu.la \
|
|
||||||
# plugins/menu/fifo_menu.la \
|
|
||||||
# plugins/menu/include_menu.la \
|
|
||||||
|
|
||||||
if OBCONF
|
if OBCONF
|
||||||
bin_PROGRAMS += \
|
bin_PROGRAMS += \
|
||||||
tools/obconf/obconf
|
tools/obconf/obconf
|
||||||
|
@ -103,7 +95,6 @@ kernel_openbox_CPPFLAGS = \
|
||||||
$(LIBSN_CFLAGS) \
|
$(LIBSN_CFLAGS) \
|
||||||
$(XML_CFLAGS) \
|
$(XML_CFLAGS) \
|
||||||
-DLOCALEDIR=\"$(localedir)\" \
|
-DLOCALEDIR=\"$(localedir)\" \
|
||||||
-DPLUGINDIR=\"$(plugindir)\" \
|
|
||||||
-DRCDIR=\"$(rcdir)\" \
|
-DRCDIR=\"$(rcdir)\" \
|
||||||
-DG_LOG_DOMAIN=\"Openbox\"
|
-DG_LOG_DOMAIN=\"Openbox\"
|
||||||
kernel_openbox_LDADD = \
|
kernel_openbox_LDADD = \
|
||||||
|
@ -128,6 +119,10 @@ kernel_openbox_SOURCES = \
|
||||||
kernel/action.h \
|
kernel/action.h \
|
||||||
kernel/client.c \
|
kernel/client.c \
|
||||||
kernel/client.h \
|
kernel/client.h \
|
||||||
|
kernel/client_list_menu.c \
|
||||||
|
kernel/client_list_menu.h \
|
||||||
|
kernel/client_menu.c \
|
||||||
|
kernel/client_menu.h \
|
||||||
kernel/config.c \
|
kernel/config.c \
|
||||||
kernel/config.h \
|
kernel/config.h \
|
||||||
kernel/debug.c \
|
kernel/debug.c \
|
||||||
|
@ -167,8 +162,6 @@ kernel_openbox_SOURCES = \
|
||||||
kernel/openbox.h \
|
kernel/openbox.h \
|
||||||
kernel/place.c \
|
kernel/place.c \
|
||||||
kernel/place.h \
|
kernel/place.h \
|
||||||
kernel/plugin.c \
|
|
||||||
kernel/plugin.h \
|
|
||||||
kernel/popup.c \
|
kernel/popup.c \
|
||||||
kernel/popup.h \
|
kernel/popup.h \
|
||||||
kernel/prop.c \
|
kernel/prop.c \
|
||||||
|
@ -190,78 +183,7 @@ kernel_openbox_SOURCES = \
|
||||||
kernel/window.c \
|
kernel/window.c \
|
||||||
kernel/window.h \
|
kernel/window.h \
|
||||||
kernel/xerror.c \
|
kernel/xerror.c \
|
||||||
kernel/xerror.h \
|
kernel/xerror.h
|
||||||
plugins/interface.h
|
|
||||||
|
|
||||||
## plugins/menu ##
|
|
||||||
|
|
||||||
plugins_menu_timed_menu_la_CPPFLAGS = \
|
|
||||||
$(XFT_CFLAGS) \
|
|
||||||
$(GLIB_CFLAGS) \
|
|
||||||
$(LIBSN_CFLAGS) \
|
|
||||||
$(XML_CFLAGS) \
|
|
||||||
-DPLUGINDIR=\"$(plugindir)\" \
|
|
||||||
-DG_LOG_DOMAIN=\"Plugin-Timed-Menu\"
|
|
||||||
plugins_menu_timed_menu_la_LDFLAGS = \
|
|
||||||
-module \
|
|
||||||
-avoid-version
|
|
||||||
plugins_menu_timed_menu_la_SOURCES = \
|
|
||||||
plugins/menu/timed_menu.c \
|
|
||||||
plugins/menu/timed_menu.h
|
|
||||||
|
|
||||||
plugins_menu_fifo_menu_la_CPPFLAGS = \
|
|
||||||
$(XFT_CFLAGS) \
|
|
||||||
$(GLIB_CFLAGS) \
|
|
||||||
$(LIBSN_CFLAGS) \
|
|
||||||
$(XML_CFLAGS) \
|
|
||||||
-DPLUGINDIR=\"$(plugindir)\" \
|
|
||||||
-DG_LOG_DOMAIN=\"Plugin-Fifo-Menu\"
|
|
||||||
plugins_menu_fifo_menu_la_LDFLAGS = \
|
|
||||||
-module \
|
|
||||||
-avoid-version
|
|
||||||
plugins_menu_fifo_menu_la_SOURCES = \
|
|
||||||
plugins/menu/fifo_menu.c \
|
|
||||||
plugins/menu/fifo_menu.h
|
|
||||||
|
|
||||||
plugins_menu_client_menu_la_CPPFLAGS = \
|
|
||||||
$(XFT_CFLAGS) \
|
|
||||||
$(GLIB_CFLAGS) \
|
|
||||||
$(LIBSN_CFLAGS) \
|
|
||||||
$(XML_CFLAGS) \
|
|
||||||
-DPLUGINDIR=\"$(plugindir)\" \
|
|
||||||
-DG_LOG_DOMAIN=\"Plugin-Client-Menu\"
|
|
||||||
plugins_menu_client_menu_la_LDFLAGS = \
|
|
||||||
-module \
|
|
||||||
-avoid-version
|
|
||||||
plugins_menu_client_menu_la_SOURCES = \
|
|
||||||
plugins/menu/client_menu.c
|
|
||||||
|
|
||||||
plugins_menu_include_menu_la_CPPFLAGS = \
|
|
||||||
$(XFT_CFLAGS) \
|
|
||||||
$(GLIB_CFLAGS) \
|
|
||||||
$(LIBSN_CFLAGS) \
|
|
||||||
$(XML_CFLAGS) \
|
|
||||||
-DPLUGINDIR=\"$(plugindir)\" \
|
|
||||||
-DG_LOG_DOMAIN=\"Plugin-Include-Menu\"
|
|
||||||
plugins_menu_include_menu_la_LDFLAGS = \
|
|
||||||
-module \
|
|
||||||
-avoid-version
|
|
||||||
plugins_menu_include_menu_la_SOURCES = \
|
|
||||||
plugins/menu/include_menu.c
|
|
||||||
|
|
||||||
plugins_menu_client_list_menu_la_CPPFLAGS = \
|
|
||||||
$(XFT_CFLAGS) \
|
|
||||||
$(GLIB_CFLAGS) \
|
|
||||||
$(LIBSN_CFLAGS) \
|
|
||||||
$(XML_CFLAGS) \
|
|
||||||
-DPLUGINDIR=\"$(plugindir)\" \
|
|
||||||
-DG_LOG_DOMAIN=\"Plugin-Client-List-Menu\"
|
|
||||||
plugins_menu_client_list_menu_la_LDFLAGS = \
|
|
||||||
-module \
|
|
||||||
-avoid-version
|
|
||||||
plugins_menu_client_list_menu_la_SOURCES = \
|
|
||||||
o plugins/menu/client_list_menu.c
|
|
||||||
|
|
||||||
|
|
||||||
## obconf ##
|
## obconf ##
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
<menu id="apps-menu" />
|
<menu id="apps-menu" />
|
||||||
<menu id="games-menu" />
|
<menu id="games-menu" />
|
||||||
<separator />
|
<separator />
|
||||||
<menu id="client-list-menu" plugin="client_list_menu" />
|
<menu id="client-list-menu" />
|
||||||
<separator />
|
<separator />
|
||||||
<item label="Restart">
|
<item label="Restart">
|
||||||
<action name="restart" />
|
<action name="restart" />
|
||||||
|
|
20
data/rc3
20
data/rc3
|
@ -132,9 +132,7 @@
|
||||||
<action name="lower"/>
|
<action name="lower"/>
|
||||||
</mousebind>
|
</mousebind>
|
||||||
<mousebind button="A-Right" action="press">
|
<mousebind button="A-Right" action="press">
|
||||||
<action name="showmenu">
|
<action name="showmenu"><menu>client-menu</menu></action>
|
||||||
<menu plugin="client_menu">client-menu</menu>
|
|
||||||
</action>
|
|
||||||
</mousebind>
|
</mousebind>
|
||||||
<mousebind button="A-Up" action="click">
|
<mousebind button="A-Up" action="click">
|
||||||
<action name="desktopright"/>
|
<action name="desktopright"/>
|
||||||
|
@ -172,9 +170,7 @@
|
||||||
<action name="unshade"/>
|
<action name="unshade"/>
|
||||||
</mousebind>
|
</mousebind>
|
||||||
<mousebind button="Right" action="press">
|
<mousebind button="Right" action="press">
|
||||||
<action name="showmenu">
|
<action name="showmenu"><menu>client-menu</menu></action>
|
||||||
<menu plugin="client_menu">client-menu</menu>
|
|
||||||
</action>
|
|
||||||
</mousebind>
|
</mousebind>
|
||||||
</context>
|
</context>
|
||||||
<context name="handle">
|
<context name="handle">
|
||||||
|
@ -240,14 +236,10 @@
|
||||||
<action name="focus"/>
|
<action name="focus"/>
|
||||||
</mousebind>
|
</mousebind>
|
||||||
<mousebind button="Right" action="press">
|
<mousebind button="Right" action="press">
|
||||||
<action name="showmenu">
|
<action name="showmenu"><menu>client-menu</menu></action>
|
||||||
<menu plugin="client_menu">client-menu</menu>
|
|
||||||
</action>
|
|
||||||
</mousebind>
|
</mousebind>
|
||||||
<mousebind button="Left" action="click">
|
<mousebind button="Left" action="click">
|
||||||
<action name="showmenu">
|
<action name="showmenu"><menu>client-menu</menu></action>
|
||||||
<menu plugin="client_menu">client-menu</menu>
|
|
||||||
</action>
|
|
||||||
</mousebind>
|
</mousebind>
|
||||||
<mousebind button="Left" action="doubleclick">
|
<mousebind button="Left" action="doubleclick">
|
||||||
<action name="close"/>
|
<action name="close"/>
|
||||||
|
@ -313,9 +305,7 @@
|
||||||
<action name="desktopleft"/>
|
<action name="desktopleft"/>
|
||||||
</mousebind>
|
</mousebind>
|
||||||
<mousebind button="Middle" action="press">
|
<mousebind button="Middle" action="press">
|
||||||
<action name="showmenu">
|
<action name="showmenu"><menu>client-list-menu</menu></action>
|
||||||
<menu plugin="client_list_menu">client-list-menu</menu>
|
|
||||||
</action>
|
|
||||||
</mousebind>
|
</mousebind>
|
||||||
<mousebind button="Right" action="press">
|
<mousebind button="Right" action="press">
|
||||||
<action name="showmenu">
|
<action name="showmenu">
|
||||||
|
|
|
@ -7,16 +7,11 @@
|
||||||
#include "kernel/focus.h"
|
#include "kernel/focus.h"
|
||||||
#include "gettext.h"
|
#include "gettext.h"
|
||||||
|
|
||||||
#include "render/theme.h"
|
|
||||||
|
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
#define MENU_NAME "client-list-menu"
|
#define MENU_NAME "client-list-menu"
|
||||||
|
|
||||||
typedef struct {
|
static GSList *desktop_menus;
|
||||||
/* how many desktop menus we've made */
|
|
||||||
guint desktops;
|
|
||||||
} MenuData;
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
guint desktop;
|
guint desktop;
|
||||||
|
@ -31,7 +26,7 @@ static void desk_menu_update(ObMenuFrame *frame, gpointer data)
|
||||||
GList *it;
|
GList *it;
|
||||||
gint i;
|
gint i;
|
||||||
|
|
||||||
menu_clear_entries(menu->name);
|
menu_clear_entries(menu);
|
||||||
|
|
||||||
for (it = focus_order[d->desktop], i = 0; it; it = g_list_next(it), ++i) {
|
for (it = focus_order[d->desktop], i = 0; it; it = g_list_next(it), ++i) {
|
||||||
ObClient *c = it->data;
|
ObClient *c = it->data;
|
||||||
|
@ -44,7 +39,7 @@ static void desk_menu_update(ObMenuFrame *frame, gpointer data)
|
||||||
act = action_from_string("activate");
|
act = action_from_string("activate");
|
||||||
act->data.activate.c = c;
|
act->data.activate.c = c;
|
||||||
acts = g_slist_prepend(NULL, act);
|
acts = g_slist_prepend(NULL, act);
|
||||||
e = menu_add_normal(menu->name, i,
|
e = menu_add_normal(menu, i,
|
||||||
(c->iconic ? c->icon_title : c->title), acts);
|
(c->iconic ? c->icon_title : c->title), acts);
|
||||||
|
|
||||||
if ((icon = client_icon(c, 32, 32))) {
|
if ((icon = client_icon(c, 32, 32))) {
|
||||||
|
@ -79,54 +74,43 @@ static void desk_menu_destroy(ObMenu *menu, gpointer data)
|
||||||
|
|
||||||
static void self_update(ObMenuFrame *frame, gpointer data)
|
static void self_update(ObMenuFrame *frame, gpointer data)
|
||||||
{
|
{
|
||||||
|
ObMenu *menu = frame->menu;
|
||||||
guint i;
|
guint i;
|
||||||
MenuData *d = data;
|
GSList *it, *next;
|
||||||
|
|
||||||
menu_clear_entries(MENU_NAME);
|
|
||||||
|
|
||||||
|
it = desktop_menus;
|
||||||
for (i = 0; i < screen_num_desktops; ++i) {
|
for (i = 0; i < screen_num_desktops; ++i) {
|
||||||
gchar *name = g_strdup_printf("%s-%u", MENU_NAME, i);
|
if (!it) {
|
||||||
DesktopData *data = g_new(DesktopData, 1);
|
ObMenu *submenu;
|
||||||
|
gchar *name = g_strdup_printf("%s-%u", MENU_NAME, i);
|
||||||
|
DesktopData *data = g_new(DesktopData, 1);
|
||||||
|
|
||||||
data->desktop = i;
|
data->desktop = i;
|
||||||
menu_new(name, screen_desktop_names[i], data);
|
submenu = menu_new(name, screen_desktop_names[i], data);
|
||||||
menu_set_update_func(name, desk_menu_update);
|
menu_set_update_func(submenu, desk_menu_update);
|
||||||
menu_set_execute_func(name, desk_menu_execute);
|
menu_set_execute_func(submenu, desk_menu_execute);
|
||||||
menu_set_destroy_func(name, desk_menu_destroy);
|
menu_set_destroy_func(submenu, desk_menu_destroy);
|
||||||
|
|
||||||
menu_add_submenu(MENU_NAME, 0, name);
|
menu_add_submenu(menu, i, name);
|
||||||
|
|
||||||
g_free(name);
|
g_free(name);
|
||||||
|
|
||||||
|
desktop_menus = g_slist_append(desktop_menus, submenu);
|
||||||
|
} else
|
||||||
|
it = g_slist_next(it);
|
||||||
}
|
}
|
||||||
|
for (; it; it = next, ++i) {
|
||||||
d->desktops = MAX(d->desktops, screen_num_desktops);
|
next = g_slist_next(it);
|
||||||
}
|
menu_free(it->data);
|
||||||
|
desktop_menus = g_slist_delete_link(desktop_menus, it);
|
||||||
static void self_destroy(ObMenu *menu, gpointer data)
|
menu_entry_remove(menu_find_entry_id(menu, i));
|
||||||
{
|
|
||||||
MenuData *d = data;
|
|
||||||
guint i;
|
|
||||||
|
|
||||||
for (i = 0; i < d->desktops; ++i) {
|
|
||||||
gchar *name = g_strdup_printf("%s-%u", MENU_NAME, i);
|
|
||||||
menu_free(name);
|
|
||||||
g_free(name);
|
|
||||||
}
|
}
|
||||||
g_free(d);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void plugin_startup()
|
void client_list_menu_startup()
|
||||||
{
|
{
|
||||||
MenuData *data;
|
ObMenu *menu;
|
||||||
|
|
||||||
data = g_new(MenuData, 1);
|
menu = menu_new(MENU_NAME, _("Desktops"), NULL);
|
||||||
data->desktops = 0;
|
menu_set_update_func(menu, self_update);
|
||||||
menu_new(MENU_NAME, _("Desktops"), data);
|
|
||||||
menu_set_update_func(MENU_NAME, self_update);
|
|
||||||
menu_set_destroy_func(MENU_NAME, self_destroy);
|
|
||||||
}
|
|
||||||
|
|
||||||
void plugin_shutdown()
|
|
||||||
{
|
|
||||||
menu_free(MENU_NAME);
|
|
||||||
}
|
}
|
6
openbox/client_list_menu.h
Normal file
6
openbox/client_list_menu.h
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#ifndef ob__client_list_menu_h
|
||||||
|
#define ob__client_list_menu_h
|
||||||
|
|
||||||
|
void client_list_menu_startup();
|
||||||
|
|
||||||
|
#endif
|
|
@ -33,8 +33,6 @@ enum {
|
||||||
CLIENT_CLOSE
|
CLIENT_CLOSE
|
||||||
};
|
};
|
||||||
|
|
||||||
void plugin_setup_config() { }
|
|
||||||
|
|
||||||
static void client_update(ObMenuFrame *frame, gpointer data)
|
static void client_update(ObMenuFrame *frame, gpointer data)
|
||||||
{
|
{
|
||||||
ObMenu *menu = frame->menu;
|
ObMenu *menu = frame->menu;
|
||||||
|
@ -103,7 +101,7 @@ static void send_to_update(ObMenuFrame *frame, gpointer data)
|
||||||
GSList *acts;
|
GSList *acts;
|
||||||
ObAction *act;
|
ObAction *act;
|
||||||
|
|
||||||
menu_clear_entries(SEND_TO_MENU_NAME);
|
menu_clear_entries(menu);
|
||||||
|
|
||||||
if (!frame->client)
|
if (!frame->client)
|
||||||
return;
|
return;
|
||||||
|
@ -113,7 +111,7 @@ static void send_to_update(ObMenuFrame *frame, gpointer data)
|
||||||
guint desk;
|
guint desk;
|
||||||
|
|
||||||
if (i >= screen_num_desktops) {
|
if (i >= screen_num_desktops) {
|
||||||
menu_add_separator(CLIENT_MENU_NAME, -1);
|
menu_add_separator(menu, -1);
|
||||||
|
|
||||||
desk = DESKTOP_ALL;
|
desk = DESKTOP_ALL;
|
||||||
name = _("All desktops");
|
name = _("All desktops");
|
||||||
|
@ -126,7 +124,7 @@ static void send_to_update(ObMenuFrame *frame, gpointer data)
|
||||||
act->data.sendto.desk = desk;
|
act->data.sendto.desk = desk;
|
||||||
act->data.sendto.follow = FALSE;
|
act->data.sendto.follow = FALSE;
|
||||||
acts = g_slist_prepend(NULL, act);
|
acts = g_slist_prepend(NULL, act);
|
||||||
menu_add_normal(SEND_TO_MENU_NAME, desk, name, acts);
|
menu_add_normal(menu, desk, name, acts);
|
||||||
|
|
||||||
if (frame->client->desktop == desk) {
|
if (frame->client->desktop == desk) {
|
||||||
ObMenuEntry *e = menu_find_entry_id(menu, desk);
|
ObMenuEntry *e = menu_find_entry_id(menu, desk);
|
||||||
|
@ -136,69 +134,63 @@ static void send_to_update(ObMenuFrame *frame, gpointer data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void plugin_startup()
|
void client_menu_startup()
|
||||||
{
|
{
|
||||||
GSList *acts;
|
GSList *acts;
|
||||||
|
ObMenu *menu;
|
||||||
|
|
||||||
menu_new(LAYER_MENU_NAME, _("Layer"), NULL);
|
menu = menu_new(LAYER_MENU_NAME, _("Layer"), NULL);
|
||||||
menu_set_update_func(LAYER_MENU_NAME, layer_update);
|
menu_set_update_func(menu, layer_update);
|
||||||
|
|
||||||
acts = g_slist_prepend(NULL, action_from_string("SendToTopLayer"));
|
acts = g_slist_prepend(NULL, action_from_string("SendToTopLayer"));
|
||||||
menu_add_normal(LAYER_MENU_NAME, LAYER_TOP, _("Always on top"), acts);
|
menu_add_normal(menu, LAYER_TOP, _("Always on top"), acts);
|
||||||
|
|
||||||
acts = g_slist_prepend(NULL, action_from_string("SendToNormalLayer"));
|
acts = g_slist_prepend(NULL, action_from_string("SendToNormalLayer"));
|
||||||
menu_add_normal(LAYER_MENU_NAME, LAYER_NORMAL, _("Normal"), acts);
|
menu_add_normal(menu, LAYER_NORMAL, _("Normal"), acts);
|
||||||
|
|
||||||
acts = g_slist_prepend(NULL, action_from_string("SendToBottomLayer"));
|
acts = g_slist_prepend(NULL, action_from_string("SendToBottomLayer"));
|
||||||
menu_add_normal(LAYER_MENU_NAME, LAYER_BOTTOM, _("Always on bottom"),acts);
|
menu_add_normal(menu, LAYER_BOTTOM, _("Always on bottom"),acts);
|
||||||
|
|
||||||
|
|
||||||
menu_new(SEND_TO_MENU_NAME, _("Send to desktop"), NULL);
|
menu = menu_new(SEND_TO_MENU_NAME, _("Send to desktop"), NULL);
|
||||||
menu_set_update_func(SEND_TO_MENU_NAME, send_to_update);
|
menu_set_update_func(menu, send_to_update);
|
||||||
|
|
||||||
|
|
||||||
menu_new(CLIENT_MENU_NAME, _("Client menu"), NULL);
|
menu = menu_new(CLIENT_MENU_NAME, _("Client menu"), NULL);
|
||||||
menu_set_update_func(CLIENT_MENU_NAME, client_update);
|
menu_set_update_func(menu, client_update);
|
||||||
|
|
||||||
menu_add_submenu(CLIENT_MENU_NAME, CLIENT_SEND_TO, SEND_TO_MENU_NAME);
|
menu_add_submenu(menu, CLIENT_SEND_TO, SEND_TO_MENU_NAME);
|
||||||
|
|
||||||
menu_add_submenu(CLIENT_MENU_NAME, CLIENT_LAYER, LAYER_MENU_NAME);
|
menu_add_submenu(menu, CLIENT_LAYER, LAYER_MENU_NAME);
|
||||||
|
|
||||||
acts = g_slist_prepend(NULL, action_from_string("Iconify"));
|
acts = g_slist_prepend(NULL, action_from_string("Iconify"));
|
||||||
menu_add_normal(CLIENT_MENU_NAME, CLIENT_ICONIFY, _("Iconify"), acts);
|
menu_add_normal(menu, CLIENT_ICONIFY, _("Iconify"), acts);
|
||||||
|
|
||||||
acts = g_slist_prepend(NULL, action_from_string("ToggleMaximizeFull"));
|
acts = g_slist_prepend(NULL, action_from_string("ToggleMaximizeFull"));
|
||||||
menu_add_normal(CLIENT_MENU_NAME, CLIENT_MAXIMIZE, _("Maximize"), acts);
|
menu_add_normal(menu, CLIENT_MAXIMIZE, _("Maximize"), acts);
|
||||||
|
|
||||||
acts = g_slist_prepend(NULL, action_from_string("Raise"));
|
acts = g_slist_prepend(NULL, action_from_string("Raise"));
|
||||||
menu_add_normal(CLIENT_MENU_NAME, CLIENT_RAISE, _("Raise to top"), acts);
|
menu_add_normal(menu, CLIENT_RAISE, _("Raise to top"), acts);
|
||||||
|
|
||||||
acts = g_slist_prepend(NULL, action_from_string("Lower"));
|
acts = g_slist_prepend(NULL, action_from_string("Lower"));
|
||||||
menu_add_normal(CLIENT_MENU_NAME, CLIENT_LOWER, _("Lower to bottom"),acts);
|
menu_add_normal(menu, CLIENT_LOWER, _("Lower to bottom"),acts);
|
||||||
|
|
||||||
acts = g_slist_prepend(NULL, action_from_string("ToggleShade"));
|
acts = g_slist_prepend(NULL, action_from_string("ToggleShade"));
|
||||||
menu_add_normal(CLIENT_MENU_NAME, CLIENT_SHADE, _("Roll up/down"), acts);
|
menu_add_normal(menu, CLIENT_SHADE, _("Roll up/down"), acts);
|
||||||
|
|
||||||
acts = g_slist_prepend(NULL, action_from_string("ToggleDecorations"));
|
acts = g_slist_prepend(NULL, action_from_string("ToggleDecorations"));
|
||||||
menu_add_normal(CLIENT_MENU_NAME, CLIENT_DECORATE, _("Decorate"), acts);
|
menu_add_normal(menu, CLIENT_DECORATE, _("Decorate"), acts);
|
||||||
|
|
||||||
menu_add_separator(CLIENT_MENU_NAME, -1);
|
menu_add_separator(menu, -1);
|
||||||
|
|
||||||
acts = g_slist_prepend(NULL, action_from_string("KeyboardMove"));
|
acts = g_slist_prepend(NULL, action_from_string("KeyboardMove"));
|
||||||
menu_add_normal(CLIENT_MENU_NAME, CLIENT_MOVE, _("Move"), acts);
|
menu_add_normal(menu, CLIENT_MOVE, _("Move"), acts);
|
||||||
|
|
||||||
acts = g_slist_prepend(NULL, action_from_string("KeyboardResize"));
|
acts = g_slist_prepend(NULL, action_from_string("KeyboardResize"));
|
||||||
menu_add_normal(CLIENT_MENU_NAME, CLIENT_RESIZE, _("Resize"), acts);
|
menu_add_normal(menu, CLIENT_RESIZE, _("Resize"), acts);
|
||||||
|
|
||||||
menu_add_separator(CLIENT_MENU_NAME, -1);
|
menu_add_separator(menu, -1);
|
||||||
|
|
||||||
acts = g_slist_prepend(NULL, action_from_string("Close"));
|
acts = g_slist_prepend(NULL, action_from_string("Close"));
|
||||||
menu_add_normal(CLIENT_MENU_NAME, CLIENT_CLOSE, _("Close"), acts);
|
menu_add_normal(menu, CLIENT_CLOSE, _("Close"), acts);
|
||||||
}
|
|
||||||
|
|
||||||
void plugin_shutdown()
|
|
||||||
{
|
|
||||||
menu_free(LAYER_MENU_NAME);
|
|
||||||
menu_free(SEND_TO_MENU_NAME);
|
|
||||||
menu_free(CLIENT_MENU_NAME);
|
|
||||||
}
|
}
|
6
openbox/client_menu.h
Normal file
6
openbox/client_menu.h
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#ifndef ob__client_menu_h
|
||||||
|
#define ob__client_menu_h
|
||||||
|
|
||||||
|
void client_menu_startup();
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in a new issue