uzs*_*olt 12 bash user-interface dialog
我想创建一个简单的图形(Qt,Gtk,...)对话框,具体地说是一个简单的打印对话框,作为lpr的"前端",在bash中.我想要的是?每页打印多少页,打印间隔.这是(至少)两种选择.
解决这个问题的最佳工具是什么?
seh*_*ehe 21
有
据报道存在其他实现:
如果使用gpm
,您甚至可以在控制台环境中使用鼠标.它需要一个tty,所以它可以在ssh,screen,xterm等上工作,但在管道/重定向时不会.
两者都具有或多或少相同的界面,因此您可以根据X显示器是否可用进行切换
这是一个对话框脚本,显示一个简单的YES/NO框:
#!/bin/bash
DIALOG=${DIALOG=dialog}
$DIALOG --title " My first dialog" --clear \
--yesno "Hello , this is my first dialog program" 10 30
case $? in
0)
echo "Yes chosen.";;
1)
echo "No chosen.";;
255)
echo "ESC pressed.";;
esac
Run Code Online (Sandbox Code Playgroud)
替换dialog
为xdialog
:
我搜索了什么对话创建者.我发现了yad,我可以设置我想要的选项:
yad --skip-taskbar --center --title="Print dialog" {--image,--window-icon}=/usr/share/icons/Tango/72x72/devices/printer1.png --form --item-separator=, --field="Pages per sheet":CB 1,2,4,6,8 --field="Pages"
Run Code Online (Sandbox Code Playgroud)
当我选择"每张2页"和"1-12"页面并点击OK
输出后2|1-12|
.
这就是我想要的.Zenity或Xdialog可以做类似的吗?