mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
Replaced X event notifying via add_fd(). Now all X events could be reported
without possible stealing from fltk. Prevous, add_handler(), would send only unknown events for fltk which leave us without really important ones, like selection events used by XSETTINGS manager. Added XSETTINGS support (yet unfinished) which will make evoke as XSETTINGS manager.
This commit is contained in:
53
evoke/Xsm.h
Normal file
53
evoke/Xsm.h
Normal file
@ -0,0 +1,53 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Evoke, head honcho of everything
|
||||
* Part of Equinox Desktop Environment (EDE).
|
||||
* Copyright (c) 2000-2007 EDE Authors.
|
||||
*
|
||||
* This program is licensed under terms of the
|
||||
* GNU General Public License version 2 or newer.
|
||||
* See COPYING for details.
|
||||
*/
|
||||
|
||||
#ifndef __XSM_H__
|
||||
#define __XSM_H__
|
||||
|
||||
#include <X11/Xlib.h> // XEvent
|
||||
|
||||
/*
|
||||
* This is manager class for XSETTINGS protocol. XSETTINGS provides a mechanism
|
||||
* for applications to share simple configuration settings like background
|
||||
* colors no matter what toolkit is used. For now only gtk fully supports it
|
||||
* and support for ede apps is going to be added.
|
||||
*
|
||||
* The protocol (0.5 version) is described at:
|
||||
* http://standards.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html
|
||||
*
|
||||
* This code is greatly based on xsettings referent implementation I found on
|
||||
* freedesktop.org cvs, since specs are very unclear about the details.
|
||||
* Author of referent implementation is Owen Taylor.
|
||||
*/
|
||||
|
||||
enum XsettingsType {
|
||||
XS_TYPE_INT = 0,
|
||||
XS_TYPE_COLOR,
|
||||
XS_TYPE_STRING
|
||||
};
|
||||
|
||||
struct XsmData;
|
||||
struct XsettingsSetting;
|
||||
|
||||
class Xsm {
|
||||
private:
|
||||
XsmData* data;
|
||||
|
||||
public:
|
||||
Xsm();
|
||||
~Xsm();
|
||||
bool is_running(void);
|
||||
bool init(void);
|
||||
bool should_quit(const XEvent* xev);
|
||||
};
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user