local M = {} -- Open a command in a simple centered floating window function M.open_terminal_app(cmd) local buf = vim.api.nvim_create_buf(false, true) local lines = vim.o.lines - vim.o.cmdheight - (vim.o.laststatus > 0 and 1 or 0) local w = math.floor(vim.o.columns * 0.95) local h = math.floor(lines * 0.95) local win = vim.api.nvim_open_win(buf, true, { relative = "editor", width = w, height = h, row = math.floor((lines - h) / 2), col = math.floor((vim.o.columns - w) / 2), border = "rounded", }) vim.fn.termopen(cmd, { on_exit = function() pcall(vim.api.nvim_win_close, win, true) end, }) end return M