diff --git a/data/rc.xsd b/data/rc.xsd
index da1b7a2d..9cb585a7 100644
--- a/data/rc.xsd
+++ b/data/rc.xsd
@@ -349,6 +349,7 @@
+
diff --git a/openbox/action.c b/openbox/action.c
index 921e7eec..bd8ae9e4 100644
--- a/openbox/action.c
+++ b/openbox/action.c
@@ -591,6 +591,11 @@ ActionString actionstrings[] =
action_toggle_maximize_vert,
setup_client_action
},
+ {
+ "togglefullscreen",
+ action_toggle_fullscreen,
+ setup_client_action
+ },
{
"sendtodesktop",
action_send_to_desktop,
@@ -1234,6 +1239,14 @@ void action_toggle_maximize_vert(union ActionData *data)
client_action_end(data);
}
+void action_toggle_fullscreen(union ActionData *data)
+{
+ client_action_start(data);
+ client_fullscreen(data->client.any.c,
+ !(data->client.any.c->fullscreen), TRUE);
+ client_action_end(data);
+}
+
void action_send_to_desktop(union ActionData *data)
{
ObClient *c = data->sendto.any.c;
diff --git a/openbox/action.h b/openbox/action.h
index 630bf41a..f940f7ea 100644
--- a/openbox/action.h
+++ b/openbox/action.h
@@ -271,6 +271,8 @@ void action_maximize_vert(union ActionData *data);
void action_unmaximize_vert(union ActionData *data);
/* ClientAction */
void action_toggle_maximize_vert(union ActionData *data);
+/* ClientAction */
+void action_toggle_fullscreen(union ActionData *data);
/* SendToDesktop */
void action_send_to_desktop(union ActionData *data);
/* SendToDesktopDirection */