当前位置: 首页 > 软件库 > 程序开发 > GUI开发框架 >

Terminal.Gui

.NET 跨平台终端 UI 工具包
授权协议 MIT
开发语言 C# JavaScript
所属分类 程序开发、 GUI开发框架
软件类型 开源软件
地区 不详
投 递 者 逑沛
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Terminal.Gui 是适用于 .NET 的跨平台终端 UI 工具包。

特性

  • 跨平台:支持 Windows、Mac 和 Linux。Curses、Windows 控制台和 .NET 控制台的终端驱动程序意味着应用程序在彩色和单色终端上都能正常运行。
  • 键盘和鼠标输入:支持键盘和鼠标输入,包括拖放支持。
  • 灵活布局:支持绝对布局和创新的计算布局系统 (Computed Layout)。Computed Layout 使控件之间的相对布局变得容易,并支持动态终端 UI。
  • 支持剪贴板:剪切、复制和粘贴通过Clipboard类提供的文本。
  • 任意视图:所有可见的 UI 元素都是View类的子类,而这些子类又可以包含任意数量的 sub-views。
  • 高级应用程序功能:主循环支持处理事件、空闲处理程序、计时器和监控文件描述符。大多数类对于 threading 是安全的。
  • 响应式扩展 (Reactive Extensions):使用响应式扩展并受益于提高的代码可读性,以及应用 MVVM 模式和 ReactiveUI 数据绑定的能力。

示例代码

using Terminal.Gui;
using NStack;

Application.Init();
var top = Application.Top;

// Creates the top-level window to show
var win = new Window("MyApp")
{
	X = 0,
	Y = 1, // Leave one row for the toplevel menu

	// By using Dim.Fill(), it will automatically resize without manual intervention
	Width = Dim.Fill(),
	Height = Dim.Fill()
};

top.Add(win);

// Creates a menubar, the item "New" has a help menu.
var menu = new MenuBar(new MenuBarItem[] {
			new MenuBarItem ("_File", new MenuItem [] {
				new MenuItem ("_New", "Creates new file", null),
				new MenuItem ("_Close", "",null),
				new MenuItem ("_Quit", "", () => { if (Quit ()) top.Running = false; })
			}),
			new MenuBarItem ("_Edit", new MenuItem [] {
				new MenuItem ("_Copy", "", null),
				new MenuItem ("C_ut", "", null),
				new MenuItem ("_Paste", "", null)
			})
		});
top.Add(menu);

static bool Quit()
{
	var n = MessageBox.Query(50, 7, "Quit Demo", "Are you sure you want to quit this demo?", "Yes", "No");
	return n == 0;
}

var login = new Label("Login: ") { X = 3, Y = 2 };
var password = new Label("Password: ")
{
	X = Pos.Left(login),
	Y = Pos.Top(login) + 1
};
var loginText = new TextField("")
{
	X = Pos.Right(password),
	Y = Pos.Top(login),
	Width = 40
};
var passText = new TextField("")
{
	Secret = true,
	X = Pos.Left(loginText),
	Y = Pos.Top(password),
	Width = Dim.Width(loginText)
};

// Add some controls, 
win.Add(
	// The ones with my favorite layout system, Computed
	login, password, loginText, passText,

	// The ones laid out like an australopithecus, with Absolute positions:
	new CheckBox(3, 6, "Remember me"),
	new RadioGroup(3, 8, new ustring[] { "_Personal", "_Company" }, 0),
	new Button(3, 14, "Ok"),
	new Button(10, 14, "Cancel"),
	new Label(3, 18, "Press F9 or ESC plus 9 to activate the menubar")
);

Application.Run();
Application.Shutdown();

上面的示例显示了使用 Terminal.Gui 支持的两种布局样式添加视图:绝对布局和计算布局。

  • iTerm2 基础配置 下载字体 Fira Code; 在 Profile -> Colors 里,我们把 Background 改成 #252B3A ,把 ANSI Color 中的 Blue 颜色改成 #2196F3 ; 在 Text 里,把 Font 改成 “Fira Code:18”,Non-ASCII Font 改成 “PingFang SC Regular:14” 。 oh-my-zs

  • 参考:http://blog.csdn.net/swust_long/article/details/7285147 [基本用法] gnome-terminal命令用于打开一个新的终端,直接在命令行 $ gnome-terminal 就可以打开一个新的终端,有一些常用参数: 打开后自动最大化 $ gnome-terminal --maximize 打开后全屏 $ gnome-terminal --

  • 1.Terminal 获取root权限时, su 提示输入密码后,密码输入无反应是因为隐藏了输入。 2.cd 文件名带空格时(shared space) cd 'shared space' 。 3.注意空格的位置 fuse 和  :/ 后面都需要空格 [root@localhost hgfs]# vmhgfs-fuse .host:/ /mnt/hgfs 4.修改redis.conf配置文件 (1

  • 1.在终端中打开终端: gnome-terminal 2.同时打开多个终端: gnome-terminal --window --window 此处有几个 --window 就会打开几个终端 3.最大化形式打开终端: gnome-terminal --maximize 4.全屏形式打开终端: gnome-terminal --full-screen 5.指定大小和位置打开: gnome-ter

  • 原文:http://my-study-notes.googlecode.com/git/tips-for-gonme-terminal =gnome-terminal技巧= abstract: some usual and useful tips for gnome-terminal tags: gnome-terminal maximize hold [基本用法] gnome-terminal命

  • 参考:(http://blog.csdn.net/swust_long/article/details/7285147) [基本用法] gnome-terminal命令用于打开一个新的终端,直接在命令行 $ gnome-terminal 就可以打开一个新的终端,有一些常用参数: 打开后自动最大化 $ gnome-terminal --maximize 打开后全屏 $ gnome-terminal

  • ubuntu 11.10的界面与前面的版本界面大不一样了! 这里给出三种打开Terminal的方法: 1. 点击左上角的图标 -> 在search框里搜索termial 即可 2. 点击左上角的图标 -> 点击"More Apps" -> 点击Installed右边的箭头 ->向下拉到T字母即可 3. 快捷键: Ctrl + Alt + t 即可  

  • 原文:http://my-study-notes.googlecode.com/git/tips-for-gonme-terminal abstract: some usual and useful tips for gnome-terminal tags: gnome-terminal maximize hold [基本用法] gnome-terminal命令用于打开一个新的终端,直接在命令行

  • 快捷键 窗口 Ctrl + Shift + + 放大字体 Ctrl + Shift + - 减小字体 Ctrl + 0 还原字体 F1 帮助菜单 F11 全屏 Ctrl + Shift + T 在打开的命令行窗口中打开一个新的Tab Ctrl + Shift + W 关闭标签页 Ctrl + Shift + Q 退出Terminal Ctrl + Shift + N 打开新的终端窗口 Ctrl +

  • 打开终端方法:    1.快捷键alt+f2打开运行窗口,在里面输入gnome-terminal,回车    2.桌面或目录空白部分右键:点击open in terminal    3.在活动终端上使用快捷键:ctrl+shift+n 使用终端标签:         在终端内部打开标签:ctrl+shift+t    关闭当前活动标签:ctrl+shift+m    标签之间的互相切换:alt+数

  • 更改 Ubuntu 默认终端工具 在 Ubuntu 系统中默认使用的终端工具是 gnome-terminal,而当我们安装完 Terminator 之后,Ubuntu 系统中默认采用的终端工具就变成了 Terminator,所以如果我们想重新把 gnome-terminal 作为默认的终端工具该怎么办呢? 修改 Ubuntu 默认使用的终端工具,我们就得借助于 dconf-tools 工具来进行重

 相关资料
  • Koala是一款预处理器语言图形编译工具,支持Less、Sass、CoffeeScript、Compass framework 的即时编译。 无需手动输入命令去编译,后台监听文件是否有改变,如有修改会自动进行编译。能够大大提升 Web 开发中的工作效率。 功能特性 多语言支持 支持Less、Sass、CoffeeScript 和 Compass Framework。 实时编译 监听文件,当文件改变

  • 多平台支持 Mpx支持在多个小程序平台中进行增强,目前支持的小程序平台包括微信,支付宝,百度,qq和头条,不过自2.0版本后,Mpx支持了以微信增强语法为base的跨平台输出,实现了一套业务源码在多端输出运行的能力,大大提升了多小程序平台业务的开发效率,详情可以查看template增强特性 不同平台上的模板增强指令按照平台的指令风格进行设计,文档和代码示例为了方便统一采用微信小程序下的书写方式。

  • 问题内容: 请有人帮我解决这个问题,我有一个Ubuntu服务器(仅终端机),我下载了android SDK,我安装了java,在/ tools中尝试运行./android时遇到错误,缺少平台工具。那么,由于某些原因,我如何从终端安装平台工具,却无法在任何地方找到此信息。 我发现的每个资源都假设我有一个GUI而不是终端,甚至是ubuntu的页面-https: //help.ubuntu.com/co

  • 我需要在我的应用程序中为不同的标签指定不同的FontFamily。我需要使用默认字体(如Android的Roboto和iOS的Helvetica)及其修改(如轻、中、粗)。据我所知,我应该使用Roboto-Light和Helvetica-Light来获得字体的轻版本(中号和粗体相同)。除了这个需求之外,我还需要在XAML中设置字体(如文档中所描述的),所以我最终得到了以下代码 然而,在Androi

  • 作为第三代数据统计和分析平台,诸葛实现了对用户的实名(实账号)分析,并主张互联网产品分析以用户为中心的分析思想并提供了一系列方法论。对用户的唯一标识来源于企业自身数据库对用户的唯一识别符,也即诸葛底层数据采集是以用户为中心的采集,我们提供了跨平台分析版本, 满足企业以用户为中心的整体的分析需求,不同平台相同业务价值下的用户完整的故事解读(例如:分析电商的用户在PC端浏览产品,在移动端支付的转化率)

  • 说明 由于在跨端开发中,必不可少的会遇到不同端需要有不同实现的情况。参考滴滴chameleon中的多态,megalo中实现了类似的跨平台兼容方案。需要使用时,请保证@megalo/target的版本号大于或等于0.7.2。 js的跨平台兼容 megalo中下面两种形式的引用会被特殊处理: [path-to-name]/[name]/index.mpjs [path-to-name]/[name]

  • 终端用户接口实用功能。 fabric.contrib.console.confirm(question, default=True) 询问用户 yes/no 的问题,并将用户输入转换为 True 或 False。 question 参数应当简单但合乎语法,比如“是否继续?”,问题的结尾应当接上类似“[Y/n]”这样的字符串,函数本身 并不 会帮你做这种事。 默认情况下,用户不输入任何值直接敲击回车

  • 前面介绍了如何安装虚拟机,还介绍了如何在虚拟机上安装 CentOs 操作系统,并且给 CentOs 配置了局域网固定 ip,那么此时的 CentOs 相当于是在局域网的一台服务器了,虚拟机上面已经自带终端工具,实际业务中使用较多的是终端工具连接远程服务器,较为常见的 Linux 服务器终端连接工具有 xshell、MobaXterm、putty 等等。其中 MobaXterm 对个人免费使用,且功