一个开源的小项目Platypus

1、是什么?

platypus 是一个对git bash窗口的管理,效果就是类似chrome浏览器那样,对bash窗口进行管理,可以随意的切换和创建。
目前支持windows x64。
为什么仅支持Windows x64?
因为其他的平台不需要😊,mac && linux都自带了更好用的bash,体验也很好。

在使用此软件之前,你需要自行安装git bash。我相信你已经安装过了。😊

软件截图:
在这里插入图片描述

​ 快捷键支持:

在这里插入图片描述

为了避免和git bash的功能有冲突,建议你关闭git bash 的快捷键处理。

在这里插入图片描述

2、为什么写这个软件?

我尝试很多的软件,都不尽如人意。比如powershell,在powershell可以使用git bash。但是体验不好,比如我不能使用bash的快捷键。

这对我来说很受打击。

再比如在vs code中也集成了git命令,体验也达不到原生的bash。

mintty其实本身也支持tab管理,但是效果需要提升。

其实我是把git bash的作用完全扩大化了,不再把他当作一个源码管理命令行,而是完完全全的linux的bash。

这样可以给我工作效率的提升。

我虽然一直在做windows的开发,其实我对linux十分感兴趣,所以对命令行有种青睐的感觉。

3、如何编译

此软件是基于Qt 5.15.2版本开发的,当然你可以使用更高的版本。

IDE: vs2019 c++20

notice: 因为现在估计开发者很少用x86 os,所以我着重测试了x64环境,你在编译的时候需要选择x64模式。

4、简单介绍原理

这里我介绍几个技术点:

1、如何获取mintty.exe 的标题栏信息:

利用线程注入技术,将dll通过windows API注入mintty.exe。

2、如何将mintty.exe窗口嵌入到我们自己的程序中:

利用Qt API。

3、如何获取触发的快捷键:

利用键盘hook,监听全局的键盘消息。notice:但是我过滤算法很差劲,效果并不很好。

4、进程间通信:

利用pipe,CreateEvent技术

剩下的感兴趣就自己看下代码吧。😄,hava fun.

5、要做的事情很多

TODO:

  • 1、需要支持扩展命令

解决方案:使用sh脚本启动exe,进行进程间通信传递命令

  • 2、优化键盘过滤算法

  • 3、有时候不能获取mintty窗口

  • 4、IPC稳定性需要加强

  • 5、tab 窗口需要重构

  • 6、将错误的消息放到消息队列中处理

如果你感兴趣,有想法,希望你来一起参加。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Platypus一个开发人员工具,可以从命令行脚本(例如Shell脚本或Python,Perl,Ruby,Tcl,JavaScript和PHP程序)创建本机Mac应用程序。这是通过将脚本与运行脚本的应用二进制文件包装在macOS 应用程序捆绑包中来完成的。 Platypus使与不熟悉命令行界面的人轻松共享脚本和程序。只需单击几下即可创建本机,用户友好的应用程序。使用Platypus创建安装程序,Droplet,管理应用程序,登录项,状态菜单项,启动器和自动化非常容易。 特征 支持shell脚本,Python,Perl,Ruby,PHP,Swift,Expect,Tcl,AWK,JavaScript,AppleScript或任何其他用户指定的解释器 应用程序可以将脚本执行的图形反馈显示为进度条,带有脚本输出的文本窗口,Droplet,WebKit HTML呈现或状态项菜单 应用程序支持接收拖放的文件或文本片段,然后将其作为参数传递给脚本 应用程序可以通过macOS安全框架以root权限执行脚本 应用可以注册为URI方案的处理程序 可以将应用程序配置为在后台运行(LSUIElement) 设置自己的应用程序图标或从预设中选择 设置应用的关联文件类型,标识符,版本,作者等。 用于将支持文件与脚本捆绑在一起的图形界面 用于自动化和构建过程集成的命令行工具 “个人资料”可用于保存应用配置 内置脚本编辑器,或与所选外部编辑器链接 广泛的文档和许多内置示例可帮助您入门 用Objective-C / Cocoa编写的快速响应本机应用程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值