2015-02-23 16:34:42 +00:00
From 2cfb5a8b205c61f773d5d438842b829ef3fcc220 Mon Sep 17 00:00:00 2001
2015-02-18 15:46:24 +00:00
From: Debarshi Ray <debarshir@gnome.org>
Date: Tue, 27 Jan 2015 18:40:13 +0100
Subject: [PATCH 1/3] Support desktop notifications from OSC 777
https://bugzilla.gnome.org/show_bug.cgi?id=711059
---
src/terminal-app.c | 32 +++++++++++++++++++++++
src/terminal-notebook.c | 4 +++
src/terminal-screen.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++
src/terminal-tab-label.c | 28 +++++++++++++++++++-
src/terminal-tab-label.h | 4 +++
5 files changed, 135 insertions(+), 1 deletion(-)
diff --git a/src/terminal-app.c b/src/terminal-app.c
2015-02-23 16:34:42 +00:00
index 95302c5..ae2043e 100644
2015-02-18 15:46:24 +00:00
--- a/src/terminal-app.c
+++ b/src/terminal-app.c
@@ -299,6 +299,31 @@ app_menu_quit_cb (GSimpleAction *action,
gtk_widget_destroy (GTK_WIDGET (window));
}
+/* Other action callbacks */
+
+static void
+action_activate_tab_cb (GSimpleAction *action,
+ GVariant *parameter,
+ gpointer user_data)
+{
+ GtkApplication *application = user_data;
+ GtkWidget *toplevel;
+ TerminalScreen *screen;
+ const char *uuid;
+
+ g_variant_get (parameter, "&s", &uuid);
+ screen = terminal_app_get_screen_by_uuid (TERMINAL_APP (application), uuid);
+ if (screen == NULL)
+ return;
+
+ toplevel = gtk_widget_get_toplevel (GTK_WIDGET (screen));
+ if (!gtk_widget_is_toplevel (toplevel))
+ return;
+
+ terminal_window_switch_screen (TERMINAL_WINDOW (toplevel), screen);
+ gtk_window_present (GTK_WINDOW (toplevel));
+}
+
/* Class implementation */
G_DEFINE_TYPE (TerminalApp, terminal_app, GTK_TYPE_APPLICATION)
@@ -321,6 +346,10 @@ terminal_app_startup (GApplication *application)
{ "quit", app_menu_quit_cb, NULL, NULL, NULL }
};
+ const GActionEntry other_actions[] = {
+ { "activate-tab", action_activate_tab_cb, "s", NULL, NULL }
+ };
+
gs_unref_object GtkBuilder *builder;
GError *error = NULL;
@@ -332,6 +361,9 @@ terminal_app_startup (GApplication *application)
g_action_map_add_action_entries (G_ACTION_MAP (application),
app_menu_actions, G_N_ELEMENTS (app_menu_actions),
application);
+ g_action_map_add_action_entries (G_ACTION_MAP (application),
+ other_actions, G_N_ELEMENTS (other_actions),
+ application);
builder = gtk_builder_new ();
gtk_builder_add_from_resource (builder,
diff --git a/src/terminal-notebook.c b/src/terminal-notebook.c
index d855a7b..31f2771 100644
--- a/src/terminal-notebook.c
+++ b/src/terminal-notebook.c
@@ -243,6 +243,7 @@ terminal_notebook_switch_page (GtkNotebook *gtk_notebook,
{
TerminalNotebook *notebook = TERMINAL_NOTEBOOK (gtk_notebook);
TerminalNotebookPrivate *priv = notebook->priv;
+ GtkWidget *tab_label;
TerminalScreen *screen, *old_active_screen;
GTK_NOTEBOOK_CLASS (terminal_notebook_parent_class)->switch_page (gtk_notebook, child, page_num);
@@ -253,6 +254,9 @@ terminal_notebook_switch_page (GtkNotebook *gtk_notebook,
if (screen == old_active_screen)
return;
+ tab_label = gtk_notebook_get_tab_label (gtk_notebook, child);
+ terminal_tab_label_set_icon (TERMINAL_TAB_LABEL (tab_label), NULL, NULL);
+
/* Workaround to remove gtknotebook's feature of computing its size based on
* all pages. When the widget is hidden, its size will not be taken into
* account.
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
2015-02-23 16:34:42 +00:00
index 62c9f5e..78b9d43 100644
2015-02-18 15:46:24 +00:00
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -48,6 +48,7 @@
#include "terminal-marshal.h"
#include "terminal-schemas.h"
#include "terminal-screen-container.h"
+#include "terminal-tab-label.h"
#include "terminal-util.h"
#include "terminal-window.h"
#include "terminal-info-bar.h"
@@ -81,6 +82,7 @@ struct _TerminalScreenPrivate
char **initial_env;
char **override_command;
gboolean shell;
+ gboolean shell_prompt_shown;
int child_pid;
GSList *match_tags;
guint launch_child_source_id;
@@ -136,6 +138,9 @@ static gboolean terminal_screen_do_exec (TerminalScreen *screen,
GError **error);
static void terminal_screen_child_exited (VteTerminal *terminal,
int status);
+static void terminal_screen_notification_received (VteTerminal *terminal,
+ const char *summary,
+ const char *body);
static void terminal_screen_window_title_changed (VteTerminal *vte_terminal,
TerminalScreen *screen);
@@ -440,6 +445,7 @@ terminal_screen_class_init (TerminalScreenClass *klass)
widget_class->popup_menu = terminal_screen_popup_menu;
terminal_class->child_exited = terminal_screen_child_exited;
+ terminal_class->notification_received = terminal_screen_notification_received;
signals[PROFILE_SET] =
g_signal_new (I_("profile-set"),
@@ -561,6 +567,10 @@ terminal_screen_dispose (GObject *object)
TerminalScreen *screen = TERMINAL_SCREEN (object);
TerminalScreenPrivate *priv = screen->priv;
GtkSettings *settings;
+ TerminalApp *app;
+
+ app = terminal_app_get ();
+ g_application_withdraw_notification (G_APPLICATION (app), priv->uuid);
settings = gtk_widget_get_settings (GTK_WIDGET (screen));
g_signal_handlers_disconnect_matched (settings, G_SIGNAL_MATCH_DATA,
2015-02-23 16:34:42 +00:00
@@ -1623,6 +1633,64 @@ terminal_screen_child_exited (VteTerminal *terminal,
2015-02-18 15:46:24 +00:00
}
static void
+terminal_screen_notification_received (VteTerminal *terminal,
+ const char *summary,
+ const char *body)
+{
+ TerminalScreen *screen = TERMINAL_SCREEN (terminal);
+ TerminalScreenPrivate *priv = screen->priv;
+ TerminalWindow *window;
+
+ if (G_UNLIKELY (!priv->shell_prompt_shown))
+ {
+ priv->shell_prompt_shown = TRUE;
+ return;
+ }
+
+ window = terminal_screen_get_window (screen);
+ if (window == NULL)
+ return;
+
+ if (gtk_window_is_active (GTK_WINDOW (window)))
+ {
+ GtkWidget *mdi_container;
+ TerminalScreenContainer *screen_container;
+
+ if (screen == terminal_window_get_active (window))
+ return;
+
+ screen_container = terminal_screen_container_get_from_screen (screen);
+ if (screen_container == NULL)
+ return;
+
+ mdi_container = terminal_window_get_mdi_container (window);
+ /* FIXME: add interface method to retrieve tab label */
+ if (GTK_IS_NOTEBOOK (mdi_container))
+ {
+ GtkWidget *tab_label;
+
+ tab_label = gtk_notebook_get_tab_label (GTK_NOTEBOOK (mdi_container), GTK_WIDGET (screen_container));
+ terminal_tab_label_set_bold (TERMINAL_TAB_LABEL (tab_label), TRUE);
+ terminal_tab_label_set_icon (TERMINAL_TAB_LABEL (tab_label), "dialog-information-symbolic", summary);
+ }
+ }
+ else
+ {
+ gs_unref_object GNotification *notification = NULL;
+ TerminalApp *app;
+ gs_free char *detailed_action = NULL;
+
+ notification = g_notification_new (summary);
+ g_notification_set_body (notification, body);
+ detailed_action = g_strdup_printf ("app.activate-tab::%s", priv->uuid);
+ g_notification_set_default_action (notification, detailed_action);
+
+ app = terminal_app_get ();
+ g_application_send_notification (G_APPLICATION (app), priv->uuid, notification);
+ }
+}
+
+static void
terminal_screen_drag_data_received (GtkWidget *widget,
GdkDragContext *context,
gint x,
diff --git a/src/terminal-tab-label.c b/src/terminal-tab-label.c
index 0850652..987e93c 100644
--- a/src/terminal-tab-label.c
+++ b/src/terminal-tab-label.c
@@ -34,6 +34,7 @@
struct _TerminalTabLabelPrivate
{
TerminalScreen *screen;
+ GtkWidget *icon;
GtkWidget *label;
GtkWidget *close_button;
gboolean bold;
@@ -179,7 +180,7 @@ terminal_tab_label_constructed (GObject *object)
{
TerminalTabLabel *tab_label = TERMINAL_TAB_LABEL (object);
TerminalTabLabelPrivate *priv = tab_label->priv;
- GtkWidget *hbox, *label, *close_button;
+ GtkWidget *hbox, *icon, *label, *close_button;
G_OBJECT_CLASS (terminal_tab_label_parent_class)->constructed (object);
@@ -189,6 +190,10 @@ terminal_tab_label_constructed (GObject *object)
gtk_box_set_spacing (GTK_BOX (hbox), SPACING);
+ priv->icon = icon = gtk_image_new ();
+ gtk_widget_set_no_show_all (icon, TRUE);
+ gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
+
priv->label = label = gtk_label_new (NULL);
gtk_widget_set_halign (label, GTK_ALIGN_CENTER);
gtk_widget_set_valign (label, GTK_ALIGN_BASELINE);
@@ -377,6 +382,27 @@ terminal_tab_label_set_bold (TerminalTabLabel *tab_label,
}
/**
+ * terminal_tab_label_set_icon:
+ * @tab_label: a #TerminalTabLabel
+ * @icon_name: (allow-none): an icon name
+ * @tooltip: (allow-none): text to be used as tooltip
+ *
+ * Shows an icon at the beginning of @tab_label. If @icon_name is
+ * %NULL, then the icon will be hidden.
+ */
+void
+terminal_tab_label_set_icon (TerminalTabLabel *tab_label,
+ const char *icon_name,
+ const char *tooltip)
+{
+ TerminalTabLabelPrivate *priv = tab_label->priv;
+
+ gtk_widget_set_visible (priv->icon, icon_name != NULL);
+ gtk_image_set_from_icon_name (GTK_IMAGE (priv->icon), icon_name, GTK_ICON_SIZE_MENU);
+ gtk_widget_set_tooltip_text (GTK_WIDGET (priv->icon), tooltip);
+}
+
+/**
* terminal_tab_label_get_screen:
* @tab_label: a #TerminalTabLabel
*
diff --git a/src/terminal-tab-label.h b/src/terminal-tab-label.h
index 20cfbce..a987025 100644
--- a/src/terminal-tab-label.h
+++ b/src/terminal-tab-label.h
@@ -59,6 +59,10 @@ GtkWidget * terminal_tab_label_new (TerminalScreen *screen);
void terminal_tab_label_set_bold (TerminalTabLabel *tab_label,
gboolean bold);
+void terminal_tab_label_set_icon (TerminalTabLabel *tab_label,
+ const char *icon_name,
+ const char *tooltip);
+
TerminalScreen *terminal_tab_label_get_screen (TerminalTabLabel *tab_label);
G_END_DECLS
--
2.1.0
2015-02-23 16:34:42 +00:00
From a3413cd8453351cdb1fbe0e54166d5e326b27091 Mon Sep 17 00:00:00 2001
2015-02-18 15:46:24 +00:00
From: Debarshi Ray <debarshir@gnome.org>
Date: Tue, 27 Jan 2015 19:04:19 +0100
Subject: [PATCH 2/3] Make notifications based on org.gtk.Notification work
The desktop file should be named after the application ID for this.
https://bugzilla.gnome.org/show_bug.cgi?id=711059
---
Makefile.am | 4 ++--
configure.ac | 2 +-
gnome-terminal.appdata.xml.in | 38 ----------------------------------
gnome-terminal.desktop.in.in | 16 --------------
org.gnome.Terminal.appdata.xml.in | 38 ++++++++++++++++++++++++++++++++++
org.gnome.Terminal.desktop.in.in | 16 ++++++++++++++
po/POTFILES.in | 4 ++--
po/POTFILES.skip | 2 +-
src/gnome-terminal-search-provider.ini | 2 +-
9 files changed, 61 insertions(+), 61 deletions(-)
delete mode 100644 gnome-terminal.appdata.xml.in
delete mode 100644 gnome-terminal.desktop.in.in
create mode 100644 org.gnome.Terminal.appdata.xml.in
create mode 100644 org.gnome.Terminal.desktop.in.in
diff --git a/Makefile.am b/Makefile.am
index f6f41a6..3aa8677 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -14,7 +14,7 @@ DISTCHECK_CONFIGURE_FLAGS = \
$(NULL)
desktopdir = $(datadir)/applications
-desktop_in_files = @PACKAGE@.desktop.in.in
+desktop_in_files = org.gnome.Terminal.desktop.in.in
nodist_desktop_DATA = $(desktop_in_files:.desktop.in.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
@@ -25,7 +25,7 @@ desktop-file-validate: $(nodist_desktop_DATA)
done
appdatadir = $(datadir)/appdata
-appdata_in_files = gnome-terminal.appdata.xml.in
+appdata_in_files = org.gnome.Terminal.appdata.xml.in
nodist_appdata_DATA = $(appdata_in_files:.xml.in=.xml)
@INTLTOOL_XML_RULE@
diff --git a/configure.ac b/configure.ac
index 523a0da..e68392d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -345,7 +345,7 @@ AC_SUBST([AM_LDFLAGS])
AC_CONFIG_FILES([
Makefile
-gnome-terminal.desktop.in
+org.gnome.Terminal.desktop.in
src/Makefile
src/terminal-version.h
help/Makefile
diff --git a/gnome-terminal.appdata.xml.in b/gnome-terminal.appdata.xml.in
deleted file mode 100644
index 7ef61e9..0000000
--- a/gnome-terminal.appdata.xml.in
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright © 2014 Christian Persch
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope conf it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
--->
-<!-- FIXME: the xmlns for appdata is made-up -->
-<application
- xmlns="https://www.freedesktop.org/standards/appdata/1.0"
- xmlns:xi="http://www.w3.org/2001/XInclude"
- xmlns:its="http://www.w3.org/2005/11/its">
- <id type="desktop">gnome-terminal.desktop</id>
- <metadata_license>GPL-3.0+</metadata_license>
- <project_license>GPL-3.0+</project_license>
- <_name>Terminal</_name>
- <_summary>Use the command line</_summary>
- <description>
- <_p>GNOME Terminal is a terminal emulator application for accessing a UNIX shell environment which can be used to run programs available on your system.</_p>
- <_p>It supports several profiles, multiple tabs and implements several keyboard shortcuts.</_p>
- </description>
- <screenshots>
- <screenshot type="default">https://help.gnome.org/users/gnome-terminal/stable/figures/gnome-terminal.png</screenshot>
- </screenshots>
- <url type="homepage">https://wiki.gnome.org/Apps/Terminal</url>
- <project_group>GNOME</project_group>
- <updatecontact>https://wiki.gnome.org/Apps/Terminal/ReportingBugs</updatecontact>
-</application>
diff --git a/gnome-terminal.desktop.in.in b/gnome-terminal.desktop.in.in
deleted file mode 100644
index e01c998..0000000
--- a/gnome-terminal.desktop.in.in
+++ /dev/null
@@ -1,16 +0,0 @@
-[Desktop Entry]
-_Name=Terminal
-_Comment=Use the command line
-_Keywords=shell;prompt;command;commandline;
-TryExec=gnome-terminal
-Exec=gnome-terminal
-Icon=utilities-terminal
-Type=Application
-X-GNOME-DocPath=gnome-terminal/index.html
-X-GNOME-Bugzilla-Bugzilla=GNOME
-X-GNOME-Bugzilla-Product=gnome-terminal
-X-GNOME-Bugzilla-Component=BugBuddyBugs
-X-GNOME-Bugzilla-Version=@VERSION@
-Categories=GNOME;GTK;System;TerminalEmulator;
-StartupNotify=true
-X-GNOME-SingleWindow=false
diff --git a/org.gnome.Terminal.appdata.xml.in b/org.gnome.Terminal.appdata.xml.in
new file mode 100644
index 0000000..ab4f23b
--- /dev/null
+++ b/org.gnome.Terminal.appdata.xml.in
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright © 2014 Christian Persch
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope conf it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+-->
+<!-- FIXME: the xmlns for appdata is made-up -->
+<application
+ xmlns="https://www.freedesktop.org/standards/appdata/1.0"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:its="http://www.w3.org/2005/11/its">
+ <id type="desktop">org.gnome.Terminal.desktop</id>
+ <metadata_license>GPL-3.0+</metadata_license>
+ <project_license>GPL-3.0+</project_license>
+ <_name>Terminal</_name>
+ <_summary>Use the command line</_summary>
+ <description>
+ <_p>GNOME Terminal is a terminal emulator application for accessing a UNIX shell environment which can be used to run programs available on your system.</_p>
+ <_p>It supports several profiles, multiple tabs and implements several keyboard shortcuts.</_p>
+ </description>
+ <screenshots>
+ <screenshot type="default">https://help.gnome.org/users/gnome-terminal/stable/figures/gnome-terminal.png</screenshot>
+ </screenshots>
+ <url type="homepage">https://wiki.gnome.org/Apps/Terminal</url>
+ <project_group>GNOME</project_group>
+ <updatecontact>https://wiki.gnome.org/Apps/Terminal/ReportingBugs</updatecontact>
+</application>
diff --git a/org.gnome.Terminal.desktop.in.in b/org.gnome.Terminal.desktop.in.in
new file mode 100644
index 0000000..e01c998
--- /dev/null
+++ b/org.gnome.Terminal.desktop.in.in
@@ -0,0 +1,16 @@
+[Desktop Entry]
+_Name=Terminal
+_Comment=Use the command line
+_Keywords=shell;prompt;command;commandline;
+TryExec=gnome-terminal
+Exec=gnome-terminal
+Icon=utilities-terminal
+Type=Application
+X-GNOME-DocPath=gnome-terminal/index.html
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=gnome-terminal
+X-GNOME-Bugzilla-Component=BugBuddyBugs
+X-GNOME-Bugzilla-Version=@VERSION@
+Categories=GNOME;GTK;System;TerminalEmulator;
+StartupNotify=true
+X-GNOME-SingleWindow=false
diff --git a/po/POTFILES.in b/po/POTFILES.in
index af1304d..0aa03ec 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,8 +1,8 @@
[encoding: UTF-8]
# List of source files containing translatable strings.
# Please keep this file sorted alphabetically.
-gnome-terminal.appdata.xml.in
-gnome-terminal.desktop.in.in
+org.gnome.Terminal.appdata.xml.in
+org.gnome.Terminal.desktop.in.in
[type: gettext/glade]src/find-dialog.ui
src/gterminal.vala
src/migration.c
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index 7c37b7f..ef7c635 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -1,4 +1,4 @@
# List of source files that should *not* be translated.
# Please keep this file sorted alphabetically.
-gnome-terminal.desktop.in
+org.gnome.Terminal.desktop.in
src/gterminal.c
diff --git a/src/gnome-terminal-search-provider.ini b/src/gnome-terminal-search-provider.ini
index b6506f2..1b9f81c 100644
--- a/src/gnome-terminal-search-provider.ini
+++ b/src/gnome-terminal-search-provider.ini
@@ -14,7 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
[Shell Search Provider]
-DesktopId=gnome-terminal.desktop
+DesktopId=org.gnome.Terminal.desktop
BusName=org.gnome.Terminal
ObjectPath=/org/gnome/Terminal/SearchProvider
Version=2
--
2.1.0
2015-02-23 16:34:42 +00:00
From d65d9045e4458fc27a5a08450c07c8ac1fa29178 Mon Sep 17 00:00:00 2001
2015-02-18 15:46:24 +00:00
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 29 Jan 2015 11:47:21 +0100
Subject: [PATCH 3/3] Sprinkle debug messages for notifications
This can be useful for finding out whether the escape sequence wasn't
emitted or the filtering was faulty.
https://bugzilla.gnome.org/show_bug.cgi?id=711059
---
src/terminal-debug.c | 1 +
src/terminal-debug.h | 3 ++-
src/terminal-screen.c | 4 ++++
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/terminal-debug.c b/src/terminal-debug.c
index 0ff321f..dac79c3 100644
--- a/src/terminal-debug.c
+++ b/src/terminal-debug.c
@@ -38,6 +38,7 @@ _terminal_debug_init(void)
{ "settings-list", TERMINAL_DEBUG_SETTINGS_LIST },
{ "appmenu", TERMINAL_DEBUG_APPMENU },
{ "search", TERMINAL_DEBUG_SEARCH },
+ { "notifications", TERMINAL_DEBUG_NOTIFICATIONS },
};
_terminal_debug_flags = g_parse_debug_string (g_getenv ("GNOME_TERMINAL_DEBUG"),
diff --git a/src/terminal-debug.h b/src/terminal-debug.h
index 5dc3ca4..7499ebe 100644
--- a/src/terminal-debug.h
+++ b/src/terminal-debug.h
@@ -34,7 +34,8 @@ typedef enum {
TERMINAL_DEBUG_PROFILE = 1 << 6,
TERMINAL_DEBUG_SETTINGS_LIST = 1 << 7,
TERMINAL_DEBUG_APPMENU = 1 << 8,
- TERMINAL_DEBUG_SEARCH = 1 << 9
+ TERMINAL_DEBUG_SEARCH = 1 << 9,
+ TERMINAL_DEBUG_NOTIFICATIONS = 1 << 10
} TerminalDebugFlags;
void _terminal_debug_init(void);
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
2015-02-23 16:34:42 +00:00
index 78b9d43..3845b10 100644
2015-02-18 15:46:24 +00:00
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
2015-02-23 16:34:42 +00:00
@@ -1641,6 +1641,8 @@ terminal_screen_notification_received (VteTerminal *terminal,
2015-02-18 15:46:24 +00:00
TerminalScreenPrivate *priv = screen->priv;
TerminalWindow *window;
+ _terminal_debug_print (TERMINAL_DEBUG_NOTIFICATIONS, "Notification received: [%s]: %s\n", summary, body);
+
if (G_UNLIKELY (!priv->shell_prompt_shown))
{
priv->shell_prompt_shown = TRUE;
2015-02-23 16:34:42 +00:00
@@ -1672,6 +1674,7 @@ terminal_screen_notification_received (VteTerminal *terminal,
2015-02-18 15:46:24 +00:00
tab_label = gtk_notebook_get_tab_label (GTK_NOTEBOOK (mdi_container), GTK_WIDGET (screen_container));
terminal_tab_label_set_bold (TERMINAL_TAB_LABEL (tab_label), TRUE);
terminal_tab_label_set_icon (TERMINAL_TAB_LABEL (tab_label), "dialog-information-symbolic", summary);
+ _terminal_debug_print (TERMINAL_DEBUG_NOTIFICATIONS, "Notify tab\n");
}
}
else
2015-02-23 16:34:42 +00:00
@@ -1687,6 +1690,7 @@ terminal_screen_notification_received (VteTerminal *terminal,
2015-02-18 15:46:24 +00:00
app = terminal_app_get ();
g_application_send_notification (G_APPLICATION (app), priv->uuid, notification);
+ _terminal_debug_print (TERMINAL_DEBUG_NOTIFICATIONS, "Notify desktop\n");
}
}
--
2.1.0