Fix bugs with intrusive clients when there is no tags selected
This commit is contained in:
parent
a3702b715d
commit
4aa7508290
10
init.lua
10
init.lua
|
@ -110,7 +110,11 @@ local function match_client(c, startup)
|
||||||
--Add to the current tag if the client is intrusive, ignore exclusive
|
--Add to the current tag if the client is intrusive, ignore exclusive
|
||||||
if rules.properties.intrusive == true then
|
if rules.properties.intrusive == true then
|
||||||
local tag = awful.tag.selected(c.screen)
|
local tag = awful.tag.selected(c.screen)
|
||||||
if tag then
|
if not tag then
|
||||||
|
awful.tag.viewonly(awful.tag.gettags(c.screen)[1])
|
||||||
|
end
|
||||||
|
tag = awful.tag.selected(c.screen)
|
||||||
|
if tag then --Can be false if there is no tags
|
||||||
c:tags({tag})
|
c:tags({tag})
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -146,7 +150,7 @@ local function match_client(c, startup)
|
||||||
end
|
end
|
||||||
--Last resort, create a new tag
|
--Last resort, create a new tag
|
||||||
class_client[low] = class_client[low] or {tags={},properties={}}
|
class_client[low] = class_client[low] or {tags={},properties={}}
|
||||||
local tmp,tag = class_client[low],awful.tag.add(c.class,{name=c.class,volatile=true,screen=(c.screen <= capi.screen.count()) and c.screen or 1})
|
local tmp,tag = class_client[low],awful.tag.add(c.class,{name=c.class,volatile=true,screen=(c.screen <= capi.screen.count()) and c.screen or 1,layout=awful.layout.suit.max})
|
||||||
tmp.tags[#tmp.tags+1] = {name=c.class,instances = {[c.screen]=tag},volatile=true,screen=c.screen}
|
tmp.tags[#tmp.tags+1] = {name=c.class,instances = {[c.screen]=tag},volatile=true,screen=c.screen}
|
||||||
c:tags({tag})
|
c:tags({tag})
|
||||||
if awful.tag.getproperty(tag,"focus_on_new") ~= false then
|
if awful.tag.getproperty(tag,"focus_on_new") ~= false then
|
||||||
|
@ -190,7 +194,7 @@ end,awful.tag.add
|
||||||
awful.tag.add,awful.tag._setscreen = function(tag,props)
|
awful.tag.add,awful.tag._setscreen = function(tag,props)
|
||||||
local t = awful.tag._add(tag,props)
|
local t = awful.tag._add(tag,props)
|
||||||
if awful.tag.getproperty(t,"clone_on") and awful.tag.getproperty(t,"clone_on") ~= t.screen then
|
if awful.tag.getproperty(t,"clone_on") and awful.tag.getproperty(t,"clone_on") ~= t.screen then
|
||||||
local t3 = awful.tag._add(tag.."(c)",{screen = awful.tag.getproperty(t,"clone_on"), clone_of = t,icon=awful.tag.geticon(t)})
|
local t3 = awful.tag._add(tag,{screen = awful.tag.getproperty(t,"clone_on"), clone_of = t,icon=awful.tag.geticon(t)})
|
||||||
--TODO prevent clients from being added to the clone
|
--TODO prevent clients from being added to the clone
|
||||||
end
|
end
|
||||||
t:connect_signal("property::selected", function(t) on_selected_change(t,props) end)
|
t:connect_signal("property::selected", function(t) on_selected_change(t,props) end)
|
||||||
|
|
Loading…
Reference in New Issue