]> Dogcows Code - chaz/openbox/blobdiff - src/Util.cc
added the ability to have numeric arguments for the cycle window/workspace functions.
[chaz/openbox] / src / Util.cc
index a97ffe50a591baa91a3ec11b54109c4e51a61dfb..6e2ea152e7acef7522d8d0a65f08da416da66476 100644 (file)
@@ -26,6 +26,8 @@
 #endif // HAVE_CONFIG_H
 
 extern "C" {
+#include <X11/Xatom.h>
+
 #ifdef HAVE_STRING_H
 #include <string.h>
 #endif
@@ -48,9 +50,9 @@ extern "C" {
 #if defined(HAVE_PROCESS_H) && defined(__EMX__)
 #  include <process.h>
 #endif //   HAVE_PROCESS_H             __EMX__
-}
 
-#include <X11/Xatom.h>
+#include <assert.h>
+}
 
 #include <algorithm>
 
@@ -139,6 +141,18 @@ bool Rect::intersects(const Rect &a) const {
 }
 
 
+bool Rect::contains(int __x, int __y) const {
+  return __x >= _x1 && __x <= _x2 &&
+         __y >= _y1 && __y <= _y2;
+}
+
+
+bool Rect::contains(const Rect& a) const {
+  return a._x1 >= _x1 && a._x2 <= _x2 &&
+         a._y1 >= _y1 && a._y2 <= _y2;
+}
+
+
 string expandTilde(const string& s) {
   if (s[0] != '~') return s;
 
@@ -155,13 +169,11 @@ void bexec(const string& command, const string& displaystring) {
     setsid();
     int ret = putenv(const_cast<char *>(displaystring.c_str()));
     assert(ret != -1);
-    string cmd = "exec ";
-    cmd += command;
-    execl("/bin/sh", "/bin/sh", "-c", cmd.c_str(), NULL);
-    exit(0);
+    ret = execl("/bin/sh", "/bin/sh", "-c", command.c_str(), NULL);
+    exit(ret);
   }
 #else //   __EMX__
-  spawnlp(P_NOWAIT, "cmd.exe", "cmd.exe", "/c", command, NULL);
+  spawnlp(P_NOWAIT, "cmd.exe", "cmd.exe", "/c", command.c_str(), NULL);
 #endif // !__EMX__
 }
 
@@ -180,8 +192,9 @@ string textPropertyToString(Display *display, XTextProperty& text_prop) {
   string ret;
 
   if (text_prop.value && text_prop.nitems > 0) {
-    ret = (char *) text_prop.value;
-    if (text_prop.encoding != XA_STRING) {
+    if (text_prop.encoding == XA_STRING) {
+      ret = (char *) text_prop.value;
+    } else {
       text_prop.nitems = strlen((char *) text_prop.value);
 
       char **list;
@@ -234,10 +247,8 @@ string itostring(unsigned long i) {
 
 
 string itostring(long i) {
-  if (i < 0) {
-    std::string tmp = itostring( (unsigned long) -i);
+  std::string tmp = itostring( (unsigned long) std::abs(i));
+  if (i < 0)
     tmp.insert(tmp.begin(), '-');
-    return tmp;
-  } else
-    return itostring( (unsigned long) i);
+  return tmp;
 }
This page took 0.023656 seconds and 4 git commands to generate.