Какие именно фичи интересуют? Какие фичи фиг найдешь? Создание окошка с кнопочками - дело пары минут, описанное в деталях в документации:
local GUI = require("GUI")
--------------------------------------------------------------------------------
-- Создаем главный контейнер с черной фоновой палелью
local application = GUI.application()
application:addChild(GUI.panel(1, 1, application.width, application.height, 0x0))
-- Добавляем окошко в главный контейнер
local window = application:addChild(GUI.titledWindow(50, 22, 60, 14, "Акошко", true))
-- Добавляем лейаут размером 1х2 в окошко
local layout = window:addChild(GUI.layout(1, 2, window.width, window.height - 1, 1, 2))
-- Задаем размеры горизонтальных рядов для лейаута
layout:setRowHeight(1, GUI.SIZE_POLICY_RELATIVE, 1)
layout:setRowHeight(2, GUI.SIZE_POLICY_ABSOLUTE, 2)
-- Задаем режим выравнивание объектов для второго ряда по правому нижнему углу
layout:setAlignment(1, 2, GUI.ALIGNMENT_HORIZONTAL_RIGHT, GUI.ALIGNMENT_VERTICAL_BOTTOM)
-- ... направленние
layout:setDirection(1, 2, GUI.DIRECTION_HORIZONTAL)
-- ... расстояние между объектами
layout:setSpacing(1, 2, 3)
-- ... и отступ от правого нижнего угла
layout:setMargin(1, 2, 2, 1)
-- Доавляем текст в первый ряд лейаута
layout:addChild(GUI.text(1, 1, 0x0, "Я оч большой и важный текст"))
-- Меняем дефолтный ряд, в который будут добавляться объекты (можно через layout:setPosition(object), но лень)
layout.defaultRow = 2
-- Добавляем кнопочки
layout:addChild(GUI.adaptiveRoundedButton(1, 1, 2, 0, 0xB4B4B4, 0xFFFFFF, 0x969696, 0xB4B4B4, "Отмена"))
layout:addChild(GUI.adaptiveRoundedButton(1, 1, 2, 0, 0xB4B4B4, 0xFFFFFF, 0x969696, 0xB4B4B4, "Еще тык"))
-- При "тыке" на эту кнопочку комп будет вырубаться
layout:addChild(GUI.adaptiveRoundedButton(1, 1, 2, 0, 0x696969, 0xFFFFFF, 0x969696, 0xB4B4B4, "Тык")).onTouch = function()
require("computer").shutdown()
end
--------------------------------------------------------------------------------
-- Разово отрисовываем содержимое главного контейнера в принудительном режиме (для полной отрисовки буфера, вдруг опенось чет свое нарисует)
application:draw(true)
-- Начинаем обработку событий
application:start()
Результат: