summaryrefslogtreecommitdiffstats
path: root/x11-fm
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2002-07-24 20:04:28 +0000
committersobomax <sobomax@FreeBSD.org>2002-07-24 20:04:28 +0000
commit7ca1cff514df56155c61e569c1f16c54f55083b5 (patch)
tree3a3685d8f01a31374a1cd6cea4fc0b19a2df3e1c /x11-fm
parentee9f366c070d8f6fff6232c8cff88c3f045f4214 (diff)
downloadFreeBSD-ports-7ca1cff514df56155c61e569c1f16c54f55083b5.zip
FreeBSD-ports-7ca1cff514df56155c61e569c1f16c54f55083b5.tar.gz
Fix the problem with Nautilus not sensing available desktop area properly
and therefore allowing to place icons under the panel. This will go away when gnomepanel is teached to set _NET_WORKAREA properly (it doesn't do it yet). More details are on the very top of the patch. Bump PORTREVISION.
Diffstat (limited to 'x11-fm')
-rw-r--r--x11-fm/nautilus2/Makefile1
-rw-r--r--x11-fm/nautilus2/files/patch-temp121
2 files changed, 122 insertions, 0 deletions
diff --git a/x11-fm/nautilus2/Makefile b/x11-fm/nautilus2/Makefile
index 766316d..aabdc80 100644
--- a/x11-fm/nautilus2/Makefile
+++ b/x11-fm/nautilus2/Makefile
@@ -7,6 +7,7 @@
PORTNAME= nautilus2
PORTVERSION= 2.0.1
+PORTREVISION= 1
CATEGORIES= x11-fm gnome
MASTER_SITES= ${MASTER_SITE_GNOME}
MASTER_SITE_SUBDIR= 2.0.0/sources/${PORTNAME:S/2$//}
diff --git a/x11-fm/nautilus2/files/patch-temp b/x11-fm/nautilus2/files/patch-temp
new file mode 100644
index 0000000..35155bc
--- /dev/null
+++ b/x11-fm/nautilus2/files/patch-temp
@@ -0,0 +1,121 @@
+
+Fixes problem with Nautilus not sensing available desktop space and therefore
+placing icons under the panel. Reverses rev.179-1.180 of
+src/file-manager/fm-desktop-icon-view.c. Will go away when gnomepanel is
+teached to set _NET_WORKAREA properly.
+
+--- src/file-manager/fm-desktop-icon-view.c.orig Mon Jul 22 21:03:46 2002
++++ src/file-manager/fm-desktop-icon-view.c Wed Jul 24 22:47:32 2002
+@@ -148,39 +148,9 @@
+ }
+
+ static void
+-icon_container_set_workarea (NautilusIconContainer *icon_container,
+- long *workareas,
+- int n_items)
+-{
+- int left, right, top, bottom;
+- int screen_width, screen_height;
+- int i;
+-
+- left = right = top = bottom = 0;
+-
+- screen_width = gdk_screen_width ();
+- screen_height = gdk_screen_height ();
+-
+- for (i = 0; i < n_items; i += 4) {
+- int x = workareas [i];
+- int y = workareas [i + 1];
+- int width = workareas [i + 2];
+- int height = workareas [i + 3];
+-
+- left = MAX (left, x);
+- right = MAX (right, screen_width - width - x);
+- top = MAX (top, y);
+- bottom = MAX (bottom, screen_height - height - y);
+- }
+-
+- nautilus_icon_container_set_margins (icon_container,
+- left, right, top, bottom);
+-}
+-
+-static void
+ net_workarea_changed (FMDesktopIconView *icon_view)
+ {
+- long *workareas = NULL;
++ long *borders = NULL;
+ Atom type_returned;
+ int format_returned;
+ unsigned long items_returned;
+@@ -194,33 +164,38 @@
+ gdk_error_trap_push ();
+ if (XGetWindowProperty (GDK_DISPLAY (),
+ GDK_ROOT_WINDOW (),
+- gdk_x11_get_xatom_by_name ("_NET_WORKAREA"),
+- 0, G_MAXLONG, False,
++ gdk_x11_get_xatom_by_name ("GNOME_PANEL_DESKTOP_AREA"),
++ 0 /* long_offset */,
++ 4 /* long_length */,
++ False /* delete */,
+ XA_CARDINAL,
+ &type_returned,
+ &format_returned,
+ &items_returned,
+ &bytes_after_return,
+- (unsigned char **)&workareas) != Success) {
+- if (workareas != NULL)
+- XFree (workareas);
+- workareas = NULL;
++ (unsigned char **)&borders) != Success) {
++ if (borders != NULL)
++ XFree (borders);
++ borders = NULL;
+ }
+
+ if (gdk_error_trap_pop ()
+- || workareas == NULL
++ || borders == NULL
+ || type_returned != XA_CARDINAL
+- || (items_returned % 4) != 0
++ || items_returned != 4
+ || format_returned != 32) {
+ nautilus_icon_container_set_margins (icon_container,
+ 0, 0, 0, 0);
+ } else {
+- icon_container_set_workarea (
+- icon_container, workareas, items_returned);
++ nautilus_icon_container_set_margins (icon_container,
++ borders[0 /* left */],
++ borders[1 /* right */],
++ borders[2 /* top */],
++ borders[3 /* bottom */]);
+ }
+
+- if (workareas != NULL)
+- XFree (workareas);
++ if (borders != NULL)
++ XFree (borders);
+ }
+
+ static GdkFilterReturn
+@@ -235,8 +210,9 @@
+
+ switch (xevent->type) {
+ case PropertyNotify:
+- if (xevent->xproperty.atom == gdk_x11_get_xatom_by_name ("_NET_WORKAREA"))
++ if (xevent->xproperty.atom == gdk_x11_get_xatom_by_name ("GNOME_PANEL_DESKTOP_AREA")) {
+ net_workarea_changed (icon_view);
++ }
+ break;
+ default:
+ break;
+@@ -708,7 +684,8 @@
+ default_zoom_level_changed (desktop_icon_view);
+ fm_desktop_icon_view_update_icon_container_fonts (desktop_icon_view);
+
+- /* Read out the workarea geometry and update the icon container accordingly */
++ /* Read out the panel desktop area and update the icon container
++ * accordingly */
+ net_workarea_changed (desktop_icon_view);
+
+ /* Setup the property filter */
OpenPOWER on IntegriCloud