private void HandleXProperty(XPropertyEvent *xproperty) { var dispatchService = XlibDispatchService.Instance; var atom = xproperty->atom; if (atom == dispatchService.GetAtom(_NET_FRAME_EXTENTS)) { HandleXPropertyNetFrameExtents(xproperty, dispatchService); } else if (atom == dispatchService.GetAtom(_NET_WM_NAME)) { HandleXPropertyNetWmName(xproperty, dispatchService); } else if (atom == dispatchService.GetAtom(_NET_WM_STATE)) { HandleXPropertyNetWmState(xproperty, dispatchService); } else if (atom == XA_WM_HINTS) { HandleXPropertyWmHints(xproperty, dispatchService); } else if (atom == XA_WM_NAME) { HandleXPropertyWmName(xproperty, dispatchService); } else if (atom == dispatchService.GetAtom(WM_STATE)) { HandleXPropertyWmState(xproperty, dispatchService); } }
private void HandleXPropertyWmHints(XPropertyEvent *xproperty, XlibDispatchService dispatchService) { XWMHints *wmHints = null; try { wmHints = XGetWMHints(xproperty->display, xproperty->window); _isEnabled = (wmHints != null) && ((wmHints->flags * InputHint) != 0) && (wmHints->input != False); } finally { if (wmHints != null) { _ = XFree(wmHints); } } }
private void HandleXPropertyWmState(XPropertyEvent *xproperty, XlibDispatchService dispatchService) => UpdateWindowState(dispatchService, xproperty->display, xproperty->window);
private void HandleXPropertyNetWmName(XPropertyEvent *xproperty, XlibDispatchService dispatchService) => UpdateWindowTitle(dispatchService, xproperty->display, xproperty->window);
private void HandleXPropertyNetFrameExtents(XPropertyEvent *xproperty, XlibDispatchService dispatchService) => UpdateFrameExtents(dispatchService, xproperty->display, xproperty->window);
private void HandleXPropertyWmState(XPropertyEvent *xproperty, XlibDispatchProvider dispatchProvider) => UpdateWindowState(dispatchProvider, xproperty->display, xproperty->window);
private void HandleXPropertyNetWmName(XPropertyEvent *xproperty, XlibDispatchProvider dispatchProvider) => UpdateWindowTitle(dispatchProvider, xproperty->display, xproperty->window);
private void HandleXPropertyNetFrameExtents(XPropertyEvent *xproperty, XlibDispatchProvider dispatchProvider) => UpdateFrameExtents(dispatchProvider, xproperty->display, xproperty->window);