[Pkg-mozext-commits] [firetray] 192/399: set main status icon from Gtk theme (and add search path)
David Prévot
taffit at alioth.debian.org
Tue Oct 29 18:23:41 UTC 2013
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch dfsg-clean
in repository firetray.
commit 8ac08dab9e990ad54bb6862e66a4681aa224457f
Author: foudfou <foudil.newbie+git at gmail.com>
Date: Mon Mar 5 13:58:08 2012 +0100
set main status icon from Gtk theme (and add search path)
---
src/chrome/skin/firefox22.png | Bin 0 -> 1625 bytes
.../linux/icons/hicolor/22x22/apps/firefox.png | 1 +
.../linux/icons/hicolor/22x22/apps/thunderbird.png | 1 +
.../linux/icons/hicolor/32x32/apps/firefox.png | 1 +
.../linux/icons/hicolor/32x32/apps/thunderbird.png | 1 +
src/chrome/skin/thunderbird22.png | Bin 0 -> 1652 bytes
src/modules/ctypes/linux/gtk.jsm | 7 +++
src/modules/linux/FiretrayStatusIcon.jsm | 57 ++++++++++++++------
8 files changed, 51 insertions(+), 17 deletions(-)
diff --git a/src/chrome/skin/firefox22.png b/src/chrome/skin/firefox22.png
new file mode 100644
index 0000000..20e6cab
Binary files /dev/null and b/src/chrome/skin/firefox22.png differ
diff --git a/src/chrome/skin/linux/icons/hicolor/22x22/apps/firefox.png b/src/chrome/skin/linux/icons/hicolor/22x22/apps/firefox.png
new file mode 120000
index 0000000..b9b2b27
--- /dev/null
+++ b/src/chrome/skin/linux/icons/hicolor/22x22/apps/firefox.png
@@ -0,0 +1 @@
+../../../../../firefox22.png
\ No newline at end of file
diff --git a/src/chrome/skin/linux/icons/hicolor/22x22/apps/thunderbird.png b/src/chrome/skin/linux/icons/hicolor/22x22/apps/thunderbird.png
new file mode 120000
index 0000000..465aa92
--- /dev/null
+++ b/src/chrome/skin/linux/icons/hicolor/22x22/apps/thunderbird.png
@@ -0,0 +1 @@
+../../../../../thunderbird22.png
\ No newline at end of file
diff --git a/src/chrome/skin/linux/icons/hicolor/32x32/apps/firefox.png b/src/chrome/skin/linux/icons/hicolor/32x32/apps/firefox.png
new file mode 120000
index 0000000..c914b8d
--- /dev/null
+++ b/src/chrome/skin/linux/icons/hicolor/32x32/apps/firefox.png
@@ -0,0 +1 @@
+../../../../../firefox32.png
\ No newline at end of file
diff --git a/src/chrome/skin/linux/icons/hicolor/32x32/apps/thunderbird.png b/src/chrome/skin/linux/icons/hicolor/32x32/apps/thunderbird.png
new file mode 120000
index 0000000..a407d6b
--- /dev/null
+++ b/src/chrome/skin/linux/icons/hicolor/32x32/apps/thunderbird.png
@@ -0,0 +1 @@
+../../../../../thunderbird32.png
\ No newline at end of file
diff --git a/src/chrome/skin/thunderbird22.png b/src/chrome/skin/thunderbird22.png
new file mode 100644
index 0000000..5d4ac82
Binary files /dev/null and b/src/chrome/skin/thunderbird22.png differ
diff --git a/src/modules/ctypes/linux/gtk.jsm b/src/modules/ctypes/linux/gtk.jsm
index c71bafd..c55afdf 100644
--- a/src/modules/ctypes/linux/gtk.jsm
+++ b/src/modules/ctypes/linux/gtk.jsm
@@ -42,6 +42,7 @@ function gtk_defines(lib) {
{ "parent": this.GtkWidget.ptr }
]);
+ this.GtkIconTheme = ctypes.StructType("GtkIconTheme");
this.GtkMenu = ctypes.StructType("GtkMenu");
// use ctypes.cast(menu, LibGtkStatusIcon.GtkMenuShell.ptr);
this.GtkMenuShell = ctypes.StructType("GtkMenuShell");
@@ -72,8 +73,14 @@ function gtk_defines(lib) {
ctypes.default_abi, gobject.gboolean,
[this.GtkWidget.ptr, gdk.GdkEventWindowState.ptr, gobject.gpointer]).ptr;
+ lib.lazy_bind("gtk_icon_theme_get_default", this.GtkIconTheme.ptr);
+ lib.lazy_bind("gtk_icon_theme_get_for_screen", this.GtkIconTheme.ptr, gdk.GdkScreen.ptr);
+ lib.lazy_bind("gtk_icon_theme_append_search_path", ctypes.void_t, this.GtkIconTheme.ptr, gobject.gchar.ptr);
+ lib.lazy_bind("gtk_icon_theme_prepend_search_path", ctypes.void_t, this.GtkIconTheme.ptr, gobject.gchar.ptr);
+
lib.lazy_bind("gtk_status_icon_new", this.GtkStatusIcon.ptr);
lib.lazy_bind("gtk_status_icon_set_from_file", ctypes.void_t, this.GtkStatusIcon.ptr, ctypes.char.ptr);
+ lib.lazy_bind("gtk_status_icon_set_from_icon_name", ctypes.void_t, this.GtkStatusIcon.ptr, gobject.gchar.ptr);
lib.lazy_bind("gtk_status_icon_set_tooltip_text", ctypes.void_t, this.GtkStatusIcon.ptr, ctypes.char.ptr);
lib.lazy_bind("gtk_status_icon_set_visible", ctypes.void_t, this.GtkStatusIcon.ptr, gobject.gboolean);
lib.lazy_bind("gtk_menu_new", this.GtkMenu.ptr);
diff --git a/src/modules/linux/FiretrayStatusIcon.jsm b/src/modules/linux/FiretrayStatusIcon.jsm
index d3a7a1a..3889558 100644
--- a/src/modules/linux/FiretrayStatusIcon.jsm
+++ b/src/modules/linux/FiretrayStatusIcon.jsm
@@ -29,6 +29,13 @@ firetray.StatusIcon = {
init: function() {
try {
+ this.GTK_THEME_ICON_PATH = firetray.Utils.chromeToPath(
+ "chrome://firetray/skin/linux/icons");
+ LOG(this.GTK_THEME_ICON_PATH);
+ let gtkIconTheme = gtk.gtk_icon_theme_get_default();
+ LOG("gtkIconTheme="+gtkIconTheme);
+ gtk.gtk_icon_theme_append_search_path(gtkIconTheme, this.GTK_THEME_ICON_PATH);
+
// init tray icon, some variables
this.trayIcon = gtk.gtk_status_icon_new();
} catch (x) {
@@ -101,30 +108,46 @@ firetray.StatusIcon = {
default:
ERROR("SCROLL UNKNOWN");
}
- }
+ },
-}; // firetray.StatusIcon
+ setIconImageFromFile: function(filename) {
+ if (!firetray.StatusIcon.trayIcon)
+ return false;
+ LOG(filename);
+ try {
+ gtk.gtk_status_icon_set_from_file(firetray.StatusIcon.trayIcon,
+ filename);
+ } catch (x) {
+ ERROR(x);
+ return false;
+ }
+ return true;
+ },
-firetray.Handler.setIconImage = function(filename) {
- if (!firetray.StatusIcon.trayIcon)
- return false;
- LOG(filename);
+ setIconImageFromName: function(iconName) {
+ if (!firetray.StatusIcon.trayIcon)
+ return false;
+ LOG(iconName);
- try {
- gtk.gtk_status_icon_set_from_file(firetray.StatusIcon.trayIcon,
- filename);
- } catch (x) {
- ERROR(x);
- return false;
+ try {
+ gtk.gtk_status_icon_set_from_icon_name(firetray.StatusIcon.trayIcon, iconName); // "mail-message-new", "thunderbird");
+ } catch (x) {
+ ERROR(x);
+ return false;
+ }
+ return true;
}
- return true;
-};
+
+}; // firetray.StatusIcon
+
+
+firetray.Handler.setIconImage = firetray.StatusIcon.setIconImageFromFile;
firetray.Handler.setIconImageDefault = function() {
- if (!this.FILENAME_DEFAULT)
- throw "Default application icon filename not set";
- this.setIconImage(this.FILENAME_DEFAULT);
+ if (!this.appNameOriginal)
+ throw "Default application name not set";
+ firetray.StatusIcon.setIconImageFromName(this.appNameOriginal.toLowerCase());
};
// GTK bug: Gdk-CRITICAL **: IA__gdk_window_get_root_coords: assertion `GDK_IS_WINDOW (window)' failed
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/firetray.git
More information about the Pkg-mozext-commits
mailing list