Added in workspace_auto_back_and_forth

This commit is contained in:
Luminarys 2015-08-30 21:34:10 -05:00
parent 0ab71f5f0a
commit 12e96f0f9e
4 changed files with 20 additions and 3 deletions

View file

@ -13,7 +13,7 @@
#include "focus.h"
#include "util.h"
char *prev_workspace_name;
char *prev_workspace_name = "";
char *workspace_next_name(void) {
sway_log(L_DEBUG, "Workspace: Generating new name");
@ -182,7 +182,11 @@ void workspace_switch(swayc_t *workspace) {
if (!workspace) {
return;
}
if (!prev_workspace_name || strcmp(prev_workspace_name, swayc_active_workspace()->name) != 0) {
if (strcmp(prev_workspace_name, swayc_active_workspace()->name) != 0 && swayc_active_workspace() != workspace) {
prev_workspace_name = malloc(strlen(swayc_active_workspace()->name) + 1);
strcpy(prev_workspace_name, swayc_active_workspace()->name);
} else if (config->auto_back_and_forth && swayc_active_workspace() == workspace && strlen(prev_workspace_name) != 0) {
workspace = workspace_by_name(prev_workspace_name) ? workspace_by_name(prev_workspace_name) : workspace_create(prev_workspace_name);
prev_workspace_name = malloc(strlen(swayc_active_workspace()->name) + 1);
strcpy(prev_workspace_name, swayc_active_workspace()->name);
}