Changeset 826d0d375e42d8e4018950dd84b37689b3f666fa for awayonlock.c
- Timestamp:
- 02/09/09 20:46:06 (3 years ago)
- Children:
- 56547456e406341caca65cfab1abe64869a0ffa0
- Parents:
- 6b1d64afe2adb48823dd4dd68d1d563a80537874
- git-author:
- Leo Antunes <leo@…> (02/09/09 20:32:08)
- git-committer:
- Leo 'costela' Antunes <leo@…> (02/09/09 20:46:06)
- Files:
-
- 1 modified
-
awayonlock.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
awayonlock.c
r6b1d64a r826d0d3 24 24 #define AWAYONLOCK_PLUGIN_ID "core-costela-awayonlock" 25 25 26 #include <stdio.h>27 #include <stdlib.h>28 29 26 #include <dbus/dbus-glib.h> 30 27 … … 34 31 #include <version.h> 35 32 #include <notify.h> 36 #include <savedstatuses.h>37 33 38 34 #include "i18n.h" 35 #include "callback.h" 39 36 40 37 static DBusGConnection *dbus_conn = NULL; 41 42 static PurpleSavedStatus *status_saved = NULL;43 44 static void awayonlock_idle_changed_callback(DBusGProxy *proxy, gboolean screensaver_status, gpointer data) {45 purple_debug(PURPLE_DEBUG_INFO, PACKAGE, N_("got message from screensaver: active=%u\n"), screensaver_status);46 47 PurpleSavedStatus *status_idle = purple_savedstatus_get_idleaway();48 49 PurpleSavedStatus *status_current = purple_savedstatus_get_current();50 PurpleStatusPrimitive status_type = purple_savedstatus_get_type(status_current);51 52 if(screensaver_status && (status_type != PURPLE_STATUS_OFFLINE && status_type != PURPLE_STATUS_INVISIBLE) && ! purple_savedstatus_is_idleaway()) {53 status_saved = status_current;54 purple_debug(PURPLE_DEBUG_INFO, PACKAGE, N_("setting status as away and storing '%s'\n"), purple_savedstatus_get_title(status_saved));55 purple_savedstatus_activate(status_idle);56 }57 else if (!screensaver_status && status_saved != NULL && status_saved != status_idle) {58 purple_debug(PURPLE_DEBUG_INFO, PACKAGE, N_("restoring status '%s'\n"), purple_savedstatus_get_title(status_saved));59 purple_savedstatus_activate(status_saved);60 status_saved = NULL;61 }62 }63 38 64 39 static gboolean plugin_load(PurplePlugin *plugin) { … … 71 46 72 47 dbus_conn = dbus_g_bus_get(DBUS_BUS_SESSION, &error); 73 //dbus_conn = dbus_connection_get_g_connection(purple_dbus_get_connection());74 48 75 49 if(dbus_conn == NULL) { … … 114 88 } 115 89 116 static void init_plugin(PurplePlugin *plugin)117 {118 }119 120 90 static PurplePluginInfo info = { 121 91 PURPLE_PLUGIN_MAGIC, … … 129 99 130 100 AWAYONLOCK_PLUGIN_ID, 131 N_("Away-on-lock"),101 0, 132 102 AWAYONLOCK_VERSION, 133 103 134 N_("Sets you as away when your screensaver is activated"),135 N_("This plugin sets your status as your default away status whenever your screensaver get activated."),136 N_("Leo Antunes <leo@costela.net>"),104 0, 105 0, 106 0, 137 107 N_("http://costela.net/projects/away-on-lock"), 138 108 … … 151 121 }; 152 122 123 static void init_plugin(PurplePlugin *plugin) 124 { 125 bindtextdomain(PACKAGE, LOCALEDIR); 126 127 info.name = _("Away-on-lock"); 128 info.summary = _("Sets you as away when your screensaver is activated"); 129 info.description = _("This plugin sets your status to the default away status whenever your screensaver gets activated."); 130 info.author = _("Leo Antunes <leo@costela.net>"); 131 } 132 153 133 PURPLE_INIT_PLUGIN(awayonlock, init_plugin, info); 154 134