rpms/metacity/devel metacity-option-to-force-fullscreen.patch, NONE, 1.1 metacity.spec, 1.200, 1.201

Peter Robinson pbrobinson at fedoraproject.org
Wed Sep 2 20:20:52 UTC 2009


Author: pbrobinson

Update of /cvs/pkgs/rpms/metacity/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31433

Modified Files:
	metacity.spec 
Added Files:
	metacity-option-to-force-fullscreen.patch 
Log Message:
- Add upstreamed patch for option to force fullscreen for sugar - RHBZ 516225

metacity-option-to-force-fullscreen.patch:
 core/constraints.c |    4 +++-
 core/main.c        |   10 ++++++++++
 core/prefs.c       |   17 +++++++++++++++++
 include/prefs.h    |    7 +++++--
 4 files changed, 35 insertions(+), 3 deletions(-)

--- NEW FILE metacity-option-to-force-fullscreen.patch ---
>From b625ec30d99b2dcf86d8fa78b09f6d04dce3a6e0 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu at sugarlabs.org>
Date: Fri, 19 Jun 2009 15:30:37 +0000
Subject: Add a switch to disable autofullscreen'ing maximized windows without decorations

---
diff --git a/src/core/constraints.c b/src/core/constraints.c
index 800b293..a060d20 100644
--- a/src/core/constraints.c
+++ b/src/core/constraints.c
@@ -27,6 +27,7 @@
 #include "constraints.h"
 #include "workspace.h"
 #include "place.h"
+#include "prefs.h"
 
 #include <stdlib.h>
 #include <math.h>
@@ -424,7 +425,8 @@ setup_constraint_info (ConstraintInfo      *info,
   /* Workaround braindead legacy apps that don't know how to
    * fullscreen themselves properly.
    */
-  if (meta_rectangle_equal (new, &xinerama_info->rect) &&
+  if (meta_prefs_get_force_fullscreen() &&
+      meta_rectangle_equal (new, &xinerama_info->rect) &&
       window->has_fullscreen_func &&
       !window->fullscreen)
     {
diff --git a/src/core/main.c b/src/core/main.c
index 6c36f10..a36a396 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -233,6 +233,7 @@ typedef struct
   gboolean sync;
   gboolean composite;
   gboolean no_composite;
+  gboolean no_force_fullscreen;
 } MetaArguments;
 
 #ifdef HAVE_COMPOSITE_EXTENSIONS
@@ -314,6 +315,12 @@ meta_parse_options (int *argc, char ***argv,
       N_("Turn compositing off"),
       NULL
     },
+    {
+      "no-force-fullscreen", 0, COMPOSITE_OPTS_FLAGS, G_OPTION_ARG_NONE,
+      &my_args.no_force_fullscreen,
+      N_("Don't make fullscreen windows that are maximized and have no decorations"),
+      NULL
+    },
     {NULL}
   };
   GOptionContext *ctx;
@@ -584,6 +591,9 @@ main (int argc, char **argv)
   if (meta_args.composite || meta_args.no_composite)
     meta_prefs_set_compositing_manager (meta_args.composite);
 
+  if (meta_args.no_force_fullscreen)
+    meta_prefs_set_force_fullscreen (FALSE);
+
   if (!meta_display_open ())
     meta_exit (META_EXIT_ERROR);
   
diff --git a/src/core/prefs.c b/src/core/prefs.c
index 1f4fe41..6e41b3c 100644
--- a/src/core/prefs.c
+++ b/src/core/prefs.c
@@ -95,6 +95,7 @@ static char *cursor_theme = NULL;
 static int   cursor_size = 24;
 static gboolean compositing_manager = FALSE;
 static gboolean resize_with_right_button = FALSE;
+static gboolean force_fullscreen = TRUE;
 
 static MetaVisualBellType visual_bell_type = META_VISUAL_BELL_FULLSCREEN_FLASH;
 static MetaButtonLayout button_layout;
@@ -1751,6 +1752,9 @@ meta_preference_to_string (MetaPreference pref)
 
     case META_PREF_RESIZE_WITH_RIGHT_BUTTON:
       return "RESIZE_WITH_RIGHT_BUTTON";
+
+    case META_PREF_FORCE_FULLSCREEN:
+      return "FORCE_FULLSCREEN";
     }
 
   return "(unknown)";
@@ -2737,6 +2741,12 @@ meta_prefs_get_mouse_button_menu (void)
   return resize_with_right_button ? 2: 3;
 }
 
+gboolean
+meta_prefs_get_force_fullscreen (void)
+{
+  return force_fullscreen;
+}
+
 void
 meta_prefs_set_compositing_manager (gboolean whether)
 {
@@ -2797,3 +2807,10 @@ init_button_layout(void)
 };
 
 #endif
+
+void
+meta_prefs_set_force_fullscreen (gboolean whether)
+{
+  force_fullscreen = whether;
+}
+
diff --git a/src/include/prefs.h b/src/include/prefs.h
index 2f1ce8e..a4193ff 100644
--- a/src/include/prefs.h
+++ b/src/include/prefs.h
@@ -59,7 +59,8 @@ typedef enum
   META_PREF_CURSOR_THEME,
   META_PREF_CURSOR_SIZE,
   META_PREF_COMPOSITING_MANAGER,
-  META_PREF_RESIZE_WITH_RIGHT_BUTTON
+  META_PREF_RESIZE_WITH_RIGHT_BUTTON,
+  META_PREF_FORCE_FULLSCREEN
 } MetaPreference;
 
 typedef void (* MetaPrefsChangedFunc) (MetaPreference pref,
@@ -114,6 +115,7 @@ void        meta_prefs_change_workspace_name (int         i,
 const char* meta_prefs_get_cursor_theme      (void);
 int         meta_prefs_get_cursor_size       (void);
 gboolean    meta_prefs_get_compositing_manager (void);
+gboolean    meta_prefs_get_force_fullscreen  (void);
 
 /**
  * Sets whether the compositor is turned on.
@@ -122,6 +124,8 @@ gboolean    meta_prefs_get_compositing_manager (void);
  */
 void meta_prefs_set_compositing_manager (gboolean whether);
 
+void meta_prefs_set_force_fullscreen (gboolean whether);
+
 /* XXX FIXME This should be x-macroed, but isn't yet because it would be
  * difficult (or perhaps impossible) to add the suffixes using the current
  * system.  It needs some more thought, perhaps after the current system
--
cgit v0.8.2


Index: metacity.spec
===================================================================
RCS file: /cvs/pkgs/rpms/metacity/devel/metacity.spec,v
retrieving revision 1.200
retrieving revision 1.201
diff -u -p -r1.200 -r1.201
--- metacity.spec	28 Aug 2009 15:24:52 -0000	1.200
+++ metacity.spec	2 Sep 2009 20:20:52 -0000	1.201
@@ -1,7 +1,7 @@
 Summary: Unobtrusive window manager
 Name: metacity
 Version: 2.27.0
-Release: 8%{?dist}
+Release: 9%{?dist}
 URL: http://download.gnome.org/sources/metacity/
 Source0: http://download.gnome.org/sources/metacity/2.27/metacity-%{version}.tar.bz2
 # http://bugzilla.gnome.org/show_bug.cgi?id=558723
@@ -16,6 +16,8 @@ Patch7: 0001-bell-increase-bell-rate-lim
 Patch8: 0001-sound-ask-libcanberra-to-cache-alert-desktop-switch-.patch
 # http://bugzilla.gnome.org/show_bug.cgi?id=593358
 Patch9: 0001-tooltip-set-window-type-hint-for-self-drawn-tooltips.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=516225
+Patch10: metacity-option-to-force-fullscreen.patch
 
 License: GPLv2+
 Group: User Interface/Desktops
@@ -81,6 +83,7 @@ API. This package exists purely for tech
 %patch7 -p1 -b .bell
 %patch8 -p1 -b .sound-cache
 %patch9 -p1 -b .tooltip
+%patch10 -p1 -b .force-fullscreen
 
 # force regeneration
 rm src/metacity.schemas
@@ -188,6 +191,10 @@ fi
 %{_mandir}/man1/metacity-window-demo.1.gz
 
 %changelog
+* Wed Sep  2 2009 Peter Robinson <pbrobinson at gmail.com> - 2.27.0-9
+- Add upstreamed patch for option to force fullscreen for sugar
+- https://bugzilla.redhat.com/show_bug.cgi?id=516225
+
 * Fri Aug 28 2009 Lennart Poettering <lpoetter at redhat.com> - 2.27.0-8
 - Actually apply the patch from -7
 




More information about the fedora-extras-commits mailing list