如何禁用 GNOME 控制台“关闭窗口”?迅速的?

如何禁用 GNOME 控制台“关闭窗口”?迅速的?

请注意:这是关于GNOME 控制台,不是GNOME 终端。

如何在关闭 GNOME 控制台时阻止出现这些提示?

“关闭窗口?”迅速的

(就我而言,该窗口也具有误导性。即使后台进程被拒绝,它也会出现。被拒绝的进程不再是原始 shell 的子进程,因此它们在关闭终端后仍然可以正常运行。)

答案1

介意进入代码吗? (因为我没有设法找到任何类型的可访问参数来避免关闭确认窗口。)
首先尝试:快速而肮脏的方式只是为了看看它是否按照您的意愿工作。

阅读kgx_window.c从第 155 行开始,大致如下:

kgx_window_close_request (GtkWindow *window)
{
  children = kgx_pages_get_children (KGX_PAGES (priv->pages));
  if (children->len < 1 || priv->close_anyway) {
    if (gtk_window_is_active (GTK_WINDOW (self))) {
      …}
    return FALSE; /* Aka no, I don’t want to block closing */}

  dlg = g_object_new (KGX_TYPE_CLOSE_DIALOG,
                      "context", KGX_CONTEXT_WINDOW,
                      "commands", children,
                      "transient-for", self,
                      NULL);
  kgx_close_dialog_run (dlg, NULL, got_close, g_object_ref (self));
  return TRUE; /* Block the close */}

我们知道,如果 kgx_window_close_request 始终返回 FALSE,我们也许总是能够绕过关闭确认窗口。

因此我建议注释掉:

  • 第 164 行 ( if (children->len < 1 || priv->close_anyway) {)
  • 第 169 行(相关的右大括号。)

请注意,最好强制priv->close_anyway为 TRUE,因为确认也会被跳过,正如代码开头所指定的那样:

  • KgxWindow: * @close_anyway: 忽略正在运行的子窗口并在没有提示的情况下关闭

但我没有时间找到强制这样做的方法。

相关内容