780 lines
22 KiB
Diff
780 lines
22 KiB
Diff
diff -uprN compiz-0.8.8-orig/gtk/mate/50-compiz-desktop-key.xml.in compiz-0.8.8/gtk/mate/50-compiz-desktop-key.xml.in
|
|
--- compiz-0.8.8-orig/gtk/mate/50-compiz-desktop-key.xml.in 2013-04-18 16:34:54.580781000 +0200
|
|
+++ compiz-0.8.8/gtk/mate/50-compiz-desktop-key.xml.in 1970-01-01 01:00:00.000000000 +0100
|
|
@@ -1,16 +0,0 @@
|
|
-<?xml version="1.0" encoding="UTF-8"?>
|
|
-<KeyListEntries _name="Desktop" wm_name="compiz" package="compiz">
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/plugins/matecompat/allscreens/options/run_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/plugins/matecompat/allscreens/options/main_menu_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/plugins/matecompat/allscreens/options/run_command_screenshot_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/plugins/matecompat/allscreens/options/run_command_window_screenshot_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/general/allscreens/options/show_desktop_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/plugins/matecompat/allscreens/options/run_command_terminal_key"/>
|
|
-
|
|
-</KeyListEntries>
|
|
diff -uprN compiz-0.8.8-orig/gtk/mate/50-compiz-key.xml.in compiz-0.8.8/gtk/mate/50-compiz-key.xml.in
|
|
--- compiz-0.8.8-orig/gtk/mate/50-compiz-key.xml.in 2013-04-18 16:34:54.580781000 +0200
|
|
+++ compiz-0.8.8/gtk/mate/50-compiz-key.xml.in 1970-01-01 01:00:00.000000000 +0100
|
|
@@ -1,25 +0,0 @@
|
|
-<?xml version="1.0" encoding="UTF-8"?>
|
|
-<KeyListEntries _name="Window Management" wm_name="compiz" package="compiz">
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/general/allscreens/options/close_window_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/general/allscreens/options/raise_window_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/general/allscreens/options/lower_window_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/general/allscreens/options/maximize_window_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/general/allscreens/options/unmaximize_window_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/general/allscreens/options/minimize_window_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/general/allscreens/options/toggle_window_maximized_horizontally_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/general/allscreens/options/toggle_window_maximized_vertically_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/general/allscreens/options/toggle_window_shaded_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/general/allscreens/options/window_menu_key"/>
|
|
-
|
|
- <KeyListEntry name="/apps/compiz/plugins/scale/allscreens/options/initiate_key"/>
|
|
-</KeyListEntries>
|
|
diff -uprN compiz-0.8.8-orig/gtk/mate/compiz-window-manager.c compiz-0.8.8/gtk/mate/compiz-window-manager.c
|
|
--- compiz-0.8.8-orig/gtk/mate/compiz-window-manager.c 2013-04-18 16:34:54.581781000 +0200
|
|
+++ compiz-0.8.8/gtk/mate/compiz-window-manager.c 1970-01-01 01:00:00.000000000 +0100
|
|
@@ -1,559 +0,0 @@
|
|
-/*
|
|
- * Copyright © 2005 Novell, Inc.
|
|
- *
|
|
- * Permission to use, copy, modify, distribute, and sell this software
|
|
- * and its documentation for any purpose is hereby granted without
|
|
- * fee, provided that the above copyright notice appear in all copies
|
|
- * and that both that copyright notice and this permission notice
|
|
- * appear in supporting documentation, and that the name of
|
|
- * Novell, Inc. not be used in advertising or publicity pertaining to
|
|
- * distribution of the software without specific, written prior permission.
|
|
- * Novell, Inc. makes no representations about the suitability of this
|
|
- * software for any purpose. It is provided "as is" without express or
|
|
- * implied warranty.
|
|
- *
|
|
- * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
|
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
|
|
- * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
|
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
|
- * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
|
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
|
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
- *
|
|
- * Author: David Reveman <davidr@novell.com>
|
|
- */
|
|
-
|
|
-#include <config.h>
|
|
-#include <sys/types.h>
|
|
-#include <dirent.h>
|
|
-#include <string.h>
|
|
-#include <mateconf/mateconf-client.h>
|
|
-#include <glib/gi18n.h>
|
|
-
|
|
-#include "compiz-window-manager.h"
|
|
-
|
|
-#define COMPIZ_CLICK_TO_FOCUS_KEY \
|
|
- "/apps/compiz/general/allscreens/options/click_to_focus"
|
|
-
|
|
-#define COMPIZ_AUTORAISE_KEY \
|
|
- "/apps/compiz/general/allscreens/options/autoraise"
|
|
-
|
|
-#define COMPIZ_AUTORAISE_DELAY_KEY \
|
|
- "/apps/compiz/general/allscreens/options/autoraise_delay"
|
|
-
|
|
-#define COMPIZ_MOUSE_MOVE_KEY \
|
|
- "/apps/compiz/plugins/move/allscreens/options/initiate_button"
|
|
-
|
|
-#define MATECONF_DIR "/apps/marco/general"
|
|
-
|
|
-#define COMPIZ_DOUBLE_CLICK_TITLEBAR_KEY \
|
|
- MATECONF_DIR "/action_double_click_titlebar"
|
|
-
|
|
-#define COMPIZ_USE_SYSTEM_FONT_KEY \
|
|
- MATECONF_DIR "/titlebar_uses_system_font"
|
|
-
|
|
-#define COMPIZ_TITLEBAR_FONT_KEY \
|
|
- MATECONF_DIR "/titlebar_font"
|
|
-
|
|
-#define COMPIZ_THEME_KEY \
|
|
- MATECONF_DIR "/theme"
|
|
-
|
|
-enum {
|
|
- DOUBLE_CLICK_NONE,
|
|
- DOUBLE_CLICK_SHADE,
|
|
- DOUBLE_CLICK_MAXIMIZE,
|
|
- DOUBLE_CLICK_MAXIMIZE_HORIZONTALLY,
|
|
- DOUBLE_CLICK_MAXIMIZE_VERTICALLY,
|
|
- DOUBLE_CLICK_MINIMIZE,
|
|
- DOUBLE_CLICK_RAISE,
|
|
- DOUBLE_CLICK_LOWER,
|
|
- DOUBLE_CLICK_MENU
|
|
-};
|
|
-
|
|
-static const struct {
|
|
- unsigned int action;
|
|
- const char *value;
|
|
-} double_click_actions [] = {
|
|
- { DOUBLE_CLICK_NONE, "none" },
|
|
- { DOUBLE_CLICK_SHADE, "toggle_shade" },
|
|
- { DOUBLE_CLICK_MAXIMIZE, "toggle_maximize" },
|
|
- { DOUBLE_CLICK_MAXIMIZE_HORIZONTALLY, "toggle_maximize_horizontally" },
|
|
- { DOUBLE_CLICK_MAXIMIZE_VERTICALLY, "toggle_maximize_vertically" },
|
|
- { DOUBLE_CLICK_MINIMIZE, "minimize" },
|
|
- { DOUBLE_CLICK_RAISE, "raise" },
|
|
- { DOUBLE_CLICK_LOWER, "lower" },
|
|
- { DOUBLE_CLICK_MENU, "menu" }
|
|
-};
|
|
-
|
|
-static MateWindowManagerClass *parent_class;
|
|
-
|
|
-struct _CompizWindowManagerPrivate {
|
|
- MateConfClient *mateconf;
|
|
- gchar *font;
|
|
- gchar *theme;
|
|
- gchar *mouse_modifier;
|
|
-};
|
|
-
|
|
-static void
|
|
-value_changed (MateConfClient *client,
|
|
- const gchar *key,
|
|
- MateConfValue *value,
|
|
- void *data)
|
|
-{
|
|
- CompizWindowManager *wm;
|
|
-
|
|
- wm = COMPIZ_WINDOW_MANAGER (data);
|
|
-
|
|
- mate_window_manager_settings_changed (MATE_WINDOW_MANAGER (wm));
|
|
-}
|
|
-
|
|
-/* this function is called when the shared lib is loaded */
|
|
-GObject *
|
|
-window_manager_new (int expected_interface_version)
|
|
-{
|
|
- GObject *wm;
|
|
-
|
|
- if (expected_interface_version != MATE_WINDOW_MANAGER_INTERFACE_VERSION)
|
|
- {
|
|
- g_warning ("Compiz window manager module wasn't compiled with the "
|
|
- "current version of mate-control-center");
|
|
- return NULL;
|
|
- }
|
|
-
|
|
- wm = g_object_new (compiz_window_manager_get_type (), NULL);
|
|
-
|
|
- return wm;
|
|
-}
|
|
-
|
|
-static void
|
|
-compiz_change_settings (MateWindowManager *wm,
|
|
- const MateWMSettings *settings)
|
|
-{
|
|
- CompizWindowManager *cwm;
|
|
-
|
|
- cwm = COMPIZ_WINDOW_MANAGER (wm);
|
|
-
|
|
- if (settings->flags & MATE_WM_SETTING_FONT)
|
|
- mateconf_client_set_string (cwm->p->mateconf,
|
|
- COMPIZ_TITLEBAR_FONT_KEY,
|
|
- settings->font, NULL);
|
|
-
|
|
- if (settings->flags & MATE_WM_SETTING_MOUSE_FOCUS)
|
|
- mateconf_client_set_bool (cwm->p->mateconf,
|
|
- COMPIZ_CLICK_TO_FOCUS_KEY,
|
|
- settings->focus_follows_mouse == FALSE,
|
|
- NULL);
|
|
-
|
|
- if (settings->flags & MATE_WM_SETTING_AUTORAISE)
|
|
- mateconf_client_set_bool (cwm->p->mateconf,
|
|
- COMPIZ_AUTORAISE_KEY,
|
|
- settings->autoraise, NULL);
|
|
-
|
|
- if (settings->flags & MATE_WM_SETTING_AUTORAISE_DELAY)
|
|
- mateconf_client_set_int (cwm->p->mateconf,
|
|
- COMPIZ_AUTORAISE_DELAY_KEY,
|
|
- settings->autoraise_delay, NULL);
|
|
-
|
|
- if (settings->flags & MATE_WM_SETTING_MOUSE_MOVE_MODIFIER)
|
|
- {
|
|
- char *value;
|
|
-
|
|
- value = g_strdup_printf ("<%s>Button1", settings->mouse_move_modifier);
|
|
- mateconf_client_set_string (cwm->p->mateconf,
|
|
- COMPIZ_MOUSE_MOVE_KEY,
|
|
- value, NULL);
|
|
- g_free (value);
|
|
- }
|
|
-
|
|
- if (settings->flags & MATE_WM_SETTING_THEME)
|
|
- mateconf_client_set_string (cwm->p->mateconf,
|
|
- COMPIZ_THEME_KEY,
|
|
- settings->theme, NULL);
|
|
-
|
|
- if (settings->flags & MATE_WM_SETTING_DOUBLE_CLICK_ACTION)
|
|
- {
|
|
- const char *action = NULL;
|
|
- unsigned int i;
|
|
-
|
|
- for (i = 0; i < G_N_ELEMENTS (double_click_actions); i++)
|
|
- {
|
|
- if (settings->double_click_action ==
|
|
- double_click_actions[i].action)
|
|
- {
|
|
- action = double_click_actions[i].value;
|
|
- break;
|
|
- }
|
|
- }
|
|
-
|
|
- if (action)
|
|
- mateconf_client_set_string (cwm->p->mateconf,
|
|
- COMPIZ_DOUBLE_CLICK_TITLEBAR_KEY,
|
|
- action, NULL);
|
|
- }
|
|
-}
|
|
-
|
|
-static void
|
|
-compiz_get_settings (MateWindowManager *wm,
|
|
- MateWMSettings *settings)
|
|
-{
|
|
- CompizWindowManager *cwm;
|
|
- int to_get;
|
|
-
|
|
- cwm = COMPIZ_WINDOW_MANAGER (wm);
|
|
-
|
|
- to_get = settings->flags;
|
|
- settings->flags = 0;
|
|
-
|
|
- if (to_get & MATE_WM_SETTING_FONT)
|
|
- {
|
|
- char *str;
|
|
-
|
|
- str = mateconf_client_get_string (cwm->p->mateconf,
|
|
- COMPIZ_TITLEBAR_FONT_KEY,
|
|
- NULL);
|
|
-
|
|
- if (!str)
|
|
- str = g_strdup ("Sans Bold 12");
|
|
-
|
|
- if (cwm->p->font)
|
|
- g_free (cwm->p->font);
|
|
-
|
|
- cwm->p->font = str;
|
|
-
|
|
- settings->font = cwm->p->font;
|
|
-
|
|
- settings->flags |= MATE_WM_SETTING_FONT;
|
|
- }
|
|
-
|
|
- if (to_get & MATE_WM_SETTING_MOUSE_FOCUS)
|
|
- {
|
|
- settings->focus_follows_mouse =
|
|
- mateconf_client_get_bool (cwm->p->mateconf,
|
|
- COMPIZ_CLICK_TO_FOCUS_KEY, NULL) == FALSE;
|
|
-
|
|
- settings->flags |= MATE_WM_SETTING_MOUSE_FOCUS;
|
|
- }
|
|
-
|
|
- if (to_get & MATE_WM_SETTING_AUTORAISE)
|
|
- {
|
|
- settings->autoraise = mateconf_client_get_bool (cwm->p->mateconf,
|
|
- COMPIZ_AUTORAISE_KEY,
|
|
- NULL);
|
|
-
|
|
- settings->flags |= MATE_WM_SETTING_AUTORAISE;
|
|
- }
|
|
-
|
|
- if (to_get & MATE_WM_SETTING_AUTORAISE_DELAY)
|
|
- {
|
|
- settings->autoraise_delay =
|
|
- mateconf_client_get_int (cwm->p->mateconf,
|
|
- COMPIZ_AUTORAISE_DELAY_KEY,
|
|
- NULL);
|
|
-
|
|
- settings->flags |= MATE_WM_SETTING_AUTORAISE_DELAY;
|
|
- }
|
|
-
|
|
- if (to_get & MATE_WM_SETTING_MOUSE_MOVE_MODIFIER)
|
|
- {
|
|
- const char *new;
|
|
- char *str;
|
|
-
|
|
- str = mateconf_client_get_string (cwm->p->mateconf,
|
|
- COMPIZ_MOUSE_MOVE_KEY,
|
|
- NULL);
|
|
-
|
|
- if (str == NULL)
|
|
- str = g_strdup ("<Super>");
|
|
-
|
|
- if (strncmp (str, "<Super>", 7) == 0)
|
|
- new = "Super";
|
|
- else if (strncmp (str, "<Alt>", 5) == 0)
|
|
- new = "Alt";
|
|
- else if (strncmp (str, "<Meta>", 6) == 0)
|
|
- new = "Meta";
|
|
- else if (strncmp (str, "<Hyper>", 7) == 0)
|
|
- new = "Hyper";
|
|
- else if (strncmp (str, "<Control>", 9) == 0)
|
|
- new = "Control";
|
|
- else
|
|
- new = NULL;
|
|
-
|
|
- if (cwm->p->mouse_modifier)
|
|
- g_free (cwm->p->mouse_modifier);
|
|
-
|
|
- cwm->p->mouse_modifier = g_strdup (new ? new : "");
|
|
-
|
|
- g_free (str);
|
|
-
|
|
- settings->mouse_move_modifier = cwm->p->mouse_modifier;
|
|
-
|
|
- settings->flags |= MATE_WM_SETTING_MOUSE_MOVE_MODIFIER;
|
|
- }
|
|
-
|
|
- if (to_get & MATE_WM_SETTING_THEME)
|
|
- {
|
|
- char *str;
|
|
-
|
|
- str = mateconf_client_get_string (cwm->p->mateconf,
|
|
- COMPIZ_THEME_KEY,
|
|
- NULL);
|
|
-
|
|
- if (str == NULL)
|
|
- str = g_strdup ("Atlanta");
|
|
-
|
|
- g_free (cwm->p->theme);
|
|
- cwm->p->theme = str;
|
|
- settings->theme = cwm->p->theme;
|
|
-
|
|
- settings->flags |= MATE_WM_SETTING_THEME;
|
|
- }
|
|
-
|
|
- if (to_get & MATE_WM_SETTING_DOUBLE_CLICK_ACTION)
|
|
- {
|
|
- char *str;
|
|
-
|
|
- settings->double_click_action = DOUBLE_CLICK_MAXIMIZE;
|
|
-
|
|
- str = mateconf_client_get_string (cwm->p->mateconf,
|
|
- COMPIZ_DOUBLE_CLICK_TITLEBAR_KEY,
|
|
- NULL);
|
|
-
|
|
- if (str)
|
|
- {
|
|
- unsigned int i;
|
|
-
|
|
- for (i = 0; i < G_N_ELEMENTS (double_click_actions); i++)
|
|
- {
|
|
- if (strcmp (str, double_click_actions[i].value) == 0)
|
|
- {
|
|
- settings->double_click_action =
|
|
- double_click_actions[i].action;
|
|
- break;
|
|
- }
|
|
- }
|
|
- }
|
|
-
|
|
- settings->flags |= MATE_WM_SETTING_DOUBLE_CLICK_ACTION;
|
|
- }
|
|
-}
|
|
-
|
|
-static int
|
|
-compiz_get_settings_mask (MateWindowManager *wm)
|
|
-{
|
|
- return MATE_WM_SETTING_MASK;
|
|
-}
|
|
-
|
|
-static GList *
|
|
-add_themes_from_dir (GList *current_list,
|
|
- const char *path)
|
|
-{
|
|
- DIR *theme_dir;
|
|
- struct dirent *entry;
|
|
- char *theme_file_path;
|
|
- GList *node;
|
|
- gboolean found = FALSE;
|
|
-
|
|
- if (!(g_file_test (path, G_FILE_TEST_EXISTS) &&
|
|
- g_file_test (path, G_FILE_TEST_IS_DIR)))
|
|
- {
|
|
- return current_list;
|
|
- }
|
|
-
|
|
- theme_dir = opendir (path);
|
|
-
|
|
- /* If this is NULL, then we couldn't open ~/.themes. The test above
|
|
- * only checks existence, not wether we can really read it.*/
|
|
- if (theme_dir == NULL)
|
|
- return current_list;
|
|
-
|
|
- for (entry = readdir (theme_dir); entry; entry = readdir (theme_dir))
|
|
- {
|
|
- theme_file_path =
|
|
- g_build_filename (path, entry->d_name,
|
|
- "metacity-1/metacity-theme-1.xml", NULL);
|
|
-
|
|
- if (g_file_test (theme_file_path, G_FILE_TEST_EXISTS))
|
|
- {
|
|
-
|
|
- for (node = current_list; node && !found; node = node->next)
|
|
- found = strcmp (node->data, entry->d_name) == 0;
|
|
-
|
|
- if (!found)
|
|
- current_list = g_list_prepend (current_list,
|
|
- g_strdup (entry->d_name));
|
|
- }
|
|
-
|
|
- found = FALSE;
|
|
-
|
|
- g_free (theme_file_path);
|
|
- }
|
|
-
|
|
- closedir (theme_dir);
|
|
-
|
|
- return current_list;
|
|
-}
|
|
-
|
|
-static GList *
|
|
-compiz_get_theme_list (MateWindowManager *wm)
|
|
-{
|
|
- GList *themes = NULL;
|
|
- char *home_dir_themes;
|
|
-
|
|
- home_dir_themes = g_build_filename (g_get_home_dir (), ".themes", NULL);
|
|
-
|
|
- themes = add_themes_from_dir (themes, MARCO_THEME_DIR);
|
|
- themes = add_themes_from_dir (themes, "/usr/share/themes");
|
|
- themes = add_themes_from_dir (themes, home_dir_themes);
|
|
-
|
|
- g_free (home_dir_themes);
|
|
-
|
|
- return themes;
|
|
-}
|
|
-
|
|
-static char *
|
|
-compiz_get_user_theme_folder (MateWindowManager *wm)
|
|
-{
|
|
- return g_build_filename (g_get_home_dir (), ".themes", NULL);
|
|
-}
|
|
-
|
|
-static void
|
|
-compiz_get_double_click_actions (MateWindowManager *wm,
|
|
- const MateWMDoubleClickAction **actions_p,
|
|
- int *n_actions_p)
|
|
-{
|
|
- static gboolean initialized = FALSE;
|
|
- static MateWMDoubleClickAction actions[] = {
|
|
- { DOUBLE_CLICK_NONE, N_("None") },
|
|
- { DOUBLE_CLICK_SHADE, N_("Shade") },
|
|
- { DOUBLE_CLICK_MAXIMIZE, N_("Maximize") },
|
|
- { DOUBLE_CLICK_MAXIMIZE_HORIZONTALLY, N_("Maximize Horizontally") },
|
|
- { DOUBLE_CLICK_MAXIMIZE_HORIZONTALLY, N_("Maximize Vertically") },
|
|
- { DOUBLE_CLICK_MINIMIZE, N_("Minimize") },
|
|
- { DOUBLE_CLICK_RAISE, N_("Raise") },
|
|
- { DOUBLE_CLICK_LOWER, N_("Lower") },
|
|
- { DOUBLE_CLICK_MENU, N_("Window Menu") }
|
|
- };
|
|
-
|
|
- if (!initialized)
|
|
- {
|
|
- unsigned int i;
|
|
-
|
|
- for (i = 0; i < G_N_ELEMENTS (actions); i++)
|
|
- actions[i].human_readable_name = _(actions[i].human_readable_name);
|
|
-
|
|
- initialized = TRUE;
|
|
- }
|
|
-
|
|
- *actions_p = actions;
|
|
- *n_actions_p = (int) G_N_ELEMENTS (actions);
|
|
-}
|
|
-
|
|
-static void
|
|
-compiz_window_manager_init (CompizWindowManager *cwm,
|
|
- CompizWindowManagerClass *class)
|
|
-{
|
|
- cwm->p = g_new0 (CompizWindowManagerPrivate, 1);
|
|
- cwm->p->mateconf = mateconf_client_get_default ();
|
|
- cwm->p->mouse_modifier = NULL;
|
|
- cwm->p->font = NULL;
|
|
- cwm->p->theme = NULL;
|
|
-
|
|
- mateconf_client_add_dir (cwm->p->mateconf,
|
|
- "/apps/compiz",
|
|
- MATECONF_CLIENT_PRELOAD_ONELEVEL,
|
|
- NULL);
|
|
-
|
|
- mateconf_client_add_dir (cwm->p->mateconf,
|
|
- MATECONF_DIR,
|
|
- MATECONF_CLIENT_PRELOAD_ONELEVEL,
|
|
- NULL);
|
|
-
|
|
-
|
|
- g_signal_connect (G_OBJECT (cwm->p->mateconf),
|
|
- "value_changed",
|
|
- G_CALLBACK (value_changed),
|
|
- cwm);
|
|
-}
|
|
-
|
|
-static void
|
|
-compiz_window_manager_finalize (GObject *object)
|
|
-{
|
|
- CompizWindowManager *cwm;
|
|
-
|
|
- g_return_if_fail (object != NULL);
|
|
- g_return_if_fail (IS_COMPIZ_WINDOW_MANAGER (object));
|
|
-
|
|
- cwm = COMPIZ_WINDOW_MANAGER (object);
|
|
-
|
|
- g_signal_handlers_disconnect_by_func (G_OBJECT (cwm->p->mateconf),
|
|
- G_CALLBACK (value_changed),
|
|
- cwm);
|
|
-
|
|
- if (cwm->p->mouse_modifier)
|
|
- g_free (cwm->p->mouse_modifier);
|
|
-
|
|
- if (cwm->p->font)
|
|
- g_free (cwm->p->font);
|
|
-
|
|
- if (cwm->p->theme)
|
|
- g_free (cwm->p->theme);
|
|
-
|
|
- g_object_unref (G_OBJECT (cwm->p->mateconf));
|
|
- g_free (cwm->p);
|
|
-
|
|
- G_OBJECT_CLASS (parent_class)->finalize (object);
|
|
-}
|
|
-
|
|
-static void
|
|
-compiz_window_manager_class_init (CompizWindowManagerClass *class)
|
|
-{
|
|
- GObjectClass *object_class;
|
|
- MateWindowManagerClass *wm_class;
|
|
-
|
|
- bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
|
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
|
- textdomain (GETTEXT_PACKAGE);
|
|
-
|
|
- object_class = G_OBJECT_CLASS (class);
|
|
- wm_class = MATE_WINDOW_MANAGER_CLASS (class);
|
|
-
|
|
- object_class->finalize = compiz_window_manager_finalize;
|
|
-
|
|
- wm_class->change_settings = compiz_change_settings;
|
|
- wm_class->get_settings = compiz_get_settings;
|
|
- wm_class->get_settings_mask = compiz_get_settings_mask;
|
|
- wm_class->get_user_theme_folder = compiz_get_user_theme_folder;
|
|
- wm_class->get_theme_list = compiz_get_theme_list;
|
|
- wm_class->get_double_click_actions = compiz_get_double_click_actions;
|
|
-
|
|
- parent_class = g_type_class_peek_parent (class);
|
|
-}
|
|
-
|
|
-GType
|
|
-compiz_window_manager_get_type (void)
|
|
-{
|
|
- static GType compiz_window_manager_type = 0;
|
|
-
|
|
- if (!compiz_window_manager_type)
|
|
- {
|
|
- static GTypeInfo compiz_window_manager_info = {
|
|
- sizeof (CompizWindowManagerClass),
|
|
- NULL,
|
|
- NULL,
|
|
- (GClassInitFunc) compiz_window_manager_class_init,
|
|
- NULL,
|
|
- NULL,
|
|
- sizeof (CompizWindowManager),
|
|
- 0,
|
|
- (GInstanceInitFunc) compiz_window_manager_init,
|
|
- NULL
|
|
- };
|
|
-
|
|
- compiz_window_manager_type =
|
|
- g_type_register_static (mate_window_manager_get_type (),
|
|
- "CompizWindowManager",
|
|
- &compiz_window_manager_info, 0);
|
|
- }
|
|
-
|
|
- return compiz_window_manager_type;
|
|
-}
|
|
diff -uprN compiz-0.8.8-orig/gtk/mate/compiz-window-manager.h compiz-0.8.8/gtk/mate/compiz-window-manager.h
|
|
--- compiz-0.8.8-orig/gtk/mate/compiz-window-manager.h 2013-04-18 16:34:54.581781000 +0200
|
|
+++ compiz-0.8.8/gtk/mate/compiz-window-manager.h 1970-01-01 01:00:00.000000000 +0100
|
|
@@ -1,39 +0,0 @@
|
|
-#ifndef COMPIZ_WINDOW_MANAGER_H
|
|
-#define COMPIZ_WINDOW_MANAGER_H
|
|
-
|
|
-#include <glib-object.h>
|
|
-
|
|
-#include "mate-window-manager.h"
|
|
-
|
|
-#define COMPIZ_WINDOW_MANAGER(obj) \
|
|
- G_TYPE_CHECK_INSTANCE_CAST (obj, compiz_window_manager_get_type (), \
|
|
- CompizWindowManager)
|
|
-
|
|
-#define COMPIZ_WINDOW_MANAGER_CLASS(klass) \
|
|
- G_TYPE_CHECK_CLASS_CAST (klass, compiz_window_manager_get_type (), \
|
|
- MarcoWindowManagerClass)
|
|
-
|
|
-#define IS_COMPIZ_WINDOW_MANAGER(obj) \
|
|
- G_TYPE_CHECK_INSTANCE_TYPE (obj, compiz_window_manager_get_type ())
|
|
-
|
|
-
|
|
-typedef struct _CompizWindowManager CompizWindowManager;
|
|
-typedef struct _CompizWindowManagerClass CompizWindowManagerClass;
|
|
-typedef struct _CompizWindowManagerPrivate CompizWindowManagerPrivate;
|
|
-
|
|
-struct _CompizWindowManager {
|
|
- MateWindowManager parent;
|
|
- CompizWindowManagerPrivate *p;
|
|
-};
|
|
-
|
|
-struct _CompizWindowManagerClass {
|
|
- MateWindowManagerClass klass;
|
|
-};
|
|
-
|
|
-GType
|
|
-compiz_window_manager_get_type (void);
|
|
-
|
|
-GObject *
|
|
-window_manager_new (int expected_interface_version);
|
|
-
|
|
-#endif
|
|
diff -uprN compiz-0.8.8-orig/gtk/mate/compiz-wm.desktop.in compiz-0.8.8/gtk/mate/compiz-wm.desktop.in
|
|
--- compiz-0.8.8-orig/gtk/mate/compiz-wm.desktop.in 2013-04-18 16:34:54.581781000 +0200
|
|
+++ compiz-0.8.8/gtk/mate/compiz-wm.desktop.in 1970-01-01 01:00:00.000000000 +0100
|
|
@@ -1,17 +0,0 @@
|
|
-[Desktop Entry]
|
|
-Type=Application
|
|
-Encoding=UTF-8
|
|
-_Name=Compiz
|
|
-Exec=compiz
|
|
-# name of loadable control center module
|
|
-X-MATE-WMSettingsModule=compiz
|
|
-# autostart phase
|
|
-X-MATE-Autostart-Phase=WindowManager
|
|
-X-MATE-Provides=windowmanager
|
|
-# name we put on the WM spec check window
|
|
-X-MATE-WMName=compiz
|
|
-# back compat only
|
|
-X-MateWMSettingsLibrary=compiz
|
|
-
|
|
-[Window Manager]
|
|
-SessionManaged=false
|
|
diff -uprN compiz-0.8.8-orig/gtk/mate/Makefile.am compiz-0.8.8/gtk/mate/Makefile.am
|
|
--- compiz-0.8.8-orig/gtk/mate/Makefile.am 2013-04-18 16:34:54.581781000 +0200
|
|
+++ compiz-0.8.8/gtk/mate/Makefile.am 2013-04-18 16:42:02.755120789 +0200
|
|
@@ -1,97 +1,27 @@
|
|
-moduledir = $(DESTDIR)$(windowsettingslibdir)/window-manager-settings
|
|
-
|
|
-if USE_MATE
|
|
-libcompiz_la_LDFLAGS = -export-dynamic -avoid-version -rpath $(moduledir)
|
|
-libcompiz_la_LIBADD = @MATE_WINDOW_SETTINGS_LIBS@
|
|
-libcompiz_la_SOURCES = \
|
|
- compiz-window-manager.c \
|
|
- compiz-window-manager.h
|
|
-libcompiz_module = libcompiz.la
|
|
-
|
|
desktopfilesdir = $(DESTDIR)$(datadir)/applications
|
|
desktopfiles_in_files = compiz.desktop.in
|
|
desktopfiles_files = $(desktopfiles_in_files:.desktop.in=.desktop)
|
|
|
|
-wmpropertiesdir = $(DESTDIR)$(windowsettingsdatadir)/mate/wm-properties
|
|
-wmproperties_in_files = compiz-wm.desktop.in
|
|
-wmproperties_files = $(wmproperties_in_files:.desktop.in=.desktop)
|
|
-
|
|
@INTLTOOL_DESKTOP_RULE@
|
|
|
|
-if USE_MATE_KEYBINDINGS
|
|
-
|
|
-xmldir = $(DESTDIR)$(keybindingsdir)
|
|
-xml_in_files = 50-compiz-desktop-key.xml.in 50-compiz-key.xml.in
|
|
-xml_files = $(xml_in_files:.xml.in=.xml)
|
|
-
|
|
-@INTLTOOL_XML_NOMERGE_RULE@
|
|
-
|
|
-endif
|
|
-
|
|
-install-exec-local:
|
|
- if mkdir -p $(moduledir) && test -w $(moduledir); then ( \
|
|
- $(LIBTOOL) --mode=install $(INSTALL) $(libcompiz_module) \
|
|
- $(moduledir) \
|
|
- ); \
|
|
- fi
|
|
-
|
|
install-data-local:
|
|
if mkdir -p $(desktopfilesdir) && test -w $(desktopfilesdir); then ( \
|
|
$(INSTALL) -m 644 $(desktopfiles_files) \
|
|
$(desktopfilesdir) \
|
|
); \
|
|
fi
|
|
- if mkdir -p $(wmpropertiesdir) && test -w $(wmpropertiesdir); then ( \
|
|
- $(INSTALL) -m 644 $(wmproperties_files) \
|
|
- $(wmpropertiesdir) \
|
|
- ); \
|
|
- fi
|
|
-
|
|
-if USE_MATE_KEYBINDINGS
|
|
- if mkdir -p $(xmldir) && test -w $(xmldir); then ( \
|
|
- $(INSTALL) -m 644 $(xml_files) \
|
|
- $(xmldir) \
|
|
- ); \
|
|
- fi
|
|
-endif
|
|
|
|
uninstall-local:
|
|
- if test -w $(moduledir); then ( \
|
|
- rm -f $(moduledir)/libcompiz.* \
|
|
- ); \
|
|
- fi
|
|
if test -w $(desktopfilesdir); then ( \
|
|
rm -f $(desktopfilesdir)/compiz.desktop \
|
|
); \
|
|
fi
|
|
- if test -w $(wmpropertiesdir); then ( \
|
|
- rm -f $(wmpropertiesdir)/compiz-wm.desktop \
|
|
- ); \
|
|
- fi
|
|
-if USE_MATE_KEYBINDINGS
|
|
- if test -w $(xmldir); then ( \
|
|
- rm -f $(xmldir)/50-compiz*key.xml \
|
|
- ); \
|
|
- fi
|
|
-endif
|
|
-endif
|
|
-
|
|
-INCLUDES = @MATE_WINDOW_SETTINGS_CFLAGS@ \
|
|
- -DMARCO_THEME_DIR=\""$(windowsettingsdatadir)/themes"\" \
|
|
- -DLOCALEDIR="\"@datadir@/locale"\"
|
|
-
|
|
-noinst_LTLIBRARIES = \
|
|
- $(libcompiz_module)
|
|
|
|
noinst_DATA = \
|
|
- $(desktopfiles_files) \
|
|
- $(wmproperties_files) \
|
|
- $(xml_files)
|
|
+ $(desktopfiles_files)
|
|
|
|
EXTRA_DIST = \
|
|
- $(desktopfiles_in_files) \
|
|
- $(wmproperties_in_files) \
|
|
- $(xml_in_files)
|
|
+ $(desktopfiles_in_files)
|
|
|
|
DISTCLEANFILES = \
|
|
$(noinst_DATA)
|