Actions are used in keyboard bindings.
+*<action name="Close"><command>*
+ Close top-most view.
+
*<action name="Execute"><command>*
Execute command.
* Note: If !current, the server->views second focusable view is returned
*/
struct view *desktop_cycle_view(struct server *server, struct view *current);
+struct view *topmost_mapped_view(struct server *server);
void desktop_focus_topmost_mapped_view(struct server *server);
/**
{
if (!action)
return;
- if (!strcasecmp(action, "Debug")) {
+ if (!strcasecmp(action, "Close")) {
+ struct view *view = topmost_mapped_view(server);
+ view->impl->close(view);
+ } else if (!strcasecmp(action, "Debug")) {
/* nothing */
} else if (!strcasecmp(action, "Execute")) {
struct buf cmd;
return false;
}
-static struct view *
+struct view *
topmost_mapped_view(struct server *server)
{
if (!has_mapped_view(&server->views)) {