summaryrefslogtreecommitdiffstats
path: root/Add-a-newwindowsalwaysontop-preference.patch
diff options
context:
space:
mode:
Diffstat (limited to 'Add-a-newwindowsalwaysontop-preference.patch')
-rw-r--r--Add-a-newwindowsalwaysontop-preference.patch147
1 files changed, 76 insertions, 71 deletions
diff --git a/Add-a-newwindowsalwaysontop-preference.patch b/Add-a-newwindowsalwaysontop-preference.patch
index c4b26b5..f3bf1b1 100644
--- a/Add-a-newwindowsalwaysontop-preference.patch
+++ b/Add-a-newwindowsalwaysontop-preference.patch
@@ -1,48 +1,51 @@
-From c4fba8198bacc8ecf911cb15c9cd9314f3204a85 Mon Sep 17 00:00:00 2001
-From: Owen W. Taylor <otaylor@fishsoup.net>
+From 861a3efb0f531eae767926d18c4d690366306bfe Mon Sep 17 00:00:00 2001
+From: "Owen W. Taylor" <otaylor@fishsoup.net>
Date: Wed, 21 Oct 2009 19:22:35 -0400
-Subject: [PATCH] Add a new_windows_always_on_top preference
+Subject: [PATCH] Add a new-windows-always-on-top preference
-Add a /apps/metacity/general/new_windows_always_on_top preference.
-When set, new windows are always placed on top, even if they are
-denied focus.
+Add a new-windows-always-on-top preference. When set, new windows
+are always placed on top, even if they are denied focus.
This is useful on large screens and multihead setups where the
tasklist can be hard to notice and difficult to mouse to, so the
normal behavior of flashing in the tasklist is less effective.
---
- src/core/prefs.c | 17 ++++++++++++++++-
- src/core/window.c | 6 +++++-
- src/include/prefs.h | 2 ++
- src/metacity.schemas.in.in | 29 +++++++++++++++++++++++++++++
- 4 files changed, 52 insertions(+), 2 deletions(-)
+ src/core/prefs.c | 20 +++++++++++++++++++-
+ src/core/window.c | 6 +++++-
+ src/include/prefs.h | 2 ++
+ src/metacity-schemas.convert | 1 +
+ src/org.gnome.metacity.gschema.xml.in | 22 ++++++++++++++++++++++
+ 5 files changed, 49 insertions(+), 2 deletions(-)
diff --git a/src/core/prefs.c b/src/core/prefs.c
-index e03c816..1bf888b 100644
+index 24a98cd..949f6ed 100644
--- a/src/core/prefs.c
+++ b/src/core/prefs.c
-@@ -79,6 +79,7 @@ static MetaFocusMode focus_mode = META_FOCUS_MODE_CLICK;
- static MetaFocusNewWindows focus_new_windows = META_FOCUS_NEW_WINDOWS_SMART;
+@@ -73,6 +73,7 @@ static GDesktopFocusMode focus_mode = G_DESKTOP_FOCUS_MODE_CLICK;
+ static GDesktopFocusNewWindows focus_new_windows = G_DESKTOP_FOCUS_NEW_WINDOWS_SMART;
static GSList *no_focus_windows = NULL;
static gboolean raise_on_click = TRUE;
+static gboolean new_windows_always_on_top = TRUE;
static char* current_theme = NULL;
static int num_workspaces = 4;
- static MetaActionTitlebar action_double_click_titlebar = META_ACTION_TITLEBAR_TOGGLE_MAXIMIZE;
-@@ -358,6 +359,11 @@ static MetaBoolPreference preferences_bool[] =
- &raise_on_click,
+ static GDesktopTitlebarAction action_double_click_titlebar = G_DESKTOP_TITLEBAR_ACTION_TOGGLE_MAXIMIZE;
+@@ -261,6 +262,14 @@ static MetaBoolPreference preferences_bool[] =
TRUE,
},
-+ { "/apps/metacity/general/new_windows_always_on_top",
-+ META_PREF_NEW_WINDOWS_ALWAYS_ON_TOP,
+ {
++ { "new-windows-always-on-top",
++ SCHEMA_METACITY,
++ META_PREF_NEW_WINDOWS_ALWAYS_ON_TOP,
++ },
+ &new_windows_always_on_top,
+ TRUE,
+ },
- { "/apps/metacity/general/titlebar_uses_system_font",
- META_PREF_TITLEBAR_FONT, /* note! shares a pref */
- &use_system_font,
-@@ -1271,6 +1277,12 @@ meta_prefs_get_raise_on_click (void)
- return raise_on_click || focus_mode == META_FOCUS_MODE_CLICK;
++ {
+ { "titlebar-uses-system-font",
+ SCHEMA_GENERAL,
+ META_PREF_TITLEBAR_FONT, /* note! shares a pref */
+@@ -920,6 +929,12 @@ meta_prefs_get_raise_on_click (void)
+ return raise_on_click || focus_mode == G_DESKTOP_FOCUS_MODE_CLICK;
}
+gboolean
@@ -54,7 +57,7 @@ index e03c816..1bf888b 100644
const char*
meta_prefs_get_theme (void)
{
-@@ -1709,7 +1721,10 @@ meta_preference_to_string (MetaPreference pref)
+@@ -1386,7 +1401,10 @@ meta_preference_to_string (MetaPreference pref)
case META_PREF_RAISE_ON_CLICK:
return "RAISE_ON_CLICK";
@@ -67,10 +70,10 @@ index e03c816..1bf888b 100644
return "THEME";
diff --git a/src/core/window.c b/src/core/window.c
-index 10da47a..0ae6a01 100644
+index 6f5c280..b6a69b0 100644
--- a/src/core/window.c
+++ b/src/core/window.c
-@@ -1983,7 +1983,7 @@ window_state_on_map (MetaWindow *window,
+@@ -2008,7 +2008,7 @@ window_state_on_map (MetaWindow *window,
if (!(window->input || window->take_focus))
{
*takes_focus = FALSE;
@@ -79,7 +82,7 @@ index 10da47a..0ae6a01 100644
}
/* Terminal usage may be different; some users intend to launch
-@@ -2030,6 +2030,10 @@ window_state_on_map (MetaWindow *window,
+@@ -2055,6 +2055,10 @@ window_state_on_map (MetaWindow *window,
/* The default is correct for these */
break;
}
@@ -91,10 +94,10 @@ index 10da47a..0ae6a01 100644
static gboolean
diff --git a/src/include/prefs.h b/src/include/prefs.h
-index 6698dfe..8c7cd09 100644
+index b86843c..c49e93d 100644
--- a/src/include/prefs.h
+++ b/src/include/prefs.h
-@@ -35,6 +35,7 @@ typedef enum
+@@ -37,6 +37,7 @@ typedef enum
META_PREF_FOCUS_MODE,
META_PREF_FOCUS_NEW_WINDOWS,
META_PREF_RAISE_ON_CLICK,
@@ -103,53 +106,55 @@ index 6698dfe..8c7cd09 100644
META_PREF_ACTION_MIDDLE_CLICK_TITLEBAR,
META_PREF_ACTION_RIGHT_CLICK_TITLEBAR,
@@ -81,6 +82,7 @@ guint meta_prefs_get_mouse_button_menu (void);
- MetaFocusMode meta_prefs_get_focus_mode (void);
- MetaFocusNewWindows meta_prefs_get_focus_new_windows (void);
+ GDesktopFocusMode meta_prefs_get_focus_mode (void);
+ GDesktopFocusNewWindows meta_prefs_get_focus_new_windows (void);
gboolean meta_prefs_get_raise_on_click (void);
+gboolean meta_prefs_get_new_windows_always_on_top (void);
const char* meta_prefs_get_theme (void);
/* returns NULL if GTK default should be used */
const PangoFontDescription* meta_prefs_get_titlebar_font (void);
-diff --git a/src/metacity.schemas.in.in b/src/metacity.schemas.in.in
-index 25ca5f3..14155fa 100644
---- a/src/metacity.schemas.in.in
-+++ b/src/metacity.schemas.in.in
-@@ -166,6 +166,35 @@
- </schema>
-
- <schema>
-+ <key>/schemas/apps/metacity/general/new_windows_always_on_top</key>
-+ <applyto>/apps/metacity/general/new_windows_always_on_top</applyto>
-+ <owner>metacity</owner>
-+ <type>bool</type>
+diff --git a/src/metacity-schemas.convert b/src/metacity-schemas.convert
+index 9c271c6..f1fce08 100644
+--- a/src/metacity-schemas.convert
++++ b/src/metacity-schemas.convert
+@@ -2,3 +2,4 @@
+ compositing-manager = /apps/metacity/general/compositing_manager
+ reduced-resources = /apps/metacity/general/reduced_resources
+ no-focus-windows = /apps/metacity/general/no_focus_windows
++new-windows-always-on-top = /apps/metacity/general/new_windows_always_on_top
+diff --git a/src/org.gnome.metacity.gschema.xml.in b/src/org.gnome.metacity.gschema.xml.in
+index e4f86bd..d69d525 100644
+--- a/src/org.gnome.metacity.gschema.xml.in
++++ b/src/org.gnome.metacity.gschema.xml.in
+@@ -46,6 +46,28 @@
+ this setting.
+ </_description>
+ </key>
++ <key name="new-windows-always-on-top" type="b">
+ <default>false</default>
-+ <locale name="C">
-+ <short>Whether new windows should always be placed on top</short>
-+ <long>
-+ The normal behavior is that if a new window is not given the
-+ focus (since, for example, the user has interacted with another
-+ window after launching an application), then if the window would
-+ be stacked on top of the focus window, the window is instead
-+ stacked beneath and flashed in the taskbar. This behavior can
-+ be annoying on large screens and multihead setups where the
-+ taskbar is hard to notice and difficult to get to, so this option,
-+ if set, disables this behavior, and new windows are always placed
-+ on top, whether or not they get focus.
++ <_summary>Whether new windows should always be placed on top</_summary>
++ <_description>
++ The normal behavior is that if a new window is not given the
++ focus (since, for example, the user has interacted with another
++ window after launching an application), then if the window would
++ be stacked on top of the focus window, the window is instead
++ stacked beneath and flashed in the taskbar. This behavior can
++ be annoying on large screens and multihead setups where the
++ taskbar is hard to notice and difficult to get to, so this option,
++ if set, disables this behavior, and new windows are always placed
++ on top, whether or not they get focus.
+
-+ Note that if this option is set, a new window may completely hide
-+ the focus window but not get focus itself, which can be quite confusing
-+ to users. Also, note that setting this option breaks the normal
-+ invariant in the 'click' focus mode that the topmost window always
-+ has focus, so its most suitable for use with the 'mouse' and
-+ 'sloppy' focus modes.
-+ </long>
-+ </locale>
-+ </schema>
-+
-+ <schema>
- <key>/schemas/apps/metacity/general/action_double_click_titlebar</key>
- <applyto>/apps/metacity/general/action_double_click_titlebar</applyto>
- <owner>metacity</owner>
++ Note that if this option is set, a new window may completely hide
++ the focus window but not get focus itself, which can be quite confusing
++ to users. Also, note that setting this option breaks the normal
++ invariant in the 'click' focus mode that the topmost window always
++ has focus, so its most suitable for use with the 'mouse' and
++ 'sloppy' focus modes.
++ </_description>
++ </key>
+ </schema>
+
+ </schemalist>
--
-1.6.5.rc2
+1.7.9