From ddaceb232c8b537a7d29a9708928d3a3671b98e5 Mon Sep 17 00:00:00 2001 From: haxar Date: Tue, 21 Feb 2012 20:13:04 -0800 Subject: gsd to msd complete rename patch by NiceandGently; code changes commit --- plugins/typing-break/Makefile.am | 12 ++-- plugins/typing-break/gsd-typing-break-manager.c | 96 ++++++++++++------------- plugins/typing-break/gsd-typing-break-manager.h | 34 ++++----- plugins/typing-break/gsd-typing-break-plugin.c | 42 +++++------ plugins/typing-break/gsd-typing-break-plugin.h | 28 ++++---- 5 files changed, 106 insertions(+), 106 deletions(-) (limited to 'plugins/typing-break') diff --git a/plugins/typing-break/Makefile.am b/plugins/typing-break/Makefile.am index 0648007..334d03c 100644 --- a/plugins/typing-break/Makefile.am +++ b/plugins/typing-break/Makefile.am @@ -5,10 +5,10 @@ plugin_LTLIBRARIES = \ $(NULL) libtyping_break_la_SOURCES = \ - gsd-typing-break-plugin.h \ - gsd-typing-break-plugin.c \ - gsd-typing-break-manager.h \ - gsd-typing-break-manager.c \ + msd-typing-break-plugin.h \ + msd-typing-break-plugin.c \ + msd-typing-break-manager.h \ + msd-typing-break-manager.c \ $(NULL) libtyping_break_la_CPPFLAGS = \ @@ -21,7 +21,7 @@ libtyping_break_la_CFLAGS = \ $(AM_CFLAGS) libtyping_break_la_LDFLAGS = \ - $(GSD_PLUGIN_LDFLAGS) \ + $(MSD_PLUGIN_LDFLAGS) \ $(NULL) libtyping_break_la_LIBADD = \ @@ -46,4 +46,4 @@ DISTCLEANFILES = \ $(plugin_DATA) \ $(NULL) -@GSD_INTLTOOL_PLUGIN_RULE@ +@MSD_INTLTOOL_PLUGIN_RULE@ diff --git a/plugins/typing-break/gsd-typing-break-manager.c b/plugins/typing-break/gsd-typing-break-manager.c index d157964..113f6be 100644 --- a/plugins/typing-break/gsd-typing-break-manager.c +++ b/plugins/typing-break/gsd-typing-break-manager.c @@ -39,13 +39,13 @@ #include #include "mate-settings-profile.h" -#include "gsd-typing-break-manager.h" +#include "msd-typing-break-manager.h" -#define GSD_TYPING_BREAK_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_TYPING_BREAK_MANAGER, GsdTypingBreakManagerPrivate)) +#define MSD_TYPING_BREAK_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MSD_TYPE_TYPING_BREAK_MANAGER, MsdTypingBreakManagerPrivate)) #define MATECONF_BREAK_DIR "/desktop/mate/typing_break" -struct GsdTypingBreakManagerPrivate +struct MsdTypingBreakManagerPrivate { GPid typing_monitor_pid; guint typing_monitor_idle_id; @@ -54,16 +54,16 @@ struct GsdTypingBreakManagerPrivate guint notify; }; -static void gsd_typing_break_manager_class_init (GsdTypingBreakManagerClass *klass); -static void gsd_typing_break_manager_init (GsdTypingBreakManager *typing_break_manager); -static void gsd_typing_break_manager_finalize (GObject *object); +static void msd_typing_break_manager_class_init (MsdTypingBreakManagerClass *klass); +static void msd_typing_break_manager_init (MsdTypingBreakManager *typing_break_manager); +static void msd_typing_break_manager_finalize (GObject *object); -G_DEFINE_TYPE (GsdTypingBreakManager, gsd_typing_break_manager, G_TYPE_OBJECT) +G_DEFINE_TYPE (MsdTypingBreakManager, msd_typing_break_manager, G_TYPE_OBJECT) static gpointer manager_object = NULL; static gboolean -typing_break_timeout (GsdTypingBreakManager *manager) +typing_break_timeout (MsdTypingBreakManager *manager) { if (manager->priv->typing_monitor_pid > 0) { kill (manager->priv->typing_monitor_pid, SIGKILL); @@ -77,7 +77,7 @@ typing_break_timeout (GsdTypingBreakManager *manager) static void child_watch (GPid pid, int status, - GsdTypingBreakManager *manager) + MsdTypingBreakManager *manager) { if (pid == manager->priv->typing_monitor_pid) { manager->priv->typing_monitor_pid = 0; @@ -86,7 +86,7 @@ child_watch (GPid pid, } static void -setup_typing_break (GsdTypingBreakManager *manager, +setup_typing_break (MsdTypingBreakManager *manager, gboolean enabled) { mate_settings_profile_start (NULL); @@ -140,7 +140,7 @@ static void typing_break_callback (MateConfClient *client, guint cnxn_id, MateConfEntry *entry, - GsdTypingBreakManager *manager) + MsdTypingBreakManager *manager) { if (! strcmp (entry->key, "/desktop/mate/typing_break/enabled")) { if (entry->value->type == MATECONF_VALUE_BOOL) { @@ -150,7 +150,7 @@ typing_break_callback (MateConfClient *client, } static gboolean -really_setup_typing_break (GsdTypingBreakManager *manager) +really_setup_typing_break (MsdTypingBreakManager *manager) { setup_typing_break (manager, TRUE); manager->priv->setup_id = 0; @@ -158,7 +158,7 @@ really_setup_typing_break (GsdTypingBreakManager *manager) } gboolean -gsd_typing_break_manager_start (GsdTypingBreakManager *manager, +msd_typing_break_manager_start (MsdTypingBreakManager *manager, GError **error) { MateConfClient *client; @@ -191,9 +191,9 @@ gsd_typing_break_manager_start (GsdTypingBreakManager *manager, } void -gsd_typing_break_manager_stop (GsdTypingBreakManager *manager) +msd_typing_break_manager_stop (MsdTypingBreakManager *manager) { - GsdTypingBreakManagerPrivate *p = manager->priv; + MsdTypingBreakManagerPrivate *p = manager->priv; g_debug ("Stopping typing_break manager"); @@ -228,14 +228,14 @@ gsd_typing_break_manager_stop (GsdTypingBreakManager *manager) } static void -gsd_typing_break_manager_set_property (GObject *object, +msd_typing_break_manager_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { - GsdTypingBreakManager *self; + MsdTypingBreakManager *self; - self = GSD_TYPING_BREAK_MANAGER (object); + self = MSD_TYPING_BREAK_MANAGER (object); switch (prop_id) { default: @@ -245,14 +245,14 @@ gsd_typing_break_manager_set_property (GObject *object, } static void -gsd_typing_break_manager_get_property (GObject *object, +msd_typing_break_manager_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { - GsdTypingBreakManager *self; + MsdTypingBreakManager *self; - self = GSD_TYPING_BREAK_MANAGER (object); + self = MSD_TYPING_BREAK_MANAGER (object); switch (prop_id) { default: @@ -262,16 +262,16 @@ gsd_typing_break_manager_get_property (GObject *object, } static GObject * -gsd_typing_break_manager_constructor (GType type, +msd_typing_break_manager_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties) { - GsdTypingBreakManager *typing_break_manager; - GsdTypingBreakManagerClass *klass; + MsdTypingBreakManager *typing_break_manager; + MsdTypingBreakManagerClass *klass; - klass = GSD_TYPING_BREAK_MANAGER_CLASS (g_type_class_peek (GSD_TYPE_TYPING_BREAK_MANAGER)); + klass = MSD_TYPING_BREAK_MANAGER_CLASS (g_type_class_peek (MSD_TYPE_TYPING_BREAK_MANAGER)); - typing_break_manager = GSD_TYPING_BREAK_MANAGER (G_OBJECT_CLASS (gsd_typing_break_manager_parent_class)->constructor (type, + typing_break_manager = MSD_TYPING_BREAK_MANAGER (G_OBJECT_CLASS (msd_typing_break_manager_parent_class)->constructor (type, n_construct_properties, construct_properties)); @@ -279,61 +279,61 @@ gsd_typing_break_manager_constructor (GType type, } static void -gsd_typing_break_manager_dispose (GObject *object) +msd_typing_break_manager_dispose (GObject *object) { - GsdTypingBreakManager *typing_break_manager; + MsdTypingBreakManager *typing_break_manager; - typing_break_manager = GSD_TYPING_BREAK_MANAGER (object); + typing_break_manager = MSD_TYPING_BREAK_MANAGER (object); - G_OBJECT_CLASS (gsd_typing_break_manager_parent_class)->dispose (object); + G_OBJECT_CLASS (msd_typing_break_manager_parent_class)->dispose (object); } static void -gsd_typing_break_manager_class_init (GsdTypingBreakManagerClass *klass) +msd_typing_break_manager_class_init (MsdTypingBreakManagerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); - object_class->get_property = gsd_typing_break_manager_get_property; - object_class->set_property = gsd_typing_break_manager_set_property; - object_class->constructor = gsd_typing_break_manager_constructor; - object_class->dispose = gsd_typing_break_manager_dispose; - object_class->finalize = gsd_typing_break_manager_finalize; + object_class->get_property = msd_typing_break_manager_get_property; + object_class->set_property = msd_typing_break_manager_set_property; + object_class->constructor = msd_typing_break_manager_constructor; + object_class->dispose = msd_typing_break_manager_dispose; + object_class->finalize = msd_typing_break_manager_finalize; - g_type_class_add_private (klass, sizeof (GsdTypingBreakManagerPrivate)); + g_type_class_add_private (klass, sizeof (MsdTypingBreakManagerPrivate)); } static void -gsd_typing_break_manager_init (GsdTypingBreakManager *manager) +msd_typing_break_manager_init (MsdTypingBreakManager *manager) { - manager->priv = GSD_TYPING_BREAK_MANAGER_GET_PRIVATE (manager); + manager->priv = MSD_TYPING_BREAK_MANAGER_GET_PRIVATE (manager); } static void -gsd_typing_break_manager_finalize (GObject *object) +msd_typing_break_manager_finalize (GObject *object) { - GsdTypingBreakManager *typing_break_manager; + MsdTypingBreakManager *typing_break_manager; g_return_if_fail (object != NULL); - g_return_if_fail (GSD_IS_TYPING_BREAK_MANAGER (object)); + g_return_if_fail (MSD_IS_TYPING_BREAK_MANAGER (object)); - typing_break_manager = GSD_TYPING_BREAK_MANAGER (object); + typing_break_manager = MSD_TYPING_BREAK_MANAGER (object); g_return_if_fail (typing_break_manager->priv != NULL); - G_OBJECT_CLASS (gsd_typing_break_manager_parent_class)->finalize (object); + G_OBJECT_CLASS (msd_typing_break_manager_parent_class)->finalize (object); } -GsdTypingBreakManager * -gsd_typing_break_manager_new (void) +MsdTypingBreakManager * +msd_typing_break_manager_new (void) { if (manager_object != NULL) { g_object_ref (manager_object); } else { - manager_object = g_object_new (GSD_TYPE_TYPING_BREAK_MANAGER, NULL); + manager_object = g_object_new (MSD_TYPE_TYPING_BREAK_MANAGER, NULL); g_object_add_weak_pointer (manager_object, (gpointer *) &manager_object); } - return GSD_TYPING_BREAK_MANAGER (manager_object); + return MSD_TYPING_BREAK_MANAGER (manager_object); } diff --git a/plugins/typing-break/gsd-typing-break-manager.h b/plugins/typing-break/gsd-typing-break-manager.h index e4ac24d..d490a0e 100644 --- a/plugins/typing-break/gsd-typing-break-manager.h +++ b/plugins/typing-break/gsd-typing-break-manager.h @@ -18,8 +18,8 @@ * */ -#ifndef __GSD_TYPING_BREAK_MANAGER_H -#define __GSD_TYPING_BREAK_MANAGER_H +#ifndef __MSD_TYPING_BREAK_MANAGER_H +#define __MSD_TYPING_BREAK_MANAGER_H #include @@ -27,35 +27,35 @@ extern "C" { #endif -#define GSD_TYPE_TYPING_BREAK_MANAGER (gsd_typing_break_manager_get_type ()) -#define GSD_TYPING_BREAK_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_TYPING_BREAK_MANAGER, GsdTypingBreakManager)) -#define GSD_TYPING_BREAK_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_TYPING_BREAK_MANAGER, GsdTypingBreakManagerClass)) -#define GSD_IS_TYPING_BREAK_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_TYPING_BREAK_MANAGER)) -#define GSD_IS_TYPING_BREAK_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSD_TYPE_TYPING_BREAK_MANAGER)) -#define GSD_TYPING_BREAK_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSD_TYPE_TYPING_BREAK_MANAGER, GsdTypingBreakManagerClass)) +#define MSD_TYPE_TYPING_BREAK_MANAGER (msd_typing_break_manager_get_type ()) +#define MSD_TYPING_BREAK_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MSD_TYPE_TYPING_BREAK_MANAGER, MsdTypingBreakManager)) +#define MSD_TYPING_BREAK_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), MSD_TYPE_TYPING_BREAK_MANAGER, MsdTypingBreakManagerClass)) +#define MSD_IS_TYPING_BREAK_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MSD_TYPE_TYPING_BREAK_MANAGER)) +#define MSD_IS_TYPING_BREAK_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MSD_TYPE_TYPING_BREAK_MANAGER)) +#define MSD_TYPING_BREAK_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MSD_TYPE_TYPING_BREAK_MANAGER, MsdTypingBreakManagerClass)) -typedef struct GsdTypingBreakManagerPrivate GsdTypingBreakManagerPrivate; +typedef struct MsdTypingBreakManagerPrivate MsdTypingBreakManagerPrivate; typedef struct { GObject parent; - GsdTypingBreakManagerPrivate *priv; -} GsdTypingBreakManager; + MsdTypingBreakManagerPrivate *priv; +} MsdTypingBreakManager; typedef struct { GObjectClass parent_class; -} GsdTypingBreakManagerClass; +} MsdTypingBreakManagerClass; -GType gsd_typing_break_manager_get_type (void); +GType msd_typing_break_manager_get_type (void); -GsdTypingBreakManager * gsd_typing_break_manager_new (void); -gboolean gsd_typing_break_manager_start (GsdTypingBreakManager *manager, +MsdTypingBreakManager * msd_typing_break_manager_new (void); +gboolean msd_typing_break_manager_start (MsdTypingBreakManager *manager, GError **error); -void gsd_typing_break_manager_stop (GsdTypingBreakManager *manager); +void msd_typing_break_manager_stop (MsdTypingBreakManager *manager); #ifdef __cplusplus } #endif -#endif /* __GSD_TYPING_BREAK_MANAGER_H */ +#endif /* __MSD_TYPING_BREAK_MANAGER_H */ diff --git a/plugins/typing-break/gsd-typing-break-plugin.c b/plugins/typing-break/gsd-typing-break-plugin.c index 0f0535d..dcf3326 100644 --- a/plugins/typing-break/gsd-typing-break-plugin.c +++ b/plugins/typing-break/gsd-typing-break-plugin.c @@ -24,38 +24,38 @@ #include #include "mate-settings-plugin.h" -#include "gsd-typing-break-plugin.h" -#include "gsd-typing-break-manager.h" +#include "msd-typing-break-plugin.h" +#include "msd-typing-break-manager.h" -struct GsdTypingBreakPluginPrivate { - GsdTypingBreakManager *manager; +struct MsdTypingBreakPluginPrivate { + MsdTypingBreakManager *manager; }; -#define GSD_TYPING_BREAK_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), GSD_TYPE_TYPING_BREAK_PLUGIN, GsdTypingBreakPluginPrivate)) +#define MSD_TYPING_BREAK_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), MSD_TYPE_TYPING_BREAK_PLUGIN, MsdTypingBreakPluginPrivate)) -MATE_SETTINGS_PLUGIN_REGISTER (GsdTypingBreakPlugin, gsd_typing_break_plugin) +MATE_SETTINGS_PLUGIN_REGISTER (MsdTypingBreakPlugin, msd_typing_break_plugin) static void -gsd_typing_break_plugin_init (GsdTypingBreakPlugin *plugin) +msd_typing_break_plugin_init (MsdTypingBreakPlugin *plugin) { - plugin->priv = GSD_TYPING_BREAK_PLUGIN_GET_PRIVATE (plugin); + plugin->priv = MSD_TYPING_BREAK_PLUGIN_GET_PRIVATE (plugin); - g_debug ("GsdTypingBreakPlugin initializing"); + g_debug ("MsdTypingBreakPlugin initializing"); - plugin->priv->manager = gsd_typing_break_manager_new (); + plugin->priv->manager = msd_typing_break_manager_new (); } static void -gsd_typing_break_plugin_finalize (GObject *object) +msd_typing_break_plugin_finalize (GObject *object) { - GsdTypingBreakPlugin *plugin; + MsdTypingBreakPlugin *plugin; g_return_if_fail (object != NULL); - g_return_if_fail (GSD_IS_TYPING_BREAK_PLUGIN (object)); + g_return_if_fail (MSD_IS_TYPING_BREAK_PLUGIN (object)); - g_debug ("GsdTypingBreakPlugin finalizing"); + g_debug ("MsdTypingBreakPlugin finalizing"); - plugin = GSD_TYPING_BREAK_PLUGIN (object); + plugin = MSD_TYPING_BREAK_PLUGIN (object); g_return_if_fail (plugin->priv != NULL); @@ -63,7 +63,7 @@ gsd_typing_break_plugin_finalize (GObject *object) g_object_unref (plugin->priv->manager); } - G_OBJECT_CLASS (gsd_typing_break_plugin_parent_class)->finalize (object); + G_OBJECT_CLASS (msd_typing_break_plugin_parent_class)->finalize (object); } static void @@ -75,7 +75,7 @@ impl_activate (MateSettingsPlugin *plugin) g_debug ("Activating typing_break plugin"); error = NULL; - res = gsd_typing_break_manager_start (GSD_TYPING_BREAK_PLUGIN (plugin)->priv->manager, &error); + res = msd_typing_break_manager_start (MSD_TYPING_BREAK_PLUGIN (plugin)->priv->manager, &error); if (! res) { g_warning ("Unable to start typing_break manager: %s", error->message); g_error_free (error); @@ -86,19 +86,19 @@ static void impl_deactivate (MateSettingsPlugin *plugin) { g_debug ("Deactivating typing_break plugin"); - gsd_typing_break_manager_stop (GSD_TYPING_BREAK_PLUGIN (plugin)->priv->manager); + msd_typing_break_manager_stop (MSD_TYPING_BREAK_PLUGIN (plugin)->priv->manager); } static void -gsd_typing_break_plugin_class_init (GsdTypingBreakPluginClass *klass) +msd_typing_break_plugin_class_init (MsdTypingBreakPluginClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); MateSettingsPluginClass *plugin_class = MATE_SETTINGS_PLUGIN_CLASS (klass); - object_class->finalize = gsd_typing_break_plugin_finalize; + object_class->finalize = msd_typing_break_plugin_finalize; plugin_class->activate = impl_activate; plugin_class->deactivate = impl_deactivate; - g_type_class_add_private (klass, sizeof (GsdTypingBreakPluginPrivate)); + g_type_class_add_private (klass, sizeof (MsdTypingBreakPluginPrivate)); } diff --git a/plugins/typing-break/gsd-typing-break-plugin.h b/plugins/typing-break/gsd-typing-break-plugin.h index b7bbf16..54bde6e 100644 --- a/plugins/typing-break/gsd-typing-break-plugin.h +++ b/plugins/typing-break/gsd-typing-break-plugin.h @@ -18,8 +18,8 @@ * */ -#ifndef __GSD_TYPING_BREAK_PLUGIN_H__ -#define __GSD_TYPING_BREAK_PLUGIN_H__ +#ifndef __MSD_TYPING_BREAK_PLUGIN_H__ +#define __MSD_TYPING_BREAK_PLUGIN_H__ #include #include @@ -31,27 +31,27 @@ extern "C" { #endif -#define GSD_TYPE_TYPING_BREAK_PLUGIN (gsd_typing_break_plugin_get_type ()) -#define GSD_TYPING_BREAK_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_TYPING_BREAK_PLUGIN, GsdTypingBreakPlugin)) -#define GSD_TYPING_BREAK_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_TYPING_BREAK_PLUGIN, GsdTypingBreakPluginClass)) -#define GSD_IS_TYPING_BREAK_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_TYPING_BREAK_PLUGIN)) -#define GSD_IS_TYPING_BREAK_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSD_TYPE_TYPING_BREAK_PLUGIN)) -#define GSD_TYPING_BREAK_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSD_TYPE_TYPING_BREAK_PLUGIN, GsdTypingBreakPluginClass)) +#define MSD_TYPE_TYPING_BREAK_PLUGIN (msd_typing_break_plugin_get_type ()) +#define MSD_TYPING_BREAK_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MSD_TYPE_TYPING_BREAK_PLUGIN, MsdTypingBreakPlugin)) +#define MSD_TYPING_BREAK_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), MSD_TYPE_TYPING_BREAK_PLUGIN, MsdTypingBreakPluginClass)) +#define MSD_IS_TYPING_BREAK_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MSD_TYPE_TYPING_BREAK_PLUGIN)) +#define MSD_IS_TYPING_BREAK_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MSD_TYPE_TYPING_BREAK_PLUGIN)) +#define MSD_TYPING_BREAK_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MSD_TYPE_TYPING_BREAK_PLUGIN, MsdTypingBreakPluginClass)) -typedef struct GsdTypingBreakPluginPrivate GsdTypingBreakPluginPrivate; +typedef struct MsdTypingBreakPluginPrivate MsdTypingBreakPluginPrivate; typedef struct { MateSettingsPlugin parent; - GsdTypingBreakPluginPrivate *priv; -} GsdTypingBreakPlugin; + MsdTypingBreakPluginPrivate *priv; +} MsdTypingBreakPlugin; typedef struct { MateSettingsPluginClass parent_class; -} GsdTypingBreakPluginClass; +} MsdTypingBreakPluginClass; -GType gsd_typing_break_plugin_get_type (void) G_GNUC_CONST; +GType msd_typing_break_plugin_get_type (void) G_GNUC_CONST; /* All the plugins must implement this function */ G_MODULE_EXPORT GType register_mate_settings_plugin (GTypeModule *module); @@ -60,4 +60,4 @@ G_MODULE_EXPORT GType register_mate_settings_plugin (GTypeModule *module); } #endif -#endif /* __GSD_TYPING_BREAK_PLUGIN_H__ */ +#endif /* __MSD_TYPING_BREAK_PLUGIN_H__ */ -- cgit v1.2.1 From e46b4adef5c6c6805b3ca6dbfbe99a4299252514 Mon Sep 17 00:00:00 2001 From: haxar Date: Tue, 21 Feb 2012 20:14:01 -0800 Subject: gsd to msd complete rename patch by NiceandGently; file rename commit --- plugins/typing-break/gsd-typing-break-manager.c | 339 ------------------------ plugins/typing-break/gsd-typing-break-manager.h | 61 ----- plugins/typing-break/gsd-typing-break-plugin.c | 104 -------- plugins/typing-break/gsd-typing-break-plugin.h | 63 ----- plugins/typing-break/msd-typing-break-manager.c | 339 ++++++++++++++++++++++++ plugins/typing-break/msd-typing-break-manager.h | 61 +++++ plugins/typing-break/msd-typing-break-plugin.c | 104 ++++++++ plugins/typing-break/msd-typing-break-plugin.h | 63 +++++ 8 files changed, 567 insertions(+), 567 deletions(-) delete mode 100644 plugins/typing-break/gsd-typing-break-manager.c delete mode 100644 plugins/typing-break/gsd-typing-break-manager.h delete mode 100644 plugins/typing-break/gsd-typing-break-plugin.c delete mode 100644 plugins/typing-break/gsd-typing-break-plugin.h create mode 100644 plugins/typing-break/msd-typing-break-manager.c create mode 100644 plugins/typing-break/msd-typing-break-manager.h create mode 100644 plugins/typing-break/msd-typing-break-plugin.c create mode 100644 plugins/typing-break/msd-typing-break-plugin.h (limited to 'plugins/typing-break') diff --git a/plugins/typing-break/gsd-typing-break-manager.c b/plugins/typing-break/gsd-typing-break-manager.c deleted file mode 100644 index 113f6be..0000000 --- a/plugins/typing-break/gsd-typing-break-manager.c +++ /dev/null @@ -1,339 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- - * - * Copyright (C) 2007 William Jon McCann - * - * 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 of the License, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - */ - -#include "config.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include - -#include "mate-settings-profile.h" -#include "msd-typing-break-manager.h" - -#define MSD_TYPING_BREAK_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MSD_TYPE_TYPING_BREAK_MANAGER, MsdTypingBreakManagerPrivate)) - -#define MATECONF_BREAK_DIR "/desktop/mate/typing_break" - -struct MsdTypingBreakManagerPrivate -{ - GPid typing_monitor_pid; - guint typing_monitor_idle_id; - guint child_watch_id; - guint setup_id; - guint notify; -}; - -static void msd_typing_break_manager_class_init (MsdTypingBreakManagerClass *klass); -static void msd_typing_break_manager_init (MsdTypingBreakManager *typing_break_manager); -static void msd_typing_break_manager_finalize (GObject *object); - -G_DEFINE_TYPE (MsdTypingBreakManager, msd_typing_break_manager, G_TYPE_OBJECT) - -static gpointer manager_object = NULL; - -static gboolean -typing_break_timeout (MsdTypingBreakManager *manager) -{ - if (manager->priv->typing_monitor_pid > 0) { - kill (manager->priv->typing_monitor_pid, SIGKILL); - } - - manager->priv->typing_monitor_idle_id = 0; - - return FALSE; -} - -static void -child_watch (GPid pid, - int status, - MsdTypingBreakManager *manager) -{ - if (pid == manager->priv->typing_monitor_pid) { - manager->priv->typing_monitor_pid = 0; - g_spawn_close_pid (pid); - } -} - -static void -setup_typing_break (MsdTypingBreakManager *manager, - gboolean enabled) -{ - mate_settings_profile_start (NULL); - - if (! enabled) { - if (manager->priv->typing_monitor_pid != 0) { - manager->priv->typing_monitor_idle_id = g_timeout_add_seconds (3, (GSourceFunc) typing_break_timeout, manager); - } - return; - } - - if (manager->priv->typing_monitor_idle_id != 0) { - g_source_remove (manager->priv->typing_monitor_idle_id); - manager->priv->typing_monitor_idle_id = 0; - } - - if (manager->priv->typing_monitor_pid == 0) { - GError *error; - char *argv[] = { "mate-typing-monitor", "-n", NULL }; - gboolean res; - - error = NULL; - res = g_spawn_async ("/", - argv, - NULL, - G_SPAWN_STDOUT_TO_DEV_NULL - | G_SPAWN_STDERR_TO_DEV_NULL - | G_SPAWN_SEARCH_PATH - | G_SPAWN_DO_NOT_REAP_CHILD, - NULL, - NULL, - &manager->priv->typing_monitor_pid, - &error); - if (! res) { - /* FIXME: put up a warning */ - g_warning ("failed: %s\n", error->message); - g_error_free (error); - manager->priv->typing_monitor_pid = 0; - return; - } - - manager->priv->child_watch_id = g_child_watch_add (manager->priv->typing_monitor_pid, - (GChildWatchFunc)child_watch, - manager); - } - - mate_settings_profile_end (NULL); -} - -static void -typing_break_callback (MateConfClient *client, - guint cnxn_id, - MateConfEntry *entry, - MsdTypingBreakManager *manager) -{ - if (! strcmp (entry->key, "/desktop/mate/typing_break/enabled")) { - if (entry->value->type == MATECONF_VALUE_BOOL) { - setup_typing_break (manager, mateconf_value_get_bool (entry->value)); - } - } -} - -static gboolean -really_setup_typing_break (MsdTypingBreakManager *manager) -{ - setup_typing_break (manager, TRUE); - manager->priv->setup_id = 0; - return FALSE; -} - -gboolean -msd_typing_break_manager_start (MsdTypingBreakManager *manager, - GError **error) -{ - MateConfClient *client; - gboolean enabled; - - g_debug ("Starting typing_break manager"); - mate_settings_profile_start (NULL); - - client = mateconf_client_get_default (); - - mateconf_client_add_dir (client, MATECONF_BREAK_DIR, MATECONF_CLIENT_PRELOAD_ONELEVEL, NULL); - manager->priv->notify = - mateconf_client_notify_add (client, - MATECONF_BREAK_DIR, - (MateConfClientNotifyFunc) typing_break_callback, manager, - NULL, NULL); - - enabled = mateconf_client_get_bool (client, MATECONF_BREAK_DIR "/enabled", NULL); - g_object_unref (client); - if (enabled) { - manager->priv->setup_id = - g_timeout_add_seconds (3, - (GSourceFunc) really_setup_typing_break, - manager); - } - - mate_settings_profile_end (NULL); - - return TRUE; -} - -void -msd_typing_break_manager_stop (MsdTypingBreakManager *manager) -{ - MsdTypingBreakManagerPrivate *p = manager->priv; - - g_debug ("Stopping typing_break manager"); - - if (p->setup_id != 0) { - g_source_remove (p->setup_id); - p->setup_id = 0; - } - - if (p->child_watch_id != 0) { - g_source_remove (p->child_watch_id); - p->child_watch_id = 0; - } - - if (p->typing_monitor_idle_id != 0) { - g_source_remove (p->typing_monitor_idle_id); - p->typing_monitor_idle_id = 0; - } - - if (p->typing_monitor_pid > 0) { - kill (p->typing_monitor_pid, SIGKILL); - g_spawn_close_pid (p->typing_monitor_pid); - p->typing_monitor_pid = 0; - } - - if (p->notify != 0) { - MateConfClient *client = mateconf_client_get_default (); - mateconf_client_remove_dir (client, MATECONF_BREAK_DIR, NULL); - mateconf_client_notify_remove (client, p->notify); - g_object_unref (client); - p->notify = 0; - } -} - -static void -msd_typing_break_manager_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - MsdTypingBreakManager *self; - - self = MSD_TYPING_BREAK_MANAGER (object); - - switch (prop_id) { - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -msd_typing_break_manager_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - MsdTypingBreakManager *self; - - self = MSD_TYPING_BREAK_MANAGER (object); - - switch (prop_id) { - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static GObject * -msd_typing_break_manager_constructor (GType type, - guint n_construct_properties, - GObjectConstructParam *construct_properties) -{ - MsdTypingBreakManager *typing_break_manager; - MsdTypingBreakManagerClass *klass; - - klass = MSD_TYPING_BREAK_MANAGER_CLASS (g_type_class_peek (MSD_TYPE_TYPING_BREAK_MANAGER)); - - typing_break_manager = MSD_TYPING_BREAK_MANAGER (G_OBJECT_CLASS (msd_typing_break_manager_parent_class)->constructor (type, - n_construct_properties, - construct_properties)); - - return G_OBJECT (typing_break_manager); -} - -static void -msd_typing_break_manager_dispose (GObject *object) -{ - MsdTypingBreakManager *typing_break_manager; - - typing_break_manager = MSD_TYPING_BREAK_MANAGER (object); - - G_OBJECT_CLASS (msd_typing_break_manager_parent_class)->dispose (object); -} - -static void -msd_typing_break_manager_class_init (MsdTypingBreakManagerClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - object_class->get_property = msd_typing_break_manager_get_property; - object_class->set_property = msd_typing_break_manager_set_property; - object_class->constructor = msd_typing_break_manager_constructor; - object_class->dispose = msd_typing_break_manager_dispose; - object_class->finalize = msd_typing_break_manager_finalize; - - g_type_class_add_private (klass, sizeof (MsdTypingBreakManagerPrivate)); -} - -static void -msd_typing_break_manager_init (MsdTypingBreakManager *manager) -{ - manager->priv = MSD_TYPING_BREAK_MANAGER_GET_PRIVATE (manager); - -} - -static void -msd_typing_break_manager_finalize (GObject *object) -{ - MsdTypingBreakManager *typing_break_manager; - - g_return_if_fail (object != NULL); - g_return_if_fail (MSD_IS_TYPING_BREAK_MANAGER (object)); - - typing_break_manager = MSD_TYPING_BREAK_MANAGER (object); - - g_return_if_fail (typing_break_manager->priv != NULL); - - G_OBJECT_CLASS (msd_typing_break_manager_parent_class)->finalize (object); -} - -MsdTypingBreakManager * -msd_typing_break_manager_new (void) -{ - if (manager_object != NULL) { - g_object_ref (manager_object); - } else { - manager_object = g_object_new (MSD_TYPE_TYPING_BREAK_MANAGER, NULL); - g_object_add_weak_pointer (manager_object, - (gpointer *) &manager_object); - } - - return MSD_TYPING_BREAK_MANAGER (manager_object); -} diff --git a/plugins/typing-break/gsd-typing-break-manager.h b/plugins/typing-break/gsd-typing-break-manager.h deleted file mode 100644 index d490a0e..0000000 --- a/plugins/typing-break/gsd-typing-break-manager.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- - * - * Copyright (C) 2007 William Jon McCann - * - * 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 of the License, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - */ - -#ifndef __MSD_TYPING_BREAK_MANAGER_H -#define __MSD_TYPING_BREAK_MANAGER_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define MSD_TYPE_TYPING_BREAK_MANAGER (msd_typing_break_manager_get_type ()) -#define MSD_TYPING_BREAK_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MSD_TYPE_TYPING_BREAK_MANAGER, MsdTypingBreakManager)) -#define MSD_TYPING_BREAK_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), MSD_TYPE_TYPING_BREAK_MANAGER, MsdTypingBreakManagerClass)) -#define MSD_IS_TYPING_BREAK_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MSD_TYPE_TYPING_BREAK_MANAGER)) -#define MSD_IS_TYPING_BREAK_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MSD_TYPE_TYPING_BREAK_MANAGER)) -#define MSD_TYPING_BREAK_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MSD_TYPE_TYPING_BREAK_MANAGER, MsdTypingBreakManagerClass)) - -typedef struct MsdTypingBreakManagerPrivate MsdTypingBreakManagerPrivate; - -typedef struct -{ - GObject parent; - MsdTypingBreakManagerPrivate *priv; -} MsdTypingBreakManager; - -typedef struct -{ - GObjectClass parent_class; -} MsdTypingBreakManagerClass; - -GType msd_typing_break_manager_get_type (void); - -MsdTypingBreakManager * msd_typing_break_manager_new (void); -gboolean msd_typing_break_manager_start (MsdTypingBreakManager *manager, - GError **error); -void msd_typing_break_manager_stop (MsdTypingBreakManager *manager); - -#ifdef __cplusplus -} -#endif - -#endif /* __MSD_TYPING_BREAK_MANAGER_H */ diff --git a/plugins/typing-break/gsd-typing-break-plugin.c b/plugins/typing-break/gsd-typing-break-plugin.c deleted file mode 100644 index dcf3326..0000000 --- a/plugins/typing-break/gsd-typing-break-plugin.c +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- - * - * Copyright (C) 2007 William Jon McCann - * - * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - */ - -#include "config.h" - -#include -#include - -#include "mate-settings-plugin.h" -#include "msd-typing-break-plugin.h" -#include "msd-typing-break-manager.h" - -struct MsdTypingBreakPluginPrivate { - MsdTypingBreakManager *manager; -}; - -#define MSD_TYPING_BREAK_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), MSD_TYPE_TYPING_BREAK_PLUGIN, MsdTypingBreakPluginPrivate)) - -MATE_SETTINGS_PLUGIN_REGISTER (MsdTypingBreakPlugin, msd_typing_break_plugin) - -static void -msd_typing_break_plugin_init (MsdTypingBreakPlugin *plugin) -{ - plugin->priv = MSD_TYPING_BREAK_PLUGIN_GET_PRIVATE (plugin); - - g_debug ("MsdTypingBreakPlugin initializing"); - - plugin->priv->manager = msd_typing_break_manager_new (); -} - -static void -msd_typing_break_plugin_finalize (GObject *object) -{ - MsdTypingBreakPlugin *plugin; - - g_return_if_fail (object != NULL); - g_return_if_fail (MSD_IS_TYPING_BREAK_PLUGIN (object)); - - g_debug ("MsdTypingBreakPlugin finalizing"); - - plugin = MSD_TYPING_BREAK_PLUGIN (object); - - g_return_if_fail (plugin->priv != NULL); - - if (plugin->priv->manager != NULL) { - g_object_unref (plugin->priv->manager); - } - - G_OBJECT_CLASS (msd_typing_break_plugin_parent_class)->finalize (object); -} - -static void -impl_activate (MateSettingsPlugin *plugin) -{ - gboolean res; - GError *error; - - g_debug ("Activating typing_break plugin"); - - error = NULL; - res = msd_typing_break_manager_start (MSD_TYPING_BREAK_PLUGIN (plugin)->priv->manager, &error); - if (! res) { - g_warning ("Unable to start typing_break manager: %s", error->message); - g_error_free (error); - } -} - -static void -impl_deactivate (MateSettingsPlugin *plugin) -{ - g_debug ("Deactivating typing_break plugin"); - msd_typing_break_manager_stop (MSD_TYPING_BREAK_PLUGIN (plugin)->priv->manager); -} - -static void -msd_typing_break_plugin_class_init (MsdTypingBreakPluginClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - MateSettingsPluginClass *plugin_class = MATE_SETTINGS_PLUGIN_CLASS (klass); - - object_class->finalize = msd_typing_break_plugin_finalize; - - plugin_class->activate = impl_activate; - plugin_class->deactivate = impl_deactivate; - - g_type_class_add_private (klass, sizeof (MsdTypingBreakPluginPrivate)); -} diff --git a/plugins/typing-break/gsd-typing-break-plugin.h b/plugins/typing-break/gsd-typing-break-plugin.h deleted file mode 100644 index 54bde6e..0000000 --- a/plugins/typing-break/gsd-typing-break-plugin.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- - * - * Copyright (C) 2007 William Jon McCann - * - * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - */ - -#ifndef __MSD_TYPING_BREAK_PLUGIN_H__ -#define __MSD_TYPING_BREAK_PLUGIN_H__ - -#include -#include -#include - -#include "mate-settings-plugin.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define MSD_TYPE_TYPING_BREAK_PLUGIN (msd_typing_break_plugin_get_type ()) -#define MSD_TYPING_BREAK_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MSD_TYPE_TYPING_BREAK_PLUGIN, MsdTypingBreakPlugin)) -#define MSD_TYPING_BREAK_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), MSD_TYPE_TYPING_BREAK_PLUGIN, MsdTypingBreakPluginClass)) -#define MSD_IS_TYPING_BREAK_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MSD_TYPE_TYPING_BREAK_PLUGIN)) -#define MSD_IS_TYPING_BREAK_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MSD_TYPE_TYPING_BREAK_PLUGIN)) -#define MSD_TYPING_BREAK_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MSD_TYPE_TYPING_BREAK_PLUGIN, MsdTypingBreakPluginClass)) - -typedef struct MsdTypingBreakPluginPrivate MsdTypingBreakPluginPrivate; - -typedef struct -{ - MateSettingsPlugin parent; - MsdTypingBreakPluginPrivate *priv; -} MsdTypingBreakPlugin; - -typedef struct -{ - MateSettingsPluginClass parent_class; -} MsdTypingBreakPluginClass; - -GType msd_typing_break_plugin_get_type (void) G_GNUC_CONST; - -/* All the plugins must implement this function */ -G_MODULE_EXPORT GType register_mate_settings_plugin (GTypeModule *module); - -#ifdef __cplusplus -} -#endif - -#endif /* __MSD_TYPING_BREAK_PLUGIN_H__ */ diff --git a/plugins/typing-break/msd-typing-break-manager.c b/plugins/typing-break/msd-typing-break-manager.c new file mode 100644 index 0000000..113f6be --- /dev/null +++ b/plugins/typing-break/msd-typing-break-manager.c @@ -0,0 +1,339 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * + * Copyright (C) 2007 William Jon McCann + * + * 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 of the License, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +#include "config.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include "mate-settings-profile.h" +#include "msd-typing-break-manager.h" + +#define MSD_TYPING_BREAK_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MSD_TYPE_TYPING_BREAK_MANAGER, MsdTypingBreakManagerPrivate)) + +#define MATECONF_BREAK_DIR "/desktop/mate/typing_break" + +struct MsdTypingBreakManagerPrivate +{ + GPid typing_monitor_pid; + guint typing_monitor_idle_id; + guint child_watch_id; + guint setup_id; + guint notify; +}; + +static void msd_typing_break_manager_class_init (MsdTypingBreakManagerClass *klass); +static void msd_typing_break_manager_init (MsdTypingBreakManager *typing_break_manager); +static void msd_typing_break_manager_finalize (GObject *object); + +G_DEFINE_TYPE (MsdTypingBreakManager, msd_typing_break_manager, G_TYPE_OBJECT) + +static gpointer manager_object = NULL; + +static gboolean +typing_break_timeout (MsdTypingBreakManager *manager) +{ + if (manager->priv->typing_monitor_pid > 0) { + kill (manager->priv->typing_monitor_pid, SIGKILL); + } + + manager->priv->typing_monitor_idle_id = 0; + + return FALSE; +} + +static void +child_watch (GPid pid, + int status, + MsdTypingBreakManager *manager) +{ + if (pid == manager->priv->typing_monitor_pid) { + manager->priv->typing_monitor_pid = 0; + g_spawn_close_pid (pid); + } +} + +static void +setup_typing_break (MsdTypingBreakManager *manager, + gboolean enabled) +{ + mate_settings_profile_start (NULL); + + if (! enabled) { + if (manager->priv->typing_monitor_pid != 0) { + manager->priv->typing_monitor_idle_id = g_timeout_add_seconds (3, (GSourceFunc) typing_break_timeout, manager); + } + return; + } + + if (manager->priv->typing_monitor_idle_id != 0) { + g_source_remove (manager->priv->typing_monitor_idle_id); + manager->priv->typing_monitor_idle_id = 0; + } + + if (manager->priv->typing_monitor_pid == 0) { + GError *error; + char *argv[] = { "mate-typing-monitor", "-n", NULL }; + gboolean res; + + error = NULL; + res = g_spawn_async ("/", + argv, + NULL, + G_SPAWN_STDOUT_TO_DEV_NULL + | G_SPAWN_STDERR_TO_DEV_NULL + | G_SPAWN_SEARCH_PATH + | G_SPAWN_DO_NOT_REAP_CHILD, + NULL, + NULL, + &manager->priv->typing_monitor_pid, + &error); + if (! res) { + /* FIXME: put up a warning */ + g_warning ("failed: %s\n", error->message); + g_error_free (error); + manager->priv->typing_monitor_pid = 0; + return; + } + + manager->priv->child_watch_id = g_child_watch_add (manager->priv->typing_monitor_pid, + (GChildWatchFunc)child_watch, + manager); + } + + mate_settings_profile_end (NULL); +} + +static void +typing_break_callback (MateConfClient *client, + guint cnxn_id, + MateConfEntry *entry, + MsdTypingBreakManager *manager) +{ + if (! strcmp (entry->key, "/desktop/mate/typing_break/enabled")) { + if (entry->value->type == MATECONF_VALUE_BOOL) { + setup_typing_break (manager, mateconf_value_get_bool (entry->value)); + } + } +} + +static gboolean +really_setup_typing_break (MsdTypingBreakManager *manager) +{ + setup_typing_break (manager, TRUE); + manager->priv->setup_id = 0; + return FALSE; +} + +gboolean +msd_typing_break_manager_start (MsdTypingBreakManager *manager, + GError **error) +{ + MateConfClient *client; + gboolean enabled; + + g_debug ("Starting typing_break manager"); + mate_settings_profile_start (NULL); + + client = mateconf_client_get_default (); + + mateconf_client_add_dir (client, MATECONF_BREAK_DIR, MATECONF_CLIENT_PRELOAD_ONELEVEL, NULL); + manager->priv->notify = + mateconf_client_notify_add (client, + MATECONF_BREAK_DIR, + (MateConfClientNotifyFunc) typing_break_callback, manager, + NULL, NULL); + + enabled = mateconf_client_get_bool (client, MATECONF_BREAK_DIR "/enabled", NULL); + g_object_unref (client); + if (enabled) { + manager->priv->setup_id = + g_timeout_add_seconds (3, + (GSourceFunc) really_setup_typing_break, + manager); + } + + mate_settings_profile_end (NULL); + + return TRUE; +} + +void +msd_typing_break_manager_stop (MsdTypingBreakManager *manager) +{ + MsdTypingBreakManagerPrivate *p = manager->priv; + + g_debug ("Stopping typing_break manager"); + + if (p->setup_id != 0) { + g_source_remove (p->setup_id); + p->setup_id = 0; + } + + if (p->child_watch_id != 0) { + g_source_remove (p->child_watch_id); + p->child_watch_id = 0; + } + + if (p->typing_monitor_idle_id != 0) { + g_source_remove (p->typing_monitor_idle_id); + p->typing_monitor_idle_id = 0; + } + + if (p->typing_monitor_pid > 0) { + kill (p->typing_monitor_pid, SIGKILL); + g_spawn_close_pid (p->typing_monitor_pid); + p->typing_monitor_pid = 0; + } + + if (p->notify != 0) { + MateConfClient *client = mateconf_client_get_default (); + mateconf_client_remove_dir (client, MATECONF_BREAK_DIR, NULL); + mateconf_client_notify_remove (client, p->notify); + g_object_unref (client); + p->notify = 0; + } +} + +static void +msd_typing_break_manager_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + MsdTypingBreakManager *self; + + self = MSD_TYPING_BREAK_MANAGER (object); + + switch (prop_id) { + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +msd_typing_break_manager_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + MsdTypingBreakManager *self; + + self = MSD_TYPING_BREAK_MANAGER (object); + + switch (prop_id) { + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static GObject * +msd_typing_break_manager_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties) +{ + MsdTypingBreakManager *typing_break_manager; + MsdTypingBreakManagerClass *klass; + + klass = MSD_TYPING_BREAK_MANAGER_CLASS (g_type_class_peek (MSD_TYPE_TYPING_BREAK_MANAGER)); + + typing_break_manager = MSD_TYPING_BREAK_MANAGER (G_OBJECT_CLASS (msd_typing_break_manager_parent_class)->constructor (type, + n_construct_properties, + construct_properties)); + + return G_OBJECT (typing_break_manager); +} + +static void +msd_typing_break_manager_dispose (GObject *object) +{ + MsdTypingBreakManager *typing_break_manager; + + typing_break_manager = MSD_TYPING_BREAK_MANAGER (object); + + G_OBJECT_CLASS (msd_typing_break_manager_parent_class)->dispose (object); +} + +static void +msd_typing_break_manager_class_init (MsdTypingBreakManagerClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->get_property = msd_typing_break_manager_get_property; + object_class->set_property = msd_typing_break_manager_set_property; + object_class->constructor = msd_typing_break_manager_constructor; + object_class->dispose = msd_typing_break_manager_dispose; + object_class->finalize = msd_typing_break_manager_finalize; + + g_type_class_add_private (klass, sizeof (MsdTypingBreakManagerPrivate)); +} + +static void +msd_typing_break_manager_init (MsdTypingBreakManager *manager) +{ + manager->priv = MSD_TYPING_BREAK_MANAGER_GET_PRIVATE (manager); + +} + +static void +msd_typing_break_manager_finalize (GObject *object) +{ + MsdTypingBreakManager *typing_break_manager; + + g_return_if_fail (object != NULL); + g_return_if_fail (MSD_IS_TYPING_BREAK_MANAGER (object)); + + typing_break_manager = MSD_TYPING_BREAK_MANAGER (object); + + g_return_if_fail (typing_break_manager->priv != NULL); + + G_OBJECT_CLASS (msd_typing_break_manager_parent_class)->finalize (object); +} + +MsdTypingBreakManager * +msd_typing_break_manager_new (void) +{ + if (manager_object != NULL) { + g_object_ref (manager_object); + } else { + manager_object = g_object_new (MSD_TYPE_TYPING_BREAK_MANAGER, NULL); + g_object_add_weak_pointer (manager_object, + (gpointer *) &manager_object); + } + + return MSD_TYPING_BREAK_MANAGER (manager_object); +} diff --git a/plugins/typing-break/msd-typing-break-manager.h b/plugins/typing-break/msd-typing-break-manager.h new file mode 100644 index 0000000..d490a0e --- /dev/null +++ b/plugins/typing-break/msd-typing-break-manager.h @@ -0,0 +1,61 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * + * Copyright (C) 2007 William Jon McCann + * + * 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 of the License, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +#ifndef __MSD_TYPING_BREAK_MANAGER_H +#define __MSD_TYPING_BREAK_MANAGER_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define MSD_TYPE_TYPING_BREAK_MANAGER (msd_typing_break_manager_get_type ()) +#define MSD_TYPING_BREAK_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MSD_TYPE_TYPING_BREAK_MANAGER, MsdTypingBreakManager)) +#define MSD_TYPING_BREAK_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), MSD_TYPE_TYPING_BREAK_MANAGER, MsdTypingBreakManagerClass)) +#define MSD_IS_TYPING_BREAK_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MSD_TYPE_TYPING_BREAK_MANAGER)) +#define MSD_IS_TYPING_BREAK_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MSD_TYPE_TYPING_BREAK_MANAGER)) +#define MSD_TYPING_BREAK_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MSD_TYPE_TYPING_BREAK_MANAGER, MsdTypingBreakManagerClass)) + +typedef struct MsdTypingBreakManagerPrivate MsdTypingBreakManagerPrivate; + +typedef struct +{ + GObject parent; + MsdTypingBreakManagerPrivate *priv; +} MsdTypingBreakManager; + +typedef struct +{ + GObjectClass parent_class; +} MsdTypingBreakManagerClass; + +GType msd_typing_break_manager_get_type (void); + +MsdTypingBreakManager * msd_typing_break_manager_new (void); +gboolean msd_typing_break_manager_start (MsdTypingBreakManager *manager, + GError **error); +void msd_typing_break_manager_stop (MsdTypingBreakManager *manager); + +#ifdef __cplusplus +} +#endif + +#endif /* __MSD_TYPING_BREAK_MANAGER_H */ diff --git a/plugins/typing-break/msd-typing-break-plugin.c b/plugins/typing-break/msd-typing-break-plugin.c new file mode 100644 index 0000000..dcf3326 --- /dev/null +++ b/plugins/typing-break/msd-typing-break-plugin.c @@ -0,0 +1,104 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * + * Copyright (C) 2007 William Jon McCann + * + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +#include "config.h" + +#include +#include + +#include "mate-settings-plugin.h" +#include "msd-typing-break-plugin.h" +#include "msd-typing-break-manager.h" + +struct MsdTypingBreakPluginPrivate { + MsdTypingBreakManager *manager; +}; + +#define MSD_TYPING_BREAK_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), MSD_TYPE_TYPING_BREAK_PLUGIN, MsdTypingBreakPluginPrivate)) + +MATE_SETTINGS_PLUGIN_REGISTER (MsdTypingBreakPlugin, msd_typing_break_plugin) + +static void +msd_typing_break_plugin_init (MsdTypingBreakPlugin *plugin) +{ + plugin->priv = MSD_TYPING_BREAK_PLUGIN_GET_PRIVATE (plugin); + + g_debug ("MsdTypingBreakPlugin initializing"); + + plugin->priv->manager = msd_typing_break_manager_new (); +} + +static void +msd_typing_break_plugin_finalize (GObject *object) +{ + MsdTypingBreakPlugin *plugin; + + g_return_if_fail (object != NULL); + g_return_if_fail (MSD_IS_TYPING_BREAK_PLUGIN (object)); + + g_debug ("MsdTypingBreakPlugin finalizing"); + + plugin = MSD_TYPING_BREAK_PLUGIN (object); + + g_return_if_fail (plugin->priv != NULL); + + if (plugin->priv->manager != NULL) { + g_object_unref (plugin->priv->manager); + } + + G_OBJECT_CLASS (msd_typing_break_plugin_parent_class)->finalize (object); +} + +static void +impl_activate (MateSettingsPlugin *plugin) +{ + gboolean res; + GError *error; + + g_debug ("Activating typing_break plugin"); + + error = NULL; + res = msd_typing_break_manager_start (MSD_TYPING_BREAK_PLUGIN (plugin)->priv->manager, &error); + if (! res) { + g_warning ("Unable to start typing_break manager: %s", error->message); + g_error_free (error); + } +} + +static void +impl_deactivate (MateSettingsPlugin *plugin) +{ + g_debug ("Deactivating typing_break plugin"); + msd_typing_break_manager_stop (MSD_TYPING_BREAK_PLUGIN (plugin)->priv->manager); +} + +static void +msd_typing_break_plugin_class_init (MsdTypingBreakPluginClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + MateSettingsPluginClass *plugin_class = MATE_SETTINGS_PLUGIN_CLASS (klass); + + object_class->finalize = msd_typing_break_plugin_finalize; + + plugin_class->activate = impl_activate; + plugin_class->deactivate = impl_deactivate; + + g_type_class_add_private (klass, sizeof (MsdTypingBreakPluginPrivate)); +} diff --git a/plugins/typing-break/msd-typing-break-plugin.h b/plugins/typing-break/msd-typing-break-plugin.h new file mode 100644 index 0000000..54bde6e --- /dev/null +++ b/plugins/typing-break/msd-typing-break-plugin.h @@ -0,0 +1,63 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * + * Copyright (C) 2007 William Jon McCann + * + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +#ifndef __MSD_TYPING_BREAK_PLUGIN_H__ +#define __MSD_TYPING_BREAK_PLUGIN_H__ + +#include +#include +#include + +#include "mate-settings-plugin.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MSD_TYPE_TYPING_BREAK_PLUGIN (msd_typing_break_plugin_get_type ()) +#define MSD_TYPING_BREAK_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MSD_TYPE_TYPING_BREAK_PLUGIN, MsdTypingBreakPlugin)) +#define MSD_TYPING_BREAK_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), MSD_TYPE_TYPING_BREAK_PLUGIN, MsdTypingBreakPluginClass)) +#define MSD_IS_TYPING_BREAK_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MSD_TYPE_TYPING_BREAK_PLUGIN)) +#define MSD_IS_TYPING_BREAK_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MSD_TYPE_TYPING_BREAK_PLUGIN)) +#define MSD_TYPING_BREAK_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MSD_TYPE_TYPING_BREAK_PLUGIN, MsdTypingBreakPluginClass)) + +typedef struct MsdTypingBreakPluginPrivate MsdTypingBreakPluginPrivate; + +typedef struct +{ + MateSettingsPlugin parent; + MsdTypingBreakPluginPrivate *priv; +} MsdTypingBreakPlugin; + +typedef struct +{ + MateSettingsPluginClass parent_class; +} MsdTypingBreakPluginClass; + +GType msd_typing_break_plugin_get_type (void) G_GNUC_CONST; + +/* All the plugins must implement this function */ +G_MODULE_EXPORT GType register_mate_settings_plugin (GTypeModule *module); + +#ifdef __cplusplus +} +#endif + +#endif /* __MSD_TYPING_BREAK_PLUGIN_H__ */ -- cgit v1.2.1