强制 Kate 在同一实例中打开所有文件

强制 Kate 在同一实例中打开所有文件

我安装了带有 Kate 18.08.0 的 KDE,并且我希望始终只有一个 Kate 实例。
(实例 == 窗口)

我的意思是,如果当前有一个 Kate 实例,并且我在 Kate 中打开某个文件(通过文件资源管理器或在终端中),那么 Kate(而不是创建新的 Kate 实例并在该实例中打开文件 - 当前行为)将在旧实例中将此文件作为新选项卡打开。

我怎样才能强制 Kate 在同一实例中打开所有文件?

更新

事实证明,如果同时满足以下条件,Kate 就能按预期工作(在旧实例中以新选项卡打开新文件):

  • 老凯特实例和
  • 我打开新文件的程序(终端或海豚)

在同一个虚拟桌面上

因此,目前还不清楚如何让 Kate 在所有虚拟桌面中只有一个实例

答案1

我在 Kubuntu 18.04 中使用 Kate 版本 17.12.3。

对我来说,如果我有一个正在运行的 Kate 实例,则默认行为是在现有实例的其他选项卡中打开其他文档。无论我在 Dolphin 中单击文件并选择使用 Kate 打开它,还是kate .bashrc从 Konsole 运行,都会发生这种情况。

查看/usr/share/applications/org.kde.kate.desktop,该Exec=行包含:

Exec=kate -b %U

为了完整起见,包含额外语言的 .desktop 文件如下:

[Desktop Entry]
GenericName=Advanced Text Editor
Name=Kate
Comment=KDE Advanced Text Editor
MimeType=text/plain;
Exec=kate -b %U
StartupNotify=true
X-KDE-HasTempFileOption=true
Icon=kate
X-DocPath=kate/index.html
Type=Application
Terminal=false
InitialPreference=9
X-DBUS-StartupType=Multi
X-DBUS-ServiceName=org.kde.kate
Categories=Qt;KDE;Utility;TextEditor;

也许您可以尝试.desktop file一下~/.local/share/applications

man kate在 OPTIONS 部分中有此项:

   -s, --start name
       Start Kate with a given session.

   --startanon
       Start Kate with a new anonymous session, implies -n.

   -n, --new
       Force start of a new Kate instance (is ignored if start is
       used and another Kate instance already has the given
       session opened), forced if no parameters and no URLs are
       given at all.
       given at all.

   -b, --block
       If using an already running Kate instance, block until it
       exits, if URLs given to open.

   -p, --pid  pid
       Only try to reuse kate instance with this pid (is ignored
       if start is used and another Kate instance already has the
       given session opened).

   -e, --encoding  name
       Set encoding for the file to open

       You can use this to force a file opened in utf-8 format,
       for instance. (The command iconv -l provides a list of
       encodings, which may be helpful to you.)

   -l, --line  line
       Navigate to this line

   -c, --column  column
       Navigate to this column

   -i, --stdin
       Read the contents of stdin

   --tempfile
       The files/URLs opened by the application will be deleted
       after use

   file
       File to open

Kate 配置文件

我有以下与 Kate 相关的配置文件:

~/.config $ ls | grep kate
katemetainfos
katemoderc
katepartrc
katerc
kateschemarc
katesyntaxhighlightingrc
katevirc
~/.config $ 

也许你可以暂时将它们转移到其他地方,然后看看凯特是否表现正常?

编辑: 鉴于对问题的修改表明希望只有一个 Kate 实例所有打开的虚拟桌面,以下链接相关:

答案2

根据@DK_Bose的回答,我把这一行放在了~/.bash_aliases上

alias kate='kate -s default'

我正在使用 Ubuntu 20.04。

相关内容