309 stateLog.finer("doStateProtocol() returns " + res); 310 } 311 return res; 312 } 313 314 boolean doLayerProtocol() { 315 boolean res = active() && checkProtocol(XA_NET_SUPPORTED, XA_NET_WM_STATE_ABOVE); 316 return res; 317 } 318 319 boolean doModalityProtocol() { 320 boolean res = active() && checkProtocol(XA_NET_SUPPORTED, XA_NET_WM_STATE_MODAL); 321 return res; 322 } 323 324 boolean doOpacityProtocol() { 325 boolean res = active() && checkProtocol(XA_NET_SUPPORTED, XA_NET_WM_WINDOW_OPACITY); 326 return res; 327 } 328 329 public void setActiveWindow(XWindow window) { 330 if (!active() || !checkProtocol(XA_NET_SUPPORTED, XA_NET_ACTIVE_WINDOW)) { 331 return; 332 } 333 334 XClientMessageEvent msg = new XClientMessageEvent(); 335 msg.zero(); 336 msg.set_type(XConstants.ClientMessage); 337 msg.set_message_type(XA_NET_ACTIVE_WINDOW.getAtom()); 338 msg.set_display(XToolkit.getDisplay()); 339 msg.set_window(window.getWindow()); 340 msg.set_format(32); 341 msg.set_data(0, 1); 342 msg.set_data(1, XToolkit.getCurrentServerTime()); 343 msg.set_data(2, 0); 344 345 XToolkit.awtLock(); 346 try { 347 XlibWrapper.XSendEvent(XToolkit.getDisplay(), XToolkit.getDefaultRootWindow(), false, 348 XConstants.SubstructureRedirectMask | XConstants.SubstructureNotifyMask, msg.getPData()); 349 } finally { 350 XToolkit.awtUnlock(); 351 msg.dispose(); 352 } 353 } 354 355 boolean isWMName(String name) { 356 if (!active()) { 357 return false; 358 } 359 String net_wm_name_string = getWMName(); | 309 stateLog.finer("doStateProtocol() returns " + res); 310 } 311 return res; 312 } 313 314 boolean doLayerProtocol() { 315 boolean res = active() && checkProtocol(XA_NET_SUPPORTED, XA_NET_WM_STATE_ABOVE); 316 return res; 317 } 318 319 boolean doModalityProtocol() { 320 boolean res = active() && checkProtocol(XA_NET_SUPPORTED, XA_NET_WM_STATE_MODAL); 321 return res; 322 } 323 324 boolean doOpacityProtocol() { 325 boolean res = active() && checkProtocol(XA_NET_SUPPORTED, XA_NET_WM_WINDOW_OPACITY); 326 return res; 327 } 328 329 public void setActiveWindow(long window) { 330 if (!active() || !checkProtocol(XA_NET_SUPPORTED, XA_NET_ACTIVE_WINDOW)) { 331 return; 332 } 333 334 XClientMessageEvent msg = new XClientMessageEvent(); 335 msg.zero(); 336 msg.set_type(XConstants.ClientMessage); 337 msg.set_message_type(XA_NET_ACTIVE_WINDOW.getAtom()); 338 msg.set_display(XToolkit.getDisplay()); 339 msg.set_window(window); 340 msg.set_format(32); 341 msg.set_data(0, 1); 342 msg.set_data(1, XToolkit.getCurrentServerTime()); 343 msg.set_data(2, 0); 344 345 XToolkit.awtLock(); 346 try { 347 XlibWrapper.XSendEvent(XToolkit.getDisplay(), XToolkit.getDefaultRootWindow(), false, 348 XConstants.SubstructureRedirectMask | XConstants.SubstructureNotifyMask, msg.getPData()); 349 } finally { 350 XToolkit.awtUnlock(); 351 msg.dispose(); 352 } 353 } 354 355 boolean isWMName(String name) { 356 if (!active()) { 357 return false; 358 } 359 String net_wm_name_string = getWMName(); |