tag: Fix index when screen count change.
There was still a problem that caused the "old" tags to be inserted in the wrong position when "saved" from a screen being removed. Also, this use a :get_tags(true) to save an uneeded sorting pass.
This commit is contained in:
parent
1be737be3a
commit
d2988d1aab
|
@ -465,6 +465,7 @@ function tag.object.set_screen(t, s)
|
||||||
|
|
||||||
-- Change the screen
|
-- Change the screen
|
||||||
tag.setproperty(t, "screen", s)
|
tag.setproperty(t, "screen", s)
|
||||||
|
tag.setproperty(t, "index", #s:get_tags(true))
|
||||||
|
|
||||||
-- Make sure the client's screen matches its tags
|
-- Make sure the client's screen matches its tags
|
||||||
for _,c in ipairs(t:clients()) do
|
for _,c in ipairs(t:clients()) do
|
||||||
|
@ -473,11 +474,9 @@ function tag.object.set_screen(t, s)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Update all indexes
|
-- Update all indexes
|
||||||
for _,screen in ipairs {old_screen, s} do
|
for i,t2 in ipairs(old_screen.tags) do
|
||||||
for i,t2 in ipairs(screen.tags) do
|
|
||||||
tag.setproperty(t2, "index", i)
|
tag.setproperty(t2, "index", i)
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
-- Restore the old screen history if the tag was selected
|
-- Restore the old screen history if the tag was selected
|
||||||
if sel then
|
if sel then
|
||||||
|
|
Loading…
Reference in New Issue