Added in better exit handling
This commit is contained in:
parent
c94c41d1db
commit
dfaf3a059f
|
@ -12,6 +12,7 @@
|
|||
#include "log.h"
|
||||
#include "workspace.h"
|
||||
#include "commands.h"
|
||||
#include "container.h"
|
||||
|
||||
struct modifier_key {
|
||||
char *name;
|
||||
|
@ -152,11 +153,18 @@ static bool cmd_exec(struct sway_config *config, int argc, char **argv) {
|
|||
return cmd_exec_always(config, argc, argv);
|
||||
}
|
||||
|
||||
static void kill_views(swayc_t *container, void *data) {
|
||||
if (container->type == C_VIEW) {
|
||||
wlc_view_close(container->handle);
|
||||
}
|
||||
}
|
||||
|
||||
static bool cmd_exit(struct sway_config *config, int argc, char **argv) {
|
||||
if (!checkarg(argc, "exit", EXPECTED_EQUAL_TO, 0)) {
|
||||
return false;
|
||||
}
|
||||
// TODO: Some kind of clean up is probably in order
|
||||
// Close all views
|
||||
container_map(&root_container, kill_views, NULL);
|
||||
exit(0);
|
||||
return true;
|
||||
}
|
||||
|
@ -190,8 +198,8 @@ static bool cmd_focus_follows_mouse(struct sway_config *config, int argc, char *
|
|||
|
||||
static bool cmd_kill(struct sway_config *config, int argc, char **argv) {
|
||||
swayc_t *view = get_focused_container(&root_container);
|
||||
wlc_view_close(view->handle);
|
||||
return true;
|
||||
wlc_view_close(view->handle);
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool cmd_layout(struct sway_config *config, int argc, char **argv) {
|
||||
|
|
Loading…
Reference in a new issue