通过命令行在现有 meld 实例中打开新选项卡

Open new tab in existing meld instance via a command line

有没有办法在现有的 meld 实例中使用命令行(如终端)或以编程方式开始新文件比较。


例如,下面的两个命令启动了 meld

的两个实例
$ meld ./1/a1.txt ./2/a2.txt &
$ meld ./3/a3.txt ./4/b4.txt &

但是,我更希望在不同选项卡中的同一实例中打开两个文件比较。我不知道获取方式,但我可以说明我的意思。

我假设可以修改第二个命令 (meld ./3/a3.txt ./4/b4.txt &)。例如它可以帮助一些未知的选项,

$ meld --some-option-to-open-in-tab ./3/a3.txt ./4/b4.txt &

或者也许可以编写一些应用程序来添加与 meld

的现有实例的文件比较
$ MyMeld ./3/a3.txt ./4/b4.txt &

There-n 未记录的选项(或 --newtab

$ meld ./1/a1.txt ./2/a2.txt &
$ meld -n ./3/a3.txt ./4/b4.txt &

-n / --newtab 命令行参数“在已经 运行 instance" 仅在 meld 版本 1.7.0(2012 年 11 月 7 日)中引入,因此在 1.6.1 或更早版本中不可用版本。在撰写本文时,current/latest 版本是 meld 版本 3.21.0(2020 年 4 月 19 日)。

请注意,此答案完全是关于何时将新选项卡 option/flag 添加为命令行参数的。早在 1.7.0

版本之前,选项卡本身就可以在 meld 应用程序的用户界面 (GUI) 上使用

1.7.0 发行说明: https://gitlab.gnome.org/GNOME/meld/-/commit/da800fe3428410572e28f617f904476712993ab8 “可以从命令行在新选项卡(而不是新 window)中打开比较(Kacper Wysocki、Antoine、Kai Willadsen)”

1.7.0 代码摘录: https://gitlab.gnome.org/GNOME/meld/-/blob/1.7.0/meld/meldapp.py

parser.add_option("-n", "--newtab", action="store_true", default=False,
            help=_("Open a new tab in an already running instance"))

示例:2 向和 3 向文件比较,结果在同一实例的选项卡中

meld file1 file2 &
meld -n file3 file4 file5 &