void preInit(XCreateWindowParams params) { super.preInit(params); if (!resize_request.isInterned()) { resize_request.intern(false); } winAttr.initialFocus = true; currentInsets = new Insets(0, 0, 0, 0); // replacemenet for wdata->top, left, bottom, right applyGuessedInsets(); Rectangle bounds = (Rectangle) params.get(BOUNDS); dimensions = new WindowDimensions(bounds, getRealInsets(), false); params.put(BOUNDS, dimensions.getClientRect()); if (insLog.isLoggable(Level.FINE)) { insLog.log(Level.FINE, "Initial dimensions {0}", new Object[] {String.valueOf(dimensions)}); } // Deny default processing of these events on the shell - proxy will take care of // them instead Long eventMask = (Long) params.get(EVENT_MASK); params.add( EVENT_MASK, Long.valueOf(eventMask.longValue() & ~(FocusChangeMask | KeyPressMask | KeyReleaseMask))); }
protected void initClientLeader() { XToolkit.awtLock(); try { if (wm_client_leader == null) { wm_client_leader = XAtom.get("WM_CLIENT_LEADER"); } wm_client_leader.setWindowProperty(this, getXAWTRootWindow()); } finally { XToolkit.awtUnlock(); } }
void setWMClass(String[] cl) { if (cl.length != 2) { throw new IllegalArgumentException("WM_CLASS_NAME consists of exactly two strings"); } XToolkit.awtLock(); try { XAtom xa = XAtom.get(XAtom.XA_WM_CLASS); xa.setProperty8(getWindow(), cl[0] + '\0' + cl[1]); } finally { XToolkit.awtUnlock(); } }
private XAtom getTargetsPropertyAtom() { if (null == targetsPropertyAtom) { targetsPropertyAtom = XAtom.get("XAWT_TARGETS_OF_SELECTION:" + selection.getSelectionAtom().getName()); } return targetsPropertyAtom; }
/* * Tracks changes of available formats. * NOTE: This method may be called by privileged threads. * DO NOT INVOKE CLIENT CODE ON THIS THREAD! */ private void checkChange(XSelectionEvent xse) { final long propertyAtom = xse.get_property(); if (propertyAtom != getTargetsPropertyAtom().getAtom()) { // wrong atom return; } final XAtom selectionAtom = XAtom.get(xse.get_selection()); final XSelection changedSelection = XSelection.getSelection(selectionAtom); if (null == changedSelection || changedSelection != selection) { // unknown selection - do nothing return; } isSelectionNotifyProcessed = true; if (selection.isOwner()) { // selection is owner - do not need formats return; } long[] formats = null; if (propertyAtom == XConstants.None) { // We treat None property atom as "empty selection". formats = new long[0]; } else { WindowPropertyGetter targetsGetter = new WindowPropertyGetter( XWindow.getXAWTRootWindow().getWindow(), XAtom.get(propertyAtom), 0, XSelection.MAX_LENGTH, true, XConstants.AnyPropertyType); try { targetsGetter.execute(); formats = XSelection.getFormats(targetsGetter); } finally { targetsGetter.dispose(); } } checkChange(formats); }
public void handlePropertyNotify(XEvent xev) { XPropertyEvent msg = xev.get_xproperty(); if (XPropertyCache.isCachingSupported()) { XPropertyCache.clearCache(window, XAtom.get(msg.get_atom())); } if (eventLog.isLoggable(Level.FINER)) { eventLog.log(Level.FINER, "{0}", new Object[] {String.valueOf(msg)}); } }
public void handleClientMessage(XEvent xev) { super.handleClientMessage(xev); XClientMessageEvent cl = xev.get_xclient(); if ((wm_protocols != null) && (cl.get_message_type() == wm_protocols.getAtom())) { if (cl.get_data(0) == wm_delete_window.getAtom()) { handleQuit(); } else if (cl.get_data(0) == wm_take_focus.getAtom()) { handleWmTakeFocus(cl); } } else if (cl.get_message_type() == resize_request.getAtom()) { reshape( (int) cl.get_data(0), (int) cl.get_data(1), (int) cl.get_data(2), (int) cl.get_data(3), (int) cl.get_data(4), true); } }
void updateWMName() { String name = getWMName(); XToolkit.awtLock(); try { if (name == null) { name = " "; } XAtom nameAtom = XAtom.get(XAtom.XA_WM_NAME); nameAtom.setProperty(getWindow(), name); XAtom netNameAtom = XAtom.get("_NET_WM_NAME"); netNameAtom.setPropertyUTF8(getWindow(), name); } finally { XToolkit.awtUnlock(); } }
void updateWMName() { super.updateWMName(); String name = getWMName(); XToolkit.awtLock(); try { if (name == null || name.trim().equals("")) { name = "Java"; } XAtom iconNameAtom = XAtom.get(XAtom.XA_WM_ICON_NAME); iconNameAtom.setProperty(getWindow(), name); XAtom netIconNameAtom = XAtom.get("_NET_WM_ICON_NAME"); netIconNameAtom.setPropertyUTF8(getWindow(), name); } finally { XToolkit.awtUnlock(); } }
/** Creates a system clipboard object. */ public XClipboard(String name, String selectionName) { super(name); selection = new XSelection(XAtom.get(selectionName)); selection.registerOwershipListener(this); }