File: property.h

package info (click to toggle)
notion 4.0.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,656 kB
  • sloc: ansic: 47,365; sh: 2,093; makefile: 594; perl: 270
file content (54 lines) | stat: -rw-r--r-- 2,009 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
 * ion/ioncore/property.h
 *
 * Copyright (c) Tuomo Valkonen 1999-2007.
 *
 * See the included file LICENSE for details.
 */

#ifndef ION_IONCORE_PROPERTY_H
#define ION_IONCORE_PROPERTY_H

#include <X11/Xatom.h>
#include <X11/Xproto.h>

#include "common.h"

extern ulong xwindow_get_property(Window win, Atom atom, Atom type,
                                  ulong n32expected, bool more, uchar **p);
extern char *xwindow_get_string_property(Window win, Atom a, int *nret);
extern void xwindow_set_string_property(Window win, Atom a, const char *value);
extern bool xwindow_get_integer_property(Window win, Atom a, int *vret);
extern void xwindow_set_integer_property(Window win, Atom a, int value);
extern bool xwindow_get_state_property(Window win, unsigned int *state);
extern void xwindow_set_state_property(Window win, unsigned int  state);
extern char **xwindow_get_text_property(Window win, Atom a, int *nret);

/**
 * Set a text property. The type of the property (STRING, COMPOUND_STRING,
 * UTF8_STRING or even any custom multibyte encoding) is determined
 * automatically based on the string and the current locale.
 *
 * This may be used for any property of type 'TEXT' (not 'STRING') in
 * http://tronche.com/gui/x/icccm/sec-2.html#s-2.6.2
 *
 * @param p null-terminated list of input strings, in the current locale
 *          encoding
 */
extern void xwindow_set_text_property(Window win, Atom a,
                                      const char **p, int n);
extern bool xwindow_get_cardinal_property(Window win, Atom a, CARD32 *vret);
extern bool xwindow_get_atom_property(Window win, Atom a, Atom *vret);

/**
 * Set a property as UTF8_STRING. To read UTF8_STRING properties, the normal
 * xwindow_get_text_property can be used.
 *
 * @param p null-terminated list of input strings, in the current locale
 *          encoding
 */
extern void xwindow_set_utf8_property(Window win, Atom a,
                                      const char **p, int n);

#endif /* ION_IONCORE_PROPERTY_H */