capi: Move from `.data` to `._private` for the property data.

This will bring the CAPI classes closer to the gears.object ones.

Fixes #2897
This commit is contained in:
Emmanuel Lepage Vallee 2019-10-12 21:01:18 -04:00
parent 50eb7d5599
commit 45823f230a
14 changed files with 119 additions and 96 deletions

View File

@ -437,16 +437,23 @@ luaA_class_index(lua_State *L)
lua_class_property_t *prop = luaA_class_property_get(L, class, 2); lua_class_property_t *prop = luaA_class_property_get(L, class, 2);
/* Is this the special 'data' property? This is available on all objects and /* This is the table storing the object private variables.
* thus not implemented as a lua_class_property_t.
*/ */
if (A_STREQ(attr, "data")) if (A_STREQ(attr, "_private"))
{ {
luaA_checkudata(L, 1, class); luaA_checkudata(L, 1, class);
luaA_getuservalue(L, 1); luaA_getuservalue(L, 1);
lua_getfield(L, -1, "data"); lua_getfield(L, -1, "data");
return 1; return 1;
} }
else if (A_STREQ(attr, "data"))
{
luaA_deprecate(L, "Use `._private` instead of `.data`");
luaA_checkudata(L, 1, class);
luaA_getuservalue(L, 1);
lua_getfield(L, -1, "data");
return 1;
}
/* Property does exist and has an index callback */ /* Property does exist and has an index callback */
if(prop) if(prop)

View File

@ -1167,8 +1167,8 @@ end)
-- @return The property. -- @return The property.
-- @deprecated awful.client.property.get -- @deprecated awful.client.property.get
function client.property.get(c, prop) function client.property.get(c, prop)
if not c.data._persistent_properties_loaded then if not c._private._persistent_properties_loaded then
c.data._persistent_properties_loaded = true c._private._persistent_properties_loaded = true
for p in pairs(client.data.persistent_properties_registered) do for p in pairs(client.data.persistent_properties_registered) do
local value = c:get_xproperty("awful.client.property." .. p) local value = c:get_xproperty("awful.client.property." .. p)
if value ~= nil then if value ~= nil then
@ -1176,8 +1176,8 @@ function client.property.get(c, prop)
end end
end end
end end
if c.data.awful_client_properties then if c._private.awful_client_properties then
return c.data.awful_client_properties[prop] return c._private.awful_client_properties[prop]
end end
end end
@ -1191,14 +1191,14 @@ end
-- @param value The value. -- @param value The value.
-- @deprecated awful.client.property.set -- @deprecated awful.client.property.set
function client.property.set(c, prop, value) function client.property.set(c, prop, value)
if not c.data.awful_client_properties then if not c._private.awful_client_properties then
c.data.awful_client_properties = {} c._private.awful_client_properties = {}
end end
if c.data.awful_client_properties[prop] ~= value then if c._private.awful_client_properties[prop] ~= value then
if client.data.persistent_properties_registered[prop] then if client.data.persistent_properties_registered[prop] then
c:set_xproperty("awful.client.property." .. prop, value) c:set_xproperty("awful.client.property." .. prop, value)
end end
c.data.awful_client_properties[prop] = value c._private.awful_client_properties[prop] = value
c:emit_signal("property::" .. prop) c:emit_signal("property::" .. prop)
end end
end end
@ -1216,8 +1216,8 @@ function client.property.persist(prop, kind)
-- Make already-set properties persistent -- Make already-set properties persistent
for c in pairs(capi.client.get()) do for c in pairs(capi.client.get()) do
if c.data.awful_client_properties and c.data.awful_client_properties[prop] ~= nil then if c._private.awful_client_properties and c._private.awful_client_properties[prop] ~= nil then
c:set_xproperty(xprop, c.data.awful_client_properties[prop]) c:set_xproperty(xprop, c._private.awful_client_properties[prop])
end end
end end
end end

View File

@ -290,7 +290,7 @@ function screen.object.get_outputs(s)
local ret = {} local ret = {}
local outputs = s._custom_outputs local outputs = s._custom_outputs
or (s.data.viewport and s.data.viewport.outputs or s._outputs) or (s._private.viewport and s._private.viewport.outputs or s._outputs)
-- The reason this exists is because output with name as keys is very -- The reason this exists is because output with name as keys is very
-- convenient for quick name lookup by the users, but inconvenient in -- convenient for quick name lookup by the users, but inconvenient in
@ -671,9 +671,9 @@ function screen.object.split(s, ratios, mode, _geo)
table.insert(ret, ns) table.insert(ret, ns)
if s then if s then
ns.data.viewport = s.data.viewport ns._private.viewport = s._private.viewport
if not ns.data.viewport then if not ns._private.viewport then
ns.outputs = s.outputs ns.outputs = s.outputs
end end
end end
@ -708,7 +708,7 @@ end
-- @staticfct awful.screen.set_auto_dpi_enabled -- @staticfct awful.screen.set_auto_dpi_enabled
function screen.set_auto_dpi_enabled(enabled) function screen.set_auto_dpi_enabled(enabled)
for s in capi.screen do for s in capi.screen do
s.data.dpi_cache = nil s._private.dpi_cache = nil
end end
data.autodpi = enabled data.autodpi = enabled
end end

View File

@ -150,7 +150,7 @@ end
-- Compute more useful viewport metadata frrom_sparse(add)om the list of output. -- Compute more useful viewport metadata frrom_sparse(add)om the list of output.
-- @treturn table An viewport with more information. -- @treturn table An viewport with more information.
local function update_screen_viewport(s) local function update_screen_viewport(s)
local viewport = s.data.viewport local viewport = s._private.viewport
if #ascreen._viewports == 0 then if #ascreen._viewports == 0 then
ascreen._viewports = update_viewports(false) ascreen._viewports = update_viewports(false)
@ -171,7 +171,7 @@ local function update_screen_viewport(s)
end end
if big_a then if big_a then
viewport, s.data.viewport = big_a, big_a viewport, s._private.viewport = big_a, big_a
end end
end end
@ -203,7 +203,7 @@ end
function module.remove_screen_handler(viewport) function module.remove_screen_handler(viewport)
for s in capi.screen do for s in capi.screen do
if s.data.viewport and s.data.viewport.id == viewport.id then if s._private.viewport and s._private.viewport.id == viewport.id then
s:fake_remove() s:fake_remove()
return return
end end
@ -212,12 +212,12 @@ end
function module.resize_screen_handler(old_viewport, new_viewport) function module.resize_screen_handler(old_viewport, new_viewport)
for s in capi.screen do for s in capi.screen do
if s.data.viewport and s.data.viewport.id == old_viewport.id then if s._private.viewport and s._private.viewport.id == old_viewport.id then
local ngeo = new_viewport.geometry local ngeo = new_viewport.geometry
s:fake_resize( s:fake_resize(
ngeo.x, ngeo.y, ngeo.width, ngeo.height ngeo.x, ngeo.y, ngeo.width, ngeo.height
) )
s.data.viewport = new_viewport s._private.viewport = new_viewport
return return
end end
end end
@ -274,32 +274,32 @@ function module._get_viewports()
end end
local function get_dpi(s) local function get_dpi(s)
if s.data.dpi or s.data.dpi_cache then if s._private.dpi or s._private.dpi_cache then
return s.data.dpi or s.data.dpi_cache return s._private.dpi or s._private.dpi_cache
end end
if not s.data.viewport then if not s._private.viewport then
update_screen_viewport(s) update_screen_viewport(s)
end end
-- Pick a DPI (from best to worst). -- Pick a DPI (from best to worst).
local dpi = ascreen._get_xft_dpi() local dpi = ascreen._get_xft_dpi()
or (s.data.viewport and s.data.viewport.preferred_dpi or nil) or (s._private.viewport and s._private.viewport.preferred_dpi or nil)
or get_fallback_dpi() or get_fallback_dpi()
-- Pick the screen DPI depending on the `autodpi` settings. -- Pick the screen DPI depending on the `autodpi` settings.
-- Historically, AwesomeWM size unit was the pixel. This assumption is -- Historically, AwesomeWM size unit was the pixel. This assumption is
-- present in a lot, if not most, user config and is why this cannot be -- present in a lot, if not most, user config and is why this cannot be
-- enable by default for existing users. -- enable by default for existing users.
s.data.dpi_cache = data.autodpi and dpi s._private.dpi_cache = data.autodpi and dpi
or ascreen._get_xft_dpi() or ascreen._get_xft_dpi()
or get_fallback_dpi() or get_fallback_dpi()
return s.data.dpi_cache return s._private.dpi_cache
end end
local function set_dpi(s, dpi) local function set_dpi(s, dpi)
s.data.dpi = dpi s._private.dpi = dpi
end end
screen.connect_signal("request::create", module.create_screen_handler) screen.connect_signal("request::create", module.create_screen_handler)
@ -362,7 +362,7 @@ capi.screen.connect_signal("property::_viewports", function(a)
-- Drop the cache. -- Drop the cache.
for s in capi.screen do for s in capi.screen do
s.data.dpi_cache = nil s._private.dpi_cache = nil
end end
capi.screen.emit_signal("property::viewports", ascreen._get_viewports()) capi.screen.emit_signal("property::viewports", ascreen._get_viewports())
@ -402,11 +402,11 @@ return function(screen, d)
"preferred_dpi" } do "preferred_dpi" } do
screen.object["get_"..prop] = function(s) screen.object["get_"..prop] = function(s)
if not s.data.viewport then if not s._private.viewport then
update_screen_viewport(s) update_screen_viewport(s)
end end
local a = s.data.viewport or {} local a = s._private.viewport or {}
return a[prop] or nil return a[prop] or nil
end end

View File

@ -283,7 +283,7 @@ function tag.add(name, props)
local newtag = capi.tag{ name = name } local newtag = capi.tag{ name = name }
-- Start with a fresh property table to avoid collisions with unsupported data -- Start with a fresh property table to avoid collisions with unsupported data
newtag.data.awful_tag_properties = {screen=properties.screen, index=properties.index} newtag._private.awful_tag_properties = {screen=properties.screen, index=properties.index}
newtag.activated = true newtag.activated = true
@ -402,7 +402,7 @@ function tag.object.delete(self, fallback_tag, force)
end end
-- delete the tag -- delete the tag
self.data.awful_tag_properties.screen = nil self._private.awful_tag_properties.screen = nil
self.activated = false self.activated = false
-- Update all indexes -- Update all indexes
@ -1519,7 +1519,7 @@ end
-- @tparam tag _tag The tag. -- @tparam tag _tag The tag.
-- @return The data table. -- @return The data table.
function tag.getdata(_tag) function tag.getdata(_tag)
return _tag.data.awful_tag_properties return _tag._private.awful_tag_properties
end end
--- Get a tag property. --- Get a tag property.
@ -1532,8 +1532,9 @@ end
-- @return The property. -- @return The property.
function tag.getproperty(_tag, prop) function tag.getproperty(_tag, prop)
if not _tag then return end -- FIXME: Turn this into an error? if not _tag then return end -- FIXME: Turn this into an error?
if _tag.data.awful_tag_properties then
return _tag.data.awful_tag_properties[prop] if _tag._private.awful_tag_properties then
return _tag._private.awful_tag_properties[prop]
end end
end end
@ -1548,12 +1549,12 @@ end
-- @param prop The property name. -- @param prop The property name.
-- @param value The value. -- @param value The value.
function tag.setproperty(_tag, prop, value) function tag.setproperty(_tag, prop, value)
if not _tag.data.awful_tag_properties then if not _tag._private.awful_tag_properties then
_tag.data.awful_tag_properties = {} _tag._private.awful_tag_properties = {}
end end
if _tag.data.awful_tag_properties[prop] ~= value then if _tag._private.awful_tag_properties[prop] ~= value then
_tag.data.awful_tag_properties[prop] = value _tag._private.awful_tag_properties[prop] = value
_tag:emit_signal("property::" .. prop) _tag:emit_signal("property::" .. prop)
end end
end end
@ -1731,8 +1732,8 @@ capi.screen.connect_signal("removed", function(s)
for _, t in pairs(s.tags) do for _, t in pairs(s.tags) do
t.activated = false t.activated = false
if t.data.awful_tag_properties then if t._private.awful_tag_properties then
t.data.awful_tag_properties.screen = nil t._private.awful_tag_properties.screen = nil
end end
end end
end) end)

View File

@ -54,7 +54,8 @@ function object.capi_index_fallback(class, args)
end end
-- Use the fallback property table -- Use the fallback property table
return cobj.data[prop] assert(prop ~= "_private")
return cobj._private[prop]
end end
local setter = args.setter or function(cobj, prop, value) local setter = args.setter or function(cobj, prop, value)
@ -74,7 +75,7 @@ function object.capi_index_fallback(class, args)
end end
-- Use the fallback property table -- Use the fallback property table
cobj.data[prop] = value cobj._private[prop] = value
-- Emit the signal -- Emit the signal
if args.auto_emit then if args.auto_emit then

View File

@ -277,7 +277,6 @@ local function new(args)
return ret return ret
end end
w._private = {}
ret.drawin = w ret.drawin = w
ret._drawable = wibox.drawable(w.drawable, { wibox = ret }, ret._drawable = wibox.drawable(w.drawable, { wibox = ret },
"wibox drawable (" .. object.modulename(3) .. ")") "wibox drawable (" .. object.modulename(3) .. ")")

View File

@ -752,7 +752,7 @@ function module.display_tags()
selected = t.selected, selected = t.selected,
icon = t.icon, icon = t.icon,
screen = t.screen, screen = t.screen,
data = t.data, _private = t._private,
clients = t.clients, clients = t.clients,
layout = t.layout, layout = t.layout,
master_width_factor = t.master_width_factor, master_width_factor = t.master_width_factor,

View File

@ -6,7 +6,10 @@ local gears_obj = require("gears.object")
-- handlers. -- handlers.
local function _shim_fake_class() local function _shim_fake_class()
local obj = gears_obj() local obj = gears_obj()
obj.data = {} obj._private = {}
-- Deprecated.
obj.data = obj._private
local meta = { local meta = {
__index = function()end, __index = function()end,

View File

@ -28,11 +28,11 @@ local properties = {}
for _, prop in ipairs { for _, prop in ipairs {
"maximized", "maximized_horizontal", "maximized_vertical", "fullscreen" } do "maximized", "maximized_horizontal", "maximized_vertical", "fullscreen" } do
properties["get_"..prop] = function(self) properties["get_"..prop] = function(self)
return self.data[prop] or false return self._private[prop] or false
end end
properties["set_"..prop] = function(self, value) properties["set_"..prop] = function(self, value)
self.data[prop] = value or false self._private[prop] = value or false
if value then if value then
self:emit_signal("request::geometry", prop, nil) self:emit_signal("request::geometry", prop, nil)
@ -43,12 +43,12 @@ for _, prop in ipairs {
end end
function properties.get_screen(self) function properties.get_screen(self)
return self.data.screen or screen[1] return self._private.screen or screen[1]
end end
function properties.set_screen(self, s) function properties.set_screen(self, s)
s = screen[s] s = screen[s]
self.data.screen = s self._private.screen = s
if self.x < s.geometry.x or self.x > s.geometry.x+s.geometry.width then if self.x < s.geometry.x or self.x > s.geometry.x+s.geometry.width then
self:geometry { x = s.geometry.x } self:geometry { x = s.geometry.x }
@ -66,14 +66,17 @@ function client.gen_fake(args)
local ret = gears_obj() local ret = gears_obj()
awesome._forward_class(ret, client) awesome._forward_class(ret, client)
ret.data = {} ret._private = {}
ret.type = "normal" ret.type = "normal"
ret.valid = true ret.valid = true
ret.size_hints = {} ret.size_hints = {}
ret.border_width = 1 ret.border_width = 1
ret.icon_sizes = {{16,16}} ret.icon_sizes = {{16,16}}
ret.name = "Example Client" ret.name = "Example Client"
ret.data._struts = { top = 0, right = 0, left = 0, bottom = 0 } ret._private._struts = { top = 0, right = 0, left = 0, bottom = 0 }
-- Deprecated.
ret.data = ret._private
-- This is a hack because there's a `:is_transient_for(c2)` method -- This is a hack because there's a `:is_transient_for(c2)` method
-- and a `transient_for` property. It will cause a stack overflow -- and a `transient_for` property. It will cause a stack overflow
@ -194,10 +197,10 @@ function client.gen_fake(args)
function ret:struts(new) function ret:struts(new)
for k, v in pairs(new or {}) do for k, v in pairs(new or {}) do
ret.data._struts[k] = v ret._private._struts[k] = v
end end
return ret.data._struts return ret._private._struts
end end
-- Set a dummy one for now since set_screen will corrupt it. -- Set a dummy one for now since set_screen will corrupt it.

View File

@ -6,7 +6,10 @@ local cairo = require("lgi").cairo
local function new_drawin(_, args) local function new_drawin(_, args)
local ret = gears_obj() local ret = gears_obj()
ret.data = {drawable = gears_obj()} ret._private = {drawable = gears_obj()}
-- Deprecated.
ret.data = ret._private
ret.x=0 ret.x=0
ret.y=0 ret.y=0
@ -31,11 +34,11 @@ local function new_drawin(_, args)
} }
end end
ret.data.drawable.valid = true ret._private.drawable.valid = true
ret.data.drawable.surface = cairo.ImageSurface(cairo.Format.ARGB32, 0, 0) ret._private.drawable.surface = cairo.ImageSurface(cairo.Format.ARGB32, 0, 0)
ret.data.drawable.geometry = ret.geometry ret._private.drawable.geometry = ret.geometry
ret.data.drawable.refresh = function() end ret._private.drawable.refresh = function() end
ret.data._struts = { top = 0, right = 0, left = 0, bottom = 0 } ret._private._struts = { top = 0, right = 0, left = 0, bottom = 0 }
for _, k in pairs{ "_buttons", "get_xproperty", "set_xproperty" } do for _, k in pairs{ "_buttons", "get_xproperty", "set_xproperty" } do
ret[k] = function() end ret[k] = function() end
@ -43,10 +46,10 @@ local function new_drawin(_, args)
function ret:struts(new) function ret:struts(new)
for k, v in pairs(new or {}) do for k, v in pairs(new or {}) do
ret.data._struts[k] = v ret._private._struts[k] = v
end end
return ret.data._struts return ret._private._struts
end end
local md = setmetatable(ret, { local md = setmetatable(ret, {

View File

@ -31,9 +31,12 @@ local function create_screen(args)
local s = gears_obj() local s = gears_obj()
awesome._forward_class(s, screen) awesome._forward_class(s, screen)
s.data = {} s._private = {}
s.valid = true s.valid = true
-- Deprecated.
s.data = s._private
-- Copy the geo in case the args are mutated -- Copy the geo in case the args are mutated
local geo = { local geo = {
x = args.x , x = args.x ,

View File

@ -15,11 +15,14 @@ local function new_tag(_, args)
local ret = gears_obj() local ret = gears_obj()
awesome._forward_class(ret, tag) awesome._forward_class(ret, tag)
ret.data = {} ret._private = {}
ret.name = tostring(args.name) or "test" ret.name = tostring(args.name) or "test"
ret.activated = true ret.activated = true
ret.selected = not has_selected_tag(args.screen) ret.selected = not has_selected_tag(args.screen)
-- Deprecated.
ret.data = ret._private
function ret:clients(_) --TODO handle new function ret:clients(_) --TODO handle new
local list = {} local list = {}
for _, c in ipairs(client.get()) do for _, c in ipairs(client.get()) do

View File

@ -64,27 +64,27 @@ local function fake_replay(viewports)
local s = screen[k] local s = screen[k]
-- Check if the extra metadata are computed. -- Check if the extra metadata are computed.
assert(s.data.viewport.maximum_dpi) assert(s._private.viewport.maximum_dpi)
assert(s.data.viewport.minimum_dpi) assert(s._private.viewport.minimum_dpi)
assert(s.data.viewport.preferred_dpi) assert(s._private.viewport.preferred_dpi)
assert(s.dpi) assert(s.dpi)
assert(s.maximum_dpi == s.data.viewport.maximum_dpi ) assert(s.maximum_dpi == s._private.viewport.maximum_dpi )
assert(s.minimum_dpi == s.data.viewport.minimum_dpi ) assert(s.minimum_dpi == s._private.viewport.minimum_dpi )
assert(s.preferred_dpi == s.data.viewport.preferred_dpi) assert(s.preferred_dpi == s._private.viewport.preferred_dpi)
-- Make sure it enters either the main `if` or the fallback one. -- Make sure it enters either the main `if` or the fallback one.
assert(s.data.viewport.minimum_dpi ~= math.huge) assert(s._private.viewport.minimum_dpi ~= math.huge)
assert(s.data.viewport.preferred_dpi ~= math.huge) assert(s._private.viewport.preferred_dpi ~= math.huge)
-- Check the range. -- Check the range.
assert(s.data.viewport.maximum_dpi >= s.data.viewport.minimum_dpi) assert(s._private.viewport.maximum_dpi >= s._private.viewport.minimum_dpi)
assert(s.data.viewport.preferred_dpi >= s.data.viewport.minimum_dpi) assert(s._private.viewport.preferred_dpi >= s._private.viewport.minimum_dpi)
assert(s.data.viewport.preferred_dpi <= s.data.viewport.maximum_dpi) assert(s._private.viewport.preferred_dpi <= s._private.viewport.maximum_dpi)
-- Check if the screen was created using the right viewport -- Check if the screen was created using the right viewport
-- (order *is* relevant). -- (order *is* relevant).
assert(#s.data.viewport.outputs == #a.outputs) assert(#s._private.viewport.outputs == #a.outputs)
assert(s.data.viewport and s.data.viewport.id == a.id) assert(s._private.viewport and s._private.viewport.id == a.id)
end end
-- The original shall not be modified, the CAPI for this is read-only. -- The original shall not be modified, the CAPI for this is read-only.
@ -314,7 +314,7 @@ end,
-- Test adding an output. -- Test adding an output.
function() function()
local viewport = screen[1].data.viewport local viewport = screen[1]._private.viewport
add_output(fake_viewports[1], { add_output(fake_viewports[1], {
name = "foobar", name = "foobar",
@ -328,24 +328,24 @@ function()
}) })
-- It should have been kept. -- It should have been kept.
assert(viewport == screen[1].data.viewport) assert(viewport == screen[1]._private.viewport)
-- If this isn't true, then auto-dpi didn't do its job. -- If this isn't true, then auto-dpi didn't do its job.
assert(screen[1].dpi ~= saved_dpi1) assert(screen[1].dpi ~= saved_dpi1)
-- Now that there is multiple DPIs for the same viewport, the number -- Now that there is multiple DPIs for the same viewport, the number
-- should double. -- should double.
assert(#screen[1].data.viewport.outputs == 3) assert(#screen[1]._private.viewport.outputs == 3)
assert(screen[1].maximum_dpi == saved_dpi2*2) assert(screen[1].maximum_dpi == saved_dpi2*2)
assert(screen[1].minimum_dpi == saved_dpi3/2) assert(screen[1].minimum_dpi == saved_dpi3/2)
assert(screen[1].dpi == saved_dpi1/2) assert(screen[1].dpi == saved_dpi1/2)
remove_output(fake_viewports[1], "leet") remove_output(fake_viewports[1], "leet")
assert(#screen[1].data.viewport.outputs == 2) assert(#screen[1]._private.viewport.outputs == 2)
remove_output(fake_viewports[1], "foobar") remove_output(fake_viewports[1], "foobar")
-- At this point, only 1 DPI is left. -- At this point, only 1 DPI is left.
assert(#screen[1].data.viewport.outputs == 1) assert(#screen[1]._private.viewport.outputs == 1)
assert(screen[1].maximum_dpi == saved_dpi1/2) assert(screen[1].maximum_dpi == saved_dpi1/2)
assert(screen[1].minimum_dpi == saved_dpi1/2) assert(screen[1].minimum_dpi == saved_dpi1/2)
assert(screen[1].dpi == saved_dpi1/2) assert(screen[1].dpi == saved_dpi1/2)
@ -368,25 +368,25 @@ function()
} }
assert(screen.count() == 2) assert(screen.count() == 2)
assert(screen[1].data.viewport.id == 10) assert(screen[1]._private.viewport.id == 10)
assert(screen[2].data.viewport.id == 11) assert(screen[2]._private.viewport.id == 11)
assert(grect.are_equal(screen[1].data.viewport.geometry, screen[1].geometry)) assert(grect.are_equal(screen[1]._private.viewport.geometry, screen[1].geometry))
assert(grect.are_equal(screen[2].data.viewport.geometry, screen[2].geometry)) assert(grect.are_equal(screen[2]._private.viewport.geometry, screen[2].geometry))
assert(#ascreen._viewports == 2) assert(#ascreen._viewports == 2)
remove_viewport(10) remove_viewport(10)
assert(#ascreen._viewports == 1) assert(#ascreen._viewports == 1)
assert(screen.count() == 1) assert(screen.count() == 1)
assert(screen[1].data.viewport.id == 11) assert(screen[1]._private.viewport.id == 11)
assert(grect.are_equal(screen[1].data.viewport.geometry, screen[1].geometry)) assert(grect.are_equal(screen[1]._private.viewport.geometry, screen[1].geometry))
return true return true
end, end,
-- Test resizing. -- Test resizing.
function() function()
local s, sa = screen[1], screen[1].data.viewport local s, sa = screen[1], screen[1]._private.viewport
assert(screen.count() == 1) assert(screen.count() == 1)
assert(#ascreen._viewports == 1) assert(#ascreen._viewports == 1)
@ -403,8 +403,8 @@ function()
assert(screen.count() == 1) assert(screen.count() == 1)
assert(s == screen[1]) assert(s == screen[1])
assert(s.data.viewport ~= sa) assert(s._private.viewport ~= sa)
assert(s.data.viewport.id == 12) assert(s._private.viewport.id == 12)
-- Now 2 smaller (resolution) screens side by side to make sure it doesn't -- Now 2 smaller (resolution) screens side by side to make sure it doesn't
-- go haywire with overlapping -- go haywire with overlapping
@ -423,7 +423,7 @@ function()
assert(screen.count() == 2) assert(screen.count() == 2)
assert(s == screen[1]) assert(s == screen[1])
assert(s.data.viewport.id == 13) assert(s._private.viewport.id == 13)
assert(s.geometry.x == 1337) assert(s.geometry.x == 1337)
assert(s.geometry.width == 680) assert(s.geometry.width == 680)
@ -453,8 +453,8 @@ function()
} }
assert(screen.count() == 2) assert(screen.count() == 2)
assert(screen[1].data.viewport.id == 15) assert(screen[1]._private.viewport.id == 15)
assert(screen[2].data.viewport.id == 16) assert(screen[2]._private.viewport.id == 16)
-- Connect custom handler and see if the internals accidently depend on -- Connect custom handler and see if the internals accidently depend on
-- implementation details. -- implementation details.