SOURCES: gtk+2-menu-mac.patch - updated
patrys
patrys at pld-linux.org
Sat Nov 4 23:59:22 CET 2006
Author: patrys Date: Sat Nov 4 22:59:22 2006 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- updated
---- Files affected:
SOURCES:
gtk+2-menu-mac.patch (1.1 -> 1.2)
---- Diffs:
================================================================
Index: SOURCES/gtk+2-menu-mac.patch
diff -u SOURCES/gtk+2-menu-mac.patch:1.1 SOURCES/gtk+2-menu-mac.patch:1.2
--- SOURCES/gtk+2-menu-mac.patch:1.1 Wed Nov 1 21:09:17 2006
+++ SOURCES/gtk+2-menu-mac.patch Sat Nov 4 23:59:17 2006
@@ -1,6 +1,6 @@
--- gtk/gtkmenubar.c.old 2006-07-03 08:25:06.000000000 +0800
-+++ gtk/gtkmenubar.c 2006-10-14 02:10:26.000000000 +0800
-@@ -38,6 +38,17 @@
++++ gtk/gtkmenubar.c 2006-11-04 23:18:50.000000000 +0800
+@@ -38,6 +38,18 @@
#include "gtkwindow.h"
#include "gtkprivate.h"
#include "gtkalias.h"
@@ -13,12 +13,13 @@
+#include "gtklabel.h"
+#include <stdlib.h>
+#include <string.h>
++#include <unistd.h>
+#include <X11/Xatom.h>
+#include <X11/Xlib.h>
#define BORDER_SPACING 0
-@@ -55,6 +66,8 @@
+@@ -55,6 +67,8 @@
{
GtkPackDirection pack_direction;
GtkPackDirection child_pack_direction;
@@ -27,7 +28,7 @@
};
#define GTK_MENU_BAR_GET_PRIVATE(o) \
-@@ -89,9 +102,129 @@
+@@ -89,9 +103,154 @@
G_DEFINE_TYPE (GtkMenuBar, gtk_menu_bar, GTK_TYPE_MENU_SHELL)
@@ -44,11 +45,12 @@
+ if (no_mac_set) return no_mac;
+ env = getenv("GTK_MENUBAR_NO_MAC");
+ if (env == NULL)
-+ env = "acroread gnome-panel";
++ env = "acroread gnome-macmenu-applet gnome-panel xfce4-macmenu-plugin xfce4-panel";
+ if (strcmp(env, "1") == 0)
+ no_mac = TRUE;
+ else
+ {
++ // check for GTK_MENUBAR_NO_MAC
+ gchar** no_mac_prgs = g_strsplit(env, " ", 0);
+ gchar** p = no_mac_prgs;
+ gchar* prg = g_get_prgname();
@@ -63,6 +65,29 @@
+ }
+ g_strfreev(no_mac_prgs);
+ }
++ if (! no_mac)
++ {
++ // check for mozplugger
++ char scmd[255];
++ char buffer[1024];
++ sprintf(scmd, "ps -o comm= -p `ps -o ppid= -p %d`", getpid());
++ FILE* f = popen(scmd, "r");
++ int len = fread(buffer, 1, 1023, f);
++ if (len > 0)
++ {
++ char* p;
++ buffer[len] = 0;
++ if ((p = index(buffer, '\n')) != NULL)
++ *p = 0;
++ if (strcmp(buffer, "mozplugger-help") == 0)
++ no_mac = TRUE;
++ }
++ else
++ {
++ fprintf(stderr, "failed to check for mozplugger by \"%s\"\n", scmd);
++ }
++ pclose(f);
++ }
+ no_mac_set = TRUE;
+ return no_mac;
+}
@@ -104,6 +129,7 @@
+ {
+ Atom typehints[2];
+ GdkGeometry geometry;
++ GtkRcStyle *mbarstyle;
+ // Setup menubar's original top-level window
+ priv->orig_toplevel_win
+ = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (menubar)));
@@ -157,7 +183,7 @@
}
static void
-@@ -114,6 +247,7 @@
+@@ -114,6 +273,7 @@
widget_class->size_allocate = gtk_menu_bar_size_allocate;
widget_class->expose_event = gtk_menu_bar_expose;
widget_class->hierarchy_changed = gtk_menu_bar_hierarchy_changed;
================================================================
---- CVS-web:
http://cvs.pld-linux.org/SOURCES/gtk+2-menu-mac.patch?r1=1.1&r2=1.2&f=u
More information about the pld-cvs-commit
mailing list