return null;
}
+ private long getRootWindow(long screen) throws Exception {
+ awtLock.invoke(null);
+ try {
+ return (Long)RootWindow.invoke(null, display, screen);
+ }
+ finally {
+ awtUnlock.invoke(null);
+ }
+ }
+
@Nullable
private Long getNetWmWindow() throws Exception {
- long rootWindow = (Long)RootWindow.invoke(null, display, 0);
+ long rootWindow = getRootWindow(0);
long[] values = getLongArrayProperty(rootWindow, NET_SUPPORTING_WM_CHECK, XA_WINDOW);
return values != null && values.length > 0 ? values[0] : null;
}
@SuppressWarnings("deprecation") ComponentPeer peer = frame.getPeer();
long window = (Long)X11.getWindow.invoke(peer);
long screen = (Long)X11.getScreenNumber.invoke(peer);
- long rootWindow = (Long)X11.RootWindow.invoke(null, X11.display, screen);
+ long rootWindow = X11.getRootWindow(screen);
X11.sendClientMessage(rootWindow, window, X11.NET_WM_STATE, NET_WM_STATE_TOGGLE, X11.NET_WM_STATE_FULLSCREEN);
}
catch (Throwable t) {