]>
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:
-- ...asynchronously:
-- asyncshell.request('wscript -Kiev', function(f) wwidget.text = f:read("*l") end)
-- ...synchronously
-- ...asynchronously:
-- asyncshell.request('wscript -Kiev', function(f) wwidget.text = f:read("*l") end)
-- ...synchronously
--- wwidget.text = asyncshell.demand('wscript -Kiev', 5):read("*l") or "Error"
+-- widget:set_text(asyncshell.demand('wscript -Kiev', 5):read("*l") or "Error")
+
+-- This is more cpu demanding, but makes things faster.
local spawn = require('awful.util').spawn
local spawn = require('awful.util').spawn
function asyncshell.request(command, callback)
local id = next_id()
local tmpfname = asyncshell.file_template .. id
function asyncshell.request(command, callback)
local id = next_id()
local tmpfname = asyncshell.file_template .. id
- asyncshell.request_table[id] = {callback = callback }
+ asyncshell.request_table[id] = { callback = callback }
- string.format("ba sh -c '%s > %s; " ..
+ string.format("sh -c '%s > %s; " ..
'echo "asyncshell.deliver(%s)" | ' ..
"awesome-client' 2> /dev/null",
string.gsub(command, "'", "'\\''"), tmpfname,
'echo "asyncshell.deliver(%s)" | ' ..
"awesome-client' 2> /dev/null",
string.gsub(command, "'", "'\\''"), tmpfname,