]> git.madduck.net Git - etc/awesome.git/blobdiff - asyncshell.lua

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

#221 use string.format; wiki updated
[etc/awesome.git] / asyncshell.lua
index 827cf4be4b0f500174ba2279429039d5f39516aa..61336db5920ba705e94d4d746e637ff4e62805fd 100644 (file)
@@ -14,6 +14,9 @@
 -- Grab environment
 local awful = require('awful')
 
+-- Avoid discrepancies across multiple shells
+awful.util.shell = '/bin/sh'
+
 -- Initialize tables for module
 asyncshell = { request_table = {}, id_counter = 0 }
 
@@ -49,7 +52,11 @@ function asyncshell.request(command, callback, timeout)
         id, formatted_command
     )
 
-    awful.util.spawn_with_shell(req)
+    if type(awful.spawn) == 'table' and awful.spawn.with_shell then
+        awful.spawn.with_shell(req)
+    else
+        awful.util.spawn_with_shell(req)
+    end
 
     if timeout then
         asyncshell.request_table[id].timer = timer({ timeout = timeout })