]> icculus.org git repositories - mikachu/openbox.git/blob - otk/util.hh
otk using ustring for shit that draws. expended its inferface yet some more.
[mikachu/openbox.git] / otk / util.hh
1 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
2 #ifndef __util_hh
3 #define __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 #include <string>
22 #include <vector>
23
24 namespace otk {
25
26 /* XXX: this needs autoconf help */
27 const unsigned int BSENTINEL = 65535;
28
29 std::string expandTilde(const std::string& s);
30
31 void bexec(const std::string& command, const std::string& displaystring);
32
33 std::string textPropertyToString(Display *display, XTextProperty& text_prop);
34
35 std::string itostring(unsigned long i);
36 std::string itostring(long i);
37 inline std::string itostring(unsigned int i)
38   { return itostring((unsigned long) i); }
39 inline std::string itostring(int i)
40   { return itostring((long) i); }
41
42 void putenv(const std::string &data);
43
44 std::string basename(const std::string& path);
45
46 }
47
48 #endif // __util_hh