function printWindowsInfo(windows) for k, window in pairs(windows) do application = window:application() appName = application:name() title = window:title() id = window:id() isMinimized = window:isMinimized() and 'true' or 'false' isStandard = window:isStandard() and 'true' or 'false' role = window:role() screenId = window:screen():id() print(' ' .. appName .. ': ' .. title) print(' id: ' .. id) print(' isMinimized: ' .. isMinimized) print(' isStandard: ' .. isStandard) print(' role: ' .. role) print(' screenId: ' .. screenId) end end function filterCallback() return true end windowFilter = hs.window.filter.new(filterCallback) windowFilter:subscribe( { hs.window.filter.windowCreated, hs.window.filter.windowDestroyed, }, function() print('------') printWindowsInfo(windowFilter:getWindows()) end )