diff options
Diffstat (limited to 'devilspie/lua/awesome.lua')
| -rw-r--r-- | devilspie/lua/awesome.lua | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/devilspie/lua/awesome.lua b/devilspie/lua/awesome.lua new file mode 100644 index 0000000..dc11905 --- /dev/null +++ b/devilspie/lua/awesome.lua @@ -0,0 +1,46 @@ +-- Support Awesome 3.5 WM + +local posix = require("posix"); +local os = require("os"); + +local awesome = "/usr/bin/awesome-client" +if not posix.stat(awesome, "type") == "file" then + awesome = nil; +end + +-- Check for tiling mode +function is_tiling() + if awesome then + return true; + end + return false; +end + +-- Make window floating +-- Parameters: state - true to make window floating, else make window tiled +function set_tile_floating( state ) + if not awesome then + return nil; + end + + if state then state = "true" else state = "false" end + + local xid = get_window_xid(); + + local command = "echo "; + command = command .. "'"; + command = command .. " local naughty = require(\"naughty\");"; + command = command .. " local awcl = require(\"awful.client\");"; + command = command .. " local client = require(\"client\");"; + command = command .. " for k, c in pairs( client.get() ) do"; + command = command .. " if c.window == " .. xid .. " then"; + command = command .. " awcl.floating.set(c, " .. state .. ");"; + command = command .. " end"; + command = command .. " end"; + command = command .. "'"; + command = command .. " | "; + command = command .. awesome; + + debug_print("Awesome floating: " .. command); + return os.execute( command ); +end |
