]> Dogcows Code - chaz/tint2/blobdiff - src/launcher/xsettings-client.h
launcher : limit launcher_icon_theme to 1 theme. Add XSETTINGS client and read launch...
[chaz/tint2] / src / launcher / xsettings-client.h
diff --git a/src/launcher/xsettings-client.h b/src/launcher/xsettings-client.h
new file mode 100644 (file)
index 0000000..2e95a54
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Copyright © 2001 Red Hat, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Red Hat not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  Red Hat makes no representations about the
+ * suitability of this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ *
+ * RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL RED HAT
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author:  Owen Taylor, Red Hat, Inc.
+ */
+#ifndef XSETTINGS_CLIENT_H
+#define XSETTINGS_CLIENT_H
+
+#include <X11/Xlib.h>
+#include "xsettings-common.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+typedef struct _XSettingsClient XSettingsClient;
+
+typedef enum 
+{
+  XSETTINGS_ACTION_NEW,
+  XSETTINGS_ACTION_CHANGED,
+  XSETTINGS_ACTION_DELETED
+} XSettingsAction;
+
+typedef void (*XSettingsNotifyFunc) (const char       *name,
+                                    XSettingsAction   action,
+                                    XSettingsSetting *setting,
+                                    void             *cb_data);
+typedef void (*XSettingsWatchFunc)  (Window            window,
+                                    Bool              is_start,
+                                    long              mask,
+                                    void             *cb_data);
+
+XSettingsClient *xsettings_client_new           (Display             *display,
+                                                int                  screen,
+                                                XSettingsNotifyFunc  notify,
+                                                XSettingsWatchFunc   watch,
+                                                void                *cb_data);
+void             xsettings_client_destroy       (XSettingsClient     *client);
+Bool             xsettings_client_process_event (XSettingsClient     *client,
+                                                XEvent              *xev);
+
+void xsettings_notify_cb (const char *name, XSettingsAction action, XSettingsSetting *setting, void *data);
+
+XSettingsResult xsettings_client_get_setting (XSettingsClient   *client,
+                                             const char        *name,
+                                             XSettingsSetting **setting);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* XSETTINGS_CLIENT_H */
This page took 0.023461 seconds and 4 git commands to generate.