#include "window.h"
#include "server.h"
#include "panel.h"
+#include "taskbar.h"
Atom *at;
int count, i;
- if (XGetTransientForHint(server.dsp, win, &window) != 0) {
- if (window) {
- return 1;
- }
- }
-
at = server_get_property (win, server.atom._NET_WM_STATE, XA_ATOM, &count);
for (i = 0; i < count; i++) {
if (at[i] == server.atom._NET_WM_STATE_SKIP_TASKBAR) {
XFree(at);
return 1;
}
+ if (at[i] == server.atom._NET_WM_STATE_MODAL) {
+ // do not add modal windows if the transient window is already in the taskbar
+ if ( XGetTransientForHint(server.dsp, win, &window) && task_get_task(window) ) {
+ XFree(at);
+ return 1;
+ }
+ }
}
XFree(at);