📜  安装材料 ui 实验室 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:39:07.087000             🧑  作者: Mango

安装材料 UI 实验室 - Shell-Bash

简介

安装材料 UI 实验室是一个基于 Shell-Bash 的 UI 库,用于在终端中快速构建简单的用户界面。它可以帮助你快速搭建一个命令行界面,以此来实现一些终端操作,例如:系统配置,文件操作,程序管理等。

安装

你可以在 GitHub 上查看并下载源码。

依赖

在安装之前,您需要确保您系统中已安装以下依赖:

  • ncurses 库,可以使用以下命令进行安装:
sudo apt-get install libncurses5-dev libncursesw5-dev
  • cmake 工具,可以使用以下命令进行安装:
sudo apt-get install cmake
安装步骤

下载并解压源码:

wget https://github.com/wangwenpei/shell-bash/archive/master.zip
unzip master.zip

进入解压后的目录:

cd shell-bash-master

使用 cmake 进行编译:

cmake .
make

安装:

sudo make install
使用

在代码中引用 Shell-Bash:

source /usr/local/include/shell-bash

然后可以开始构建你的用户界面啦!

功能

Shell-Bash 提供了简单易用的 API 给用户来构建用户界面。

控件

支持的控件有:

  • label:静态文本;
  • input:输入框;
  • button:按钮;
  • list:列表;
  • text:多行文本框;
  • progress_bar:进度条;
  • status_bar:状态栏。
事件

支持的事件有:

  • click:按钮被点击;
  • change:输入框的值变化。
示例

以下代码实现了一个简单的计算器:

source /usr/local/include/shell-bash

function calculate {
    val1=$1
    op=$2
    val2=$3

    case $op in
        "+")
            echo $(expr $val1 + $val2)
            ;;
        "-")
            echo $(expr $val1 - $val2)
            ;;
        "*")
            echo $(expr $val1 \* $val2)
            ;;
        "/")
            echo $(expr $val1 / $val2)
            ;;
    esac
}

function onBtnClick {
    local val1=$1
    local op=$2
    local val2=$3
    local result=$(calculate $val1 $op $val2)
    dialog_msg "结果是:$result"
}

function createUI {
    ui_dialog "计算器" 300 200 $((LINES / 2 - 100)) $((COLUMNS / 2 - 150))

    ui_label "输入第一个数:" 0 0
    ui_input "" 0 20 "num1"

    ui_label "输入操作符:" 1 0
    ui_list "list" "" "" "0" 1 20 "op" "+" "-" "*" "/"

    ui_label "输入第二个数:" 2 0
    ui_input "" 2 20 "num2"

    ui_button "计算" 4 20 $(onBtnClick $num1 $op $num2)
    ui_button "退出" 4 30 "exit 0"

    ui_draw
}

createUI
贡献者

本项目由 王文沛 创建和维护。如果您发现了 Bug 或者有任何建议,欢迎给我提 Issue

开源协议

Shell-Bash 使用 MIT 许可证。你可以在许可证文件中找到更多信息。