diff --git a/lua/Navigator/mux/wezterm.lua b/lua/Navigator/mux/wezterm.lua index 8afdcef..77c75f1 100644 --- a/lua/Navigator/mux/wezterm.lua +++ b/lua/Navigator/mux/wezterm.lua @@ -41,6 +41,22 @@ function WezTerm:new() return setmetatable(state, self) end +---Checks if wezterm is zoomed in +---@return boolean +function WezTerm:zoomed() + local ok, panes = pcall(vim.json.decode, self.execute('list --format json')) + if not ok then + return false + end + local active_pane_id = tonumber(os.getenv('WEZTERM_PANE')) + for _, pane in ipairs(panes) do + if pane.pane_id == active_pane_id then + return pane.is_zoomed + end + end + return false +end + ---Switch pane in wezterm ---@param direction Direction See |navigator.api.Direction| ---@return WezTerm diff --git a/lua/Navigator/utils.lua b/lua/Navigator/utils.lua index 84fddeb..2be085b 100644 --- a/lua/Navigator/utils.lua +++ b/lua/Navigator/utils.lua @@ -5,7 +5,7 @@ local U = {} ---@return unknown function U.execute(cmd) local handle = assert(io.popen(cmd), string.format('[Navigator] Unable to execute cmd - %q', cmd)) - local result = handle:read() + local result = handle:read("*a") handle:close() return result end