Merge branch 'screen-gc' of https://github.com/psychon/awesome
This commit is contained in:
commit
2da981afdd
|
@ -88,23 +88,6 @@ local function client_menu_toggle_fn()
|
||||||
end
|
end
|
||||||
-- }}}
|
-- }}}
|
||||||
|
|
||||||
-- {{{ Wallpaper
|
|
||||||
if beautiful.wallpaper then
|
|
||||||
awful.screen.connect_for_each_screen(function(s)
|
|
||||||
gears.wallpaper.maximized(beautiful.wallpaper, s, true)
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
-- }}}
|
|
||||||
|
|
||||||
-- {{{ Tags
|
|
||||||
-- Define a tag table which hold all screen tags.
|
|
||||||
tags = {}
|
|
||||||
awful.screen.connect_for_each_screen(function(s)
|
|
||||||
-- Each screen has its own tag table.
|
|
||||||
tags[s] = awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
|
|
||||||
end)
|
|
||||||
-- }}}
|
|
||||||
|
|
||||||
-- {{{ Menu
|
-- {{{ Menu
|
||||||
-- Create a launcher widget and a main menu
|
-- Create a launcher widget and a main menu
|
||||||
myawesomemenu = {
|
myawesomemenu = {
|
||||||
|
@ -183,6 +166,14 @@ mytasklist.buttons = awful.util.table.join(
|
||||||
end))
|
end))
|
||||||
|
|
||||||
awful.screen.connect_for_each_screen(function(s)
|
awful.screen.connect_for_each_screen(function(s)
|
||||||
|
-- Wallpaper
|
||||||
|
if beautiful.wallpaper then
|
||||||
|
gears.wallpaper.maximized(beautiful.wallpaper, s, true)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Each screen has its own tag table.
|
||||||
|
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
|
||||||
|
|
||||||
-- Create a promptbox for each screen
|
-- Create a promptbox for each screen
|
||||||
mypromptbox[s] = awful.widget.prompt()
|
mypromptbox[s] = awful.widget.prompt()
|
||||||
-- Create an imagebox widget which will contains an icon indicating which layout we're using.
|
-- Create an imagebox widget which will contains an icon indicating which layout we're using.
|
||||||
|
|
|
@ -162,6 +162,11 @@ function layout.arrange(screen)
|
||||||
delayed_arrange[screen] = true
|
delayed_arrange[screen] = true
|
||||||
|
|
||||||
timer.delayed_call(function()
|
timer.delayed_call(function()
|
||||||
|
if not screen.valid then
|
||||||
|
-- Screen was removed
|
||||||
|
delayed_arrange[screen] = nil
|
||||||
|
return
|
||||||
|
end
|
||||||
if arrange_lock then return end
|
if arrange_lock then return end
|
||||||
arrange_lock = true
|
arrange_lock = true
|
||||||
|
|
||||||
|
|
|
@ -305,7 +305,10 @@ function tag.object.delete(self, fallback_tag)
|
||||||
if target_scr.selected_tag == nil and ntags > 0 then
|
if target_scr.selected_tag == nil and ntags > 0 then
|
||||||
tag.history.restore(nil, 1)
|
tag.history.restore(nil, 1)
|
||||||
if target_scr.selected_tag == nil then
|
if target_scr.selected_tag == nil then
|
||||||
tags[tags[1] == self and 2 or 1].selected = true
|
local other_tag = tags[tags[1] == self and 2 or 1]
|
||||||
|
if other_tag then
|
||||||
|
other_tag.selected = true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
-- Grab environment we need
|
-- Grab environment we need
|
||||||
local capi =
|
local capi =
|
||||||
{
|
{
|
||||||
awesome = awesome,
|
|
||||||
screen = screen,
|
screen = screen,
|
||||||
client = client
|
client = client
|
||||||
}
|
}
|
||||||
|
@ -26,7 +25,7 @@ local beautiful = require("beautiful")
|
||||||
local round = require("awful.util").round
|
local round = require("awful.util").round
|
||||||
|
|
||||||
local function get_screen(s)
|
local function get_screen(s)
|
||||||
return s and screen[s]
|
return s and capi.screen[s]
|
||||||
end
|
end
|
||||||
|
|
||||||
local awfulwibox = { mt = {} }
|
local awfulwibox = { mt = {} }
|
||||||
|
|
|
@ -47,7 +47,7 @@ function layoutbox.new(screen)
|
||||||
|
|
||||||
-- Do we already have the update callbacks registered?
|
-- Do we already have the update callbacks registered?
|
||||||
if boxes == nil then
|
if boxes == nil then
|
||||||
boxes = setmetatable({}, { __mode = "v" })
|
boxes = setmetatable({}, { __mode = "kv" })
|
||||||
tag.attached_connect_signal(nil, "property::selected", update_from_tag)
|
tag.attached_connect_signal(nil, "property::selected", update_from_tag)
|
||||||
tag.attached_connect_signal(nil, "property::layout", update_from_tag)
|
tag.attached_connect_signal(nil, "property::layout", update_from_tag)
|
||||||
layoutbox.boxes = boxes
|
layoutbox.boxes = boxes
|
||||||
|
|
|
@ -175,7 +175,7 @@ function taglist.new(screen, filter, buttons, style, update_function, base_widge
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if instances == nil then
|
if instances == nil then
|
||||||
instances = {}
|
instances = setmetatable({}, { __mode = "k" })
|
||||||
local function u(s)
|
local function u(s)
|
||||||
local i = instances[get_screen(s)]
|
local i = instances[get_screen(s)]
|
||||||
if i then
|
if i then
|
||||||
|
|
|
@ -190,7 +190,7 @@ function tasklist.new(screen, filter, buttons, style, update_function, base_widg
|
||||||
data[c] = nil
|
data[c] = nil
|
||||||
end
|
end
|
||||||
if instances == nil then
|
if instances == nil then
|
||||||
instances = {}
|
instances = setmetatable({}, { __mode = "k" })
|
||||||
local function us(s)
|
local function us(s)
|
||||||
local i = instances[get_screen(s)]
|
local i = instances[get_screen(s)]
|
||||||
if i then
|
if i then
|
||||||
|
|
|
@ -47,8 +47,8 @@ end
|
||||||
|
|
||||||
-- Test movetotag
|
-- Test movetotag
|
||||||
|
|
||||||
local t = tags[mouse.screen][1]
|
local t = mouse.screen.tags[1]
|
||||||
local t2 = tags[mouse.screen][2]
|
local t2 = mouse.screen.tags[2]
|
||||||
|
|
||||||
c:tags{t}
|
c:tags{t}
|
||||||
assert(c:tags()[1] == t)
|
assert(c:tags()[1] == t)
|
||||||
|
|
|
@ -3,11 +3,8 @@
|
||||||
local awful = require("awful")
|
local awful = require("awful")
|
||||||
local runner = require("_runner")
|
local runner = require("_runner")
|
||||||
|
|
||||||
-- This uses the global "tags" array set in the default config
|
|
||||||
-- luacheck: globals tags
|
|
||||||
|
|
||||||
-- Some basic assertion that the tag is not marked "urgent" already.
|
-- Some basic assertion that the tag is not marked "urgent" already.
|
||||||
assert(awful.tag.getproperty(tags[awful.screen.focused()][2], "urgent") == nil)
|
assert(awful.tag.getproperty(awful.screen.focused().tags[2], "urgent") == nil)
|
||||||
|
|
||||||
|
|
||||||
-- Setup signal handler which should be called.
|
-- Setup signal handler which should be called.
|
||||||
|
@ -32,7 +29,7 @@ local steps = {
|
||||||
if count == 1 then -- Setup.
|
if count == 1 then -- Setup.
|
||||||
urgent_cb_done = false
|
urgent_cb_done = false
|
||||||
-- Select first tag.
|
-- Select first tag.
|
||||||
tags[awful.screen.focused()][1]:view_only()
|
awful.screen.focused().tags[1]:view_only()
|
||||||
|
|
||||||
runner.add_to_default_rules({ rule = { class = "XTerm" },
|
runner.add_to_default_rules({ rule = { class = "XTerm" },
|
||||||
properties = { tag = "2", focus = true } })
|
properties = { tag = "2", focus = true } })
|
||||||
|
@ -40,8 +37,8 @@ local steps = {
|
||||||
awful.spawn("xterm")
|
awful.spawn("xterm")
|
||||||
end
|
end
|
||||||
if urgent_cb_done then
|
if urgent_cb_done then
|
||||||
assert(awful.tag.getproperty(tags[awful.screen.focused()][2], "urgent") == true)
|
assert(awful.tag.getproperty(awful.screen.focused().tags[2], "urgent") == true)
|
||||||
assert(awful.tag.getproperty(tags[awful.screen.focused()][2], "urgent_count") == 1)
|
assert(awful.tag.getproperty(awful.screen.focused().tags[2], "urgent_count") == 1)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
@ -55,13 +52,13 @@ local steps = {
|
||||||
root.fake_input("key_release", "2")
|
root.fake_input("key_release", "2")
|
||||||
root.fake_input("key_release", "Super_L")
|
root.fake_input("key_release", "Super_L")
|
||||||
|
|
||||||
elseif awful.screen.focused().selected_tags[1] == tags[awful.screen.focused()][2] then
|
elseif awful.screen.focused().selected_tags[1] == awful.screen.focused().tags[2] then
|
||||||
assert(#client.get() == 1)
|
assert(#client.get() == 1)
|
||||||
local c = client.get()[1]
|
local c = client.get()[1]
|
||||||
assert(not c.urgent, "Client is not urgent anymore.")
|
assert(not c.urgent, "Client is not urgent anymore.")
|
||||||
assert(c == client.focus, "Client is focused.")
|
assert(c == client.focus, "Client is focused.")
|
||||||
assert(awful.tag.getproperty(tags[awful.screen.focused()][2], "urgent") == false)
|
assert(awful.tag.getproperty(awful.screen.focused().tags[2], "urgent") == false)
|
||||||
assert(awful.tag.getproperty(tags[awful.screen.focused()][2], "urgent_count") == 0)
|
assert(awful.tag.getproperty(awful.screen.focused().tags[2], "urgent_count") == 0)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
@ -72,17 +69,17 @@ local steps = {
|
||||||
urgent_cb_done = false
|
urgent_cb_done = false
|
||||||
|
|
||||||
-- Select first tag.
|
-- Select first tag.
|
||||||
tags[awful.screen.focused()][1]:view_only()
|
awful.screen.focused().tags[1]:view_only()
|
||||||
|
|
||||||
runner.add_to_default_rules({ rule = { class = "XTerm" },
|
runner.add_to_default_rules({ rule = { class = "XTerm" },
|
||||||
properties = { tag = "2", focus = true, switchtotag = true }})
|
properties = { tag = "2", focus = true, switchtotag = true }})
|
||||||
|
|
||||||
awful.spawn("xterm")
|
awful.spawn("xterm")
|
||||||
|
|
||||||
elseif awful.screen.focused().selected_tags[1] == tags[awful.screen.focused()][2] then
|
elseif awful.screen.focused().selected_tags[1] == awful.screen.focused().tags[2] then
|
||||||
assert(not urgent_cb_done)
|
assert(not urgent_cb_done)
|
||||||
assert(awful.tag.getproperty(tags[awful.screen.focused()][2], "urgent") == false)
|
assert(awful.tag.getproperty(awful.screen.focused().tags[2], "urgent") == false)
|
||||||
assert(awful.tag.getproperty(tags[awful.screen.focused()][2], "urgent_count") == 0)
|
assert(awful.tag.getproperty(awful.screen.focused().tags[2], "urgent_count") == 0)
|
||||||
assert(awful.screen.focused().selected_tags[2] == nil)
|
assert(awful.screen.focused().selected_tags[2] == nil)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
@ -103,8 +100,8 @@ local steps = {
|
||||||
end
|
end
|
||||||
if manage_cb_done then
|
if manage_cb_done then
|
||||||
assert(client.get()[1].urgent == false)
|
assert(client.get()[1].urgent == false)
|
||||||
assert(awful.tag.getproperty(tags[awful.screen.focused()][2], "urgent") == false)
|
assert(awful.tag.getproperty(awful.screen.focused().tags[2], "urgent") == false)
|
||||||
assert(awful.tag.getproperty(tags[awful.screen.focused()][2], "urgent_count") == 0)
|
assert(awful.tag.getproperty(awful.screen.focused().tags[2], "urgent_count") == 0)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|
Loading…
Reference in New Issue