diff --git a/src/core/levels.c b/src/core/levels.c index 51ee0df6..35a9a7ed 100644 --- a/src/core/levels.c +++ b/src/core/levels.c @@ -158,7 +158,9 @@ int combine_level(int dest, const char *src) g_strup(itemname); itemlevel = level_get(itemname); - if (**item == '-') + if (strcmp(itemname, "NONE") == 0) + dest = 0; + else if (**item == '-') dest &= ~(itemlevel); else dest |= itemlevel; diff --git a/src/fe-common/core/window-commands.c b/src/fe-common/core/window-commands.c index e31d827b..60fa1c9b 100644 --- a/src/fe-common/core/window-commands.c +++ b/src/fe-common/core/window-commands.c @@ -165,8 +165,10 @@ static void cmd_window_level(const char *data) window_set_level(active_win, combine_level(active_win->level, data)); - level = bits2level(active_win->level); - printtext(NULL, NULL, MSGLEVEL_CLIENTNOTICE, "Window level is now %s", level); + level = active_win->level == 0 ? g_strdup("NONE") : + bits2level(active_win->level); + printtext(NULL, NULL, MSGLEVEL_CLIENTNOTICE, + "Window level is now %s", level); g_free(level); }