- if (!dock_windows) /* use dock windows that skip taskbar too */
- ok = ok && !ft->skip_taskbar;
- ok = ok && (ft->desktop == screen_desktop || ft->desktop == DESKTOP_ALL);
+ if (!dock_windows && /* use dock windows that skip taskbar too */
+ !(ft->type == OB_CLIENT_TYPE_TOOLBAR || /* also, if we actually are */
+ ft->type == OB_CLIENT_TYPE_MENU || /* being allowed to target */
+ ft->type == OB_CLIENT_TYPE_UTILITY)) /* one of these, don't let */
+ ok = ok && !ft->skip_taskbar; /* skip taskbar stop us */
+ if (!all_desktops)
+ ok = ok && (ft->desktop == screen_desktop ||
+ ft->desktop == DESKTOP_ALL);