Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
 private void HandleXPropertyWmState(XPropertyEvent *xproperty, XlibDispatchService dispatchService)
 => UpdateWindowState(dispatchService, xproperty->display, xproperty->window);
Esempio n. 4
0
 private void HandleXPropertyNetWmName(XPropertyEvent *xproperty, XlibDispatchService dispatchService)
 => UpdateWindowTitle(dispatchService, xproperty->display, xproperty->window);
Esempio n. 5
0
 private void HandleXPropertyNetFrameExtents(XPropertyEvent *xproperty, XlibDispatchService dispatchService)
 => UpdateFrameExtents(dispatchService, xproperty->display, xproperty->window);
Esempio n. 6
0
 private void HandleXPropertyWmState(XPropertyEvent *xproperty, XlibDispatchProvider dispatchProvider)
 => UpdateWindowState(dispatchProvider, xproperty->display, xproperty->window);
Esempio n. 7
0
 private void HandleXPropertyNetWmName(XPropertyEvent *xproperty, XlibDispatchProvider dispatchProvider)
 => UpdateWindowTitle(dispatchProvider, xproperty->display, xproperty->window);
Esempio n. 8
0
 private void HandleXPropertyNetFrameExtents(XPropertyEvent *xproperty, XlibDispatchProvider dispatchProvider)
 => UpdateFrameExtents(dispatchProvider, xproperty->display, xproperty->window);