valgrind fixes, and fixes for writing shit all over the environment. yay~!!!!!!!
[dana/openbox.git] / otk / util.hh
1 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
2 #ifndef _BLACKBOX_UTIL_HH
3 #define _BLACKBOX_UTIL_HH
4
5 extern "C" {
6 #include <X11/Xlib.h>
7 #include <X11/Xutil.h>
8
9 #ifdef    TIME_WITH_SYS_TIME
10 #  include <sys/time.h>
11 #  include <time.h>
12 #else // !TIME_WITH_SYS_TIME
13 #  ifdef    HAVE_SYS_TIME_H
14 #    include <sys/time.h>
15 #  else // !HAVE_SYS_TIME_H
16 #    include <time.h>
17 #  endif // HAVE_SYS_TIME_H
18 #endif // TIME_WITH_SYS_TIME
19 }
20
21
22 #include <string>
23 #include <vector>
24
25 namespace otk {
26
27 /* XXX: this needs autoconf help */
28 const unsigned int BSENTINEL = 65535;
29
30 std::string expandTilde(const std::string& s);
31
32 void bexec(const std::string& command, const std::string& displaystring);
33
34 std::string textPropertyToString(Display *display, XTextProperty& text_prop);
35
36 std::string itostring(unsigned long i);
37 std::string itostring(long i);
38 inline std::string itostring(unsigned int i)
39   { return itostring((unsigned long) i); }
40 inline std::string itostring(int i)
41   { return itostring((long) i); }
42
43 void putenv(const std::string &data);
44
45 std::string basename(const std::string& path);
46
47 }
48
49 #endif