Skype

Sometimes you would like a skype video call to persist no matter what tags you select. this was written for version 3.5

Cause floating skype call windows to automatically follow to all workspaces
add this to your rc.lua

--enable floating skype call windows to persist

local is_skype_call = function (c) return awful.rules.match(c, {class = "Skype", role = "CallWindow" }) end tag.connect_signal("property::selected",   function(tag)        if tag.selected then --not for the one that is being unselected            for c in awful.client.iterate(is_skype_call) do                if awful.client.floating.get(c) then                    awful.client.movetotag (awful.tag.selected, c)                    c.ontop = true                end            end        end    end)

set up skype call windows to start out floating
insert these two rules after the preexisting rules in your rc.lua

-- {{{ Rules

awful.rules.rules = { ....snip.... { rule = { class = "Skype" }, properties = { tag = tags[1][9], floating = false } },   { rule = { class = "Skype", role = "CallWindow" }, properties = { tag = tags[1][9], floating = true } }, }

Resizing and Moving
remember, by default you can move and resize floating windows via:

Mod4 + Button1 on client window: Move window

Mod4 + Button3 on client window: Resize window

since i am using a laptop, i changed Button3 to Button2:

....snip.... awful.button({ }, 2, function                   client.focus = c                    c:raise                    awful.mouse.client.resize(c)                end) ....snip....

Locking a skype call window
use the default keybinding for toggling window floating