summaryrefslogtreecommitdiff
path: root/libwindow-settings/mate-window-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'libwindow-settings/mate-window-manager.c')
-rw-r--r--libwindow-settings/mate-window-manager.c270
1 files changed, 0 insertions, 270 deletions
diff --git a/libwindow-settings/mate-window-manager.c b/libwindow-settings/mate-window-manager.c
deleted file mode 100644
index ece2e7d3..00000000
--- a/libwindow-settings/mate-window-manager.c
+++ /dev/null
@@ -1,270 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
-
-/* mate-window-manager.h
- * Copyright (C) 2002 Seth Nickell
- * Copyright (C) 2002 Red Hat, Inc.
- *
- * Written by: Seth Nickell <[email protected]>,
- * Havoc Pennington <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#include "mate-window-manager.h"
-
-#include <gmodule.h>
-
-static GObjectClass *parent_class;
-
-struct _MateWindowManagerPrivate {
- char *window_manager_name;
- MateDesktopItem *ditem;
-};
-
-GObject *
-mate_window_manager_new (MateDesktopItem *it)
-{
- const char *settings_lib;
- char *module_name;
- MateWindowManagerNewFunc wm_new_func = NULL;
- GObject *wm;
- GModule *module;
- gboolean success;
-
- settings_lib = mate_desktop_item_get_string (it, "X-MATE-WMSettingsModule");
-
- module_name = g_module_build_path (MATE_WINDOW_MANAGER_MODULE_PATH,
- settings_lib);
-
- module = g_module_open (module_name, G_MODULE_BIND_LAZY);
- if (module == NULL) {
- g_warning ("Couldn't load window manager settings module `%s' (%s)", module_name, g_module_error ());
- g_free (module_name);
- return NULL;
- }
-
- success = g_module_symbol (module, "window_manager_new",
- (gpointer *) &wm_new_func);
-
- if ((!success) || wm_new_func == NULL) {
- g_warning ("Couldn't load window manager settings module `%s`, couldn't find symbol \'window_manager_new\'", module_name);
- g_free (module_name);
- return NULL;
- }
-
- g_free (module_name);
-
- wm = (* wm_new_func) (MATE_WINDOW_MANAGER_INTERFACE_VERSION);
-
- if (wm == NULL)
- return NULL;
-
- (MATE_WINDOW_MANAGER (wm))->p->window_manager_name = g_strdup (mate_desktop_item_get_string (it, MATE_DESKTOP_ITEM_NAME));
- (MATE_WINDOW_MANAGER (wm))->p->ditem = mate_desktop_item_ref (it);
-
- return wm;
-}
-
-const char *
-mate_window_manager_get_name (MateWindowManager *wm)
-{
- return wm->p->window_manager_name;
-}
-
-MateDesktopItem *
-mate_window_manager_get_ditem (MateWindowManager *wm)
-{
- return mate_desktop_item_ref (wm->p->ditem);
-}
-
-GList *
-mate_window_manager_get_theme_list (MateWindowManager *wm)
-{
- MateWindowManagerClass *klass = MATE_WINDOW_MANAGER_GET_CLASS (wm);
- if (klass->get_theme_list)
- return klass->get_theme_list (wm);
- else
- return NULL;
-}
-
-char *
-mate_window_manager_get_user_theme_folder (MateWindowManager *wm)
-{
- MateWindowManagerClass *klass = MATE_WINDOW_MANAGER_GET_CLASS (wm);
- if (klass->get_user_theme_folder)
- return klass->get_user_theme_folder (wm);
- else
- return NULL;
-}
-
-void
-mate_window_manager_get_double_click_actions (MateWindowManager *wm,
- const MateWMDoubleClickAction **actions,
- int *n_actions)
-{
- MateWindowManagerClass *klass = MATE_WINDOW_MANAGER_GET_CLASS (wm);
-
- *actions = NULL;
- *n_actions = 0;
-
- if (klass->get_double_click_actions)
- klass->get_double_click_actions (wm, actions, n_actions);
-}
-
-void
-mate_window_manager_change_settings (MateWindowManager *wm,
- const MateWMSettings *settings)
-{
- MateWindowManagerClass *klass = MATE_WINDOW_MANAGER_GET_CLASS (wm);
-
- (* klass->change_settings) (wm, settings);
-}
-
-void
-mate_window_manager_get_settings (MateWindowManager *wm,
- MateWMSettings *settings)
-{
- MateWindowManagerClass *klass = MATE_WINDOW_MANAGER_GET_CLASS (wm);
- int mask;
-
- mask = (* klass->get_settings_mask) (wm);
- settings->flags &= mask; /* avoid back compat issues by not returning
- * fields to the caller that the WM module
- * doesn't know about
- */
-
- (* klass->get_settings) (wm, settings);
-}
-
-static void
-mate_window_manager_init (MateWindowManager *mate_window_manager, MateWindowManagerClass *class)
-{
- mate_window_manager->p = g_new0 (MateWindowManagerPrivate, 1);
-}
-
-static void
-mate_window_manager_finalize (GObject *object)
-{
- MateWindowManager *mate_window_manager;
-
- g_return_if_fail (object != NULL);
- g_return_if_fail (IS_MATE_WINDOW_MANAGER (object));
-
- mate_window_manager = MATE_WINDOW_MANAGER (object);
-
- g_free (mate_window_manager->p);
-
- parent_class->finalize (object);
-}
-
-enum {
- SETTINGS_CHANGED,
- LAST_SIGNAL
-};
-
-static guint signals[LAST_SIGNAL] = { 0 };
-
-static void
-mate_window_manager_class_init (MateWindowManagerClass *class)
-{
- GObjectClass *object_class;
-
- object_class = G_OBJECT_CLASS (class);
-
- object_class->finalize = mate_window_manager_finalize;
-
- parent_class = g_type_class_peek_parent (class);
-
- signals[SETTINGS_CHANGED] =
- g_signal_new ("settings_changed",
- G_OBJECT_CLASS_TYPE (class),
- G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE,
- G_STRUCT_OFFSET (MateWindowManagerClass, settings_changed),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-}
-
-GType
-mate_window_manager_get_type (void)
-{
- static GType mate_window_manager_type = 0;
-
- if (!mate_window_manager_type) {
- static GTypeInfo mate_window_manager_info = {
- sizeof (MateWindowManagerClass),
- NULL, /* GBaseInitFunc */
- NULL, /* GBaseFinalizeFunc */
- (GClassInitFunc) mate_window_manager_class_init,
- NULL, /* GClassFinalizeFunc */
- NULL, /* user-supplied data */
- sizeof (MateWindowManager),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mate_window_manager_init,
- NULL
- };
-
- mate_window_manager_type =
- g_type_register_static (G_TYPE_OBJECT,
- "MateWindowManager",
- &mate_window_manager_info, 0);
- }
-
- return mate_window_manager_type;
-}
-
-void
-mate_window_manager_settings_changed (MateWindowManager *wm)
-{
- g_signal_emit (wm, signals[SETTINGS_CHANGED], 0);
-}
-
-/* Helper functions for MateWMSettings */
-MateWMSettings *
-mate_wm_settings_copy (MateWMSettings *settings)
-{
- MateWMSettings *retval;
-
- g_return_val_if_fail (settings != NULL, NULL);
-
- retval = g_new (MateWMSettings, 1);
- *retval = *settings;
-
- if (retval->flags & MATE_WM_SETTING_FONT)
- retval->font = g_strdup (retval->font);
- if (retval->flags & MATE_WM_SETTING_MOUSE_MOVE_MODIFIER)
- retval->mouse_move_modifier = g_strdup (retval->mouse_move_modifier);
- if (retval->flags & MATE_WM_SETTING_THEME)
- retval->theme = g_strdup (retval->theme);
-
- return retval;
-}
-
-void
-mate_wm_settings_free (MateWMSettings *settings)
-{
- g_return_if_fail (settings != NULL);
-
- if (settings->flags & MATE_WM_SETTING_FONT)
- g_free ((void *) settings->font);
- if (settings->flags & MATE_WM_SETTING_MOUSE_MOVE_MODIFIER)
- g_free ((void *) settings->mouse_move_modifier);
- if (settings->flags & MATE_WM_SETTING_THEME)
- g_free ((void *)settings->theme);
-
- g_free (settings);
-}
-