diff -up workrave-1.8.5/frontend/gtkmm/src/Menus.hh.sigc workrave-1.8.5/frontend/gtkmm/src/Menus.hh
--- workrave-1.8.5/frontend/gtkmm/src/Menus.hh.sigc	2007-09-14 20:50:25.000000000 +0200
+++ workrave-1.8.5/frontend/gtkmm/src/Menus.hh	2008-04-04 14:36:41.000000000 +0200
@@ -21,9 +21,7 @@
 
 #include "config.h"
 
-#ifdef HAVE_GTKMM24
-#include <sigc++/compatibility.h>
-#endif
+#include <sigc++/trackable.h>
 
 #ifdef HAVE_GNOME
 #include <gnome.h>
@@ -45,7 +43,7 @@ class TimerBoxAppletView;
 #include <gtkmm/checkmenuitem.h>
 
 class Menus :
-  public SigC::Object
+  public sigc::trackable
 {
 public:
   Menus();
diff -up workrave-1.8.5/frontend/gtkmm/src/TimeEntry.hh.sigc workrave-1.8.5/frontend/gtkmm/src/TimeEntry.hh
--- workrave-1.8.5/frontend/gtkmm/src/TimeEntry.hh.sigc	2007-09-14 20:50:25.000000000 +0200
+++ workrave-1.8.5/frontend/gtkmm/src/TimeEntry.hh	2008-04-04 14:37:40.000000000 +0200
@@ -38,7 +38,7 @@ public:
   time_t get_value();
   void set_value(time_t time);
 
-  typedef SigC::Signal0<void> signal_value_changed_t;
+  typedef sigc::signal0<void> signal_value_changed_t;
   signal_value_changed_t &signal_value_changed();
 
 protected:
diff -up workrave-1.8.5/frontend/gtkmm/src/X11SystrayAppletWindow.hh.sigc workrave-1.8.5/frontend/gtkmm/src/X11SystrayAppletWindow.hh
--- workrave-1.8.5/frontend/gtkmm/src/X11SystrayAppletWindow.hh.sigc	2007-09-14 20:50:25.000000000 +0200
+++ workrave-1.8.5/frontend/gtkmm/src/X11SystrayAppletWindow.hh	2008-04-04 14:30:44.000000000 +0200
@@ -24,9 +24,7 @@
 
 #include "AppletWindow.hh"
 
-#ifdef HAVE_GTKMM24
-#include <sigc++/compatibility.h>
-#endif
+#include <sigc++/trackable.h>
 
 #include <gtkmm/bin.h>
 #include <gtkmm/menu.h>
@@ -40,7 +38,7 @@ class AppletControl;
 #include "eggtrayicon.h"
 
 class X11SystrayAppletWindow :
-  public SigC::Object,
+  public sigc::trackable,
   public AppletWindow
 {
 public:
diff -up workrave-1.8.5/frontend/gtkmm/src/Dispatcher.cc.sigc workrave-1.8.5/frontend/gtkmm/src/Dispatcher.cc
--- workrave-1.8.5/frontend/gtkmm/src/Dispatcher.cc.sigc	2007-09-14 20:50:25.000000000 +0200
+++ workrave-1.8.5/frontend/gtkmm/src/Dispatcher.cc	2008-04-04 14:54:53.000000000 +0200
@@ -24,9 +24,7 @@ static const char rcsid[] = "$Id: Dispat
 
 #include "preinclude.h"
 
-#ifdef HAVE_GTKMM24
-#include <sigc++/compatibility.h>
-#endif
+#include <sigc++/trackable.h>
 
 #include "Dispatcher.hh"
 
@@ -100,7 +98,7 @@ Dispatcher::create_thread_pipe()
   if (event_handle)
     {
       queue =  g_async_queue_new();
-      io_connection = Glib::signal_io().connect(SigC::slot_class(*this, &Dispatcher::io_handler),
+      io_connection = Glib::signal_io().connect(sigc::mem_fun(*this, &Dispatcher::io_handler),
                                                 (int)event_handle,
                                                 Glib::IO_IN);
 
@@ -171,7 +169,7 @@ Dispatcher::create_thread_pipe()
     fd_set_close_on_exec(receive_fd);
     fd_set_close_on_exec(send_fd);
 
-    io_connection = Glib::signal_io().connect(SigC::slot_class(*this, &Dispatcher::io_handler),
+    io_connection = Glib::signal_io().connect(sigc::mem_fun(*this, &Dispatcher::io_handler),
                                               (int)receive_fd,
                                               Glib::IO_IN);
 
@@ -242,8 +240,8 @@ Dispatcher::io_handler(Glib::IOCondition
 #endif
 
 
-SigC::Connection
-Dispatcher::connect(const SigC::Slot0<void>& slot)
+sigc::connection
+Dispatcher::connect(const sigc::slot0<void>& slot)
 {
   return signal.connect(slot);
 }
diff -up workrave-1.8.5/frontend/gtkmm/src/Dispatcher.hh.sigc workrave-1.8.5/frontend/gtkmm/src/Dispatcher.hh
--- workrave-1.8.5/frontend/gtkmm/src/Dispatcher.hh.sigc	2007-09-14 20:50:25.000000000 +0200
+++ workrave-1.8.5/frontend/gtkmm/src/Dispatcher.hh	2008-04-04 14:53:11.000000000 +0200
@@ -19,9 +19,7 @@
 #ifndef DISPATCHER_HH
 #define DISPATCHER_HH
 
-#ifdef HAVE_GTKMM24
-#include <sigc++/compatibility.h>
-#endif
+#include <sigc++/trackable.h>
 
 #include <sigc++/object.h>
 #include <sigc++/slot.h>
@@ -52,15 +50,15 @@ private:
 #endif
 
   //! I/O Connection
-  SigC::Connection io_connection;
+  sigc::connection io_connection;
 
   //!
-  SigC::Signal0<void> signal;
+  sigc::signal0<void> signal;
 
 public:
   Dispatcher();
   ~Dispatcher();
-  SigC::Connection connect(const SigC::Slot0<void>& slot);
+  sigc::connection connect(const sigc::slot0<void>& slot);
   void send_notification();
 
 private:
diff -up workrave-1.8.5/frontend/gtkmm/src/GUI.hh.sigc workrave-1.8.5/frontend/gtkmm/src/GUI.hh
--- workrave-1.8.5/frontend/gtkmm/src/GUI.hh.sigc	2007-09-14 20:50:25.000000000 +0200
+++ workrave-1.8.5/frontend/gtkmm/src/GUI.hh	2008-04-04 14:34:39.000000000 +0200
@@ -21,7 +21,7 @@
 
 #include "preinclude.h"
 
-#include <sigc++/object.h>
+#include <sigc++/trackable.h>
 #include <glibmm.h>
 
 #include <gdk/gdkevents.h>
@@ -65,7 +65,7 @@ class IConfigurator;
 class GUI :
   public IApp,
   public CoreEventListener,
-  public SigC::Object
+  public sigc::trackable 
 {
 public:
   GUI(int argc, char **argv);
@@ -104,7 +104,7 @@ public:
   void set_block_mode(BlockMode mode);
 
   // Misc
-  SigC::Signal0<void> &signal_heartbeat();
+  sigc::signal0<void> &signal_heartbeat();
   HeadInfo &get_head(int head);
   int get_number_of_heads() const;
   int map_to_head(int &x, int &y);
@@ -214,7 +214,7 @@ private:
   Gtk::Tooltips *tooltips;
 
   //! Heartbeat signal
-  SigC::Signal0<void> heartbeat_signal;
+  sigc::signal0<void> heartbeat_signal;
 
   //! Destroy break window on next heartbeat?
   bool break_window_destroy;
@@ -243,7 +243,7 @@ private:
   bool grab_wanted;
 
   //! Connection to the grab retry timeout timer.
-  SigC::Connection grab_retry_connection;
+  sigc::connection grab_retry_connection;
 #endif
 
   //! Grab
@@ -295,7 +295,7 @@ GUI::get_sound_player() const
 }
 
 //! Returns the GUI Heartbeat signal.
-inline SigC::Signal0<void> &
+inline sigc::signal0<void> &
 GUI::signal_heartbeat()
 {
   return heartbeat_signal;
diff -up workrave-1.8.5/frontend/gtkmm/src/Frame.hh.sigc workrave-1.8.5/frontend/gtkmm/src/Frame.hh
--- workrave-1.8.5/frontend/gtkmm/src/Frame.hh.sigc	2007-09-14 20:50:25.000000000 +0200
+++ workrave-1.8.5/frontend/gtkmm/src/Frame.hh	2008-04-04 14:35:39.000000000 +0200
@@ -37,7 +37,7 @@ public:
   void set_frame_color(const Gdk::Color &color);
   void set_frame_flashing(int delay);
   void set_frame_visible(bool visible);
-  SigC::Signal1<void,bool> &signal_flash();
+  sigc::signal1<void,bool> &signal_flash();
 
 protected:
   bool on_timer();
@@ -78,9 +78,9 @@ private:
   int flash_delay;
 
   //! Flash timeout signal
-  SigC::Connection flash_signal;
+  sigc::connection flash_signal;
 
   //! Flash signal source
-  SigC::Signal1<void,bool> flash_signal_src;
+  sigc::signal1<void,bool> flash_signal_src;
 };
 
diff -up workrave-1.8.5/frontend/gtkmm/src/Frame.cc.sigc workrave-1.8.5/frontend/gtkmm/src/Frame.cc
--- workrave-1.8.5/frontend/gtkmm/src/Frame.cc.sigc	2007-09-14 20:50:25.000000000 +0200
+++ workrave-1.8.5/frontend/gtkmm/src/Frame.cc	2008-04-04 14:45:58.000000000 +0200
@@ -258,7 +258,7 @@ Frame::on_expose_event(GdkEventExpose* e
   return rc;
 }
 
-SigC::Signal1<void,bool> &
+sigc::signal1<void,bool> &
 Frame::signal_flash()
 {
   return flash_signal_src;
diff -up workrave-1.8.5/frontend/gtkmm/src/GnomeAppletWindow.hh.sigc workrave-1.8.5/frontend/gtkmm/src/GnomeAppletWindow.hh
--- workrave-1.8.5/frontend/gtkmm/src/GnomeAppletWindow.hh.sigc	2007-09-14 20:50:25.000000000 +0200
+++ workrave-1.8.5/frontend/gtkmm/src/GnomeAppletWindow.hh	2008-04-04 14:20:25.000000000 +0200
@@ -24,9 +24,7 @@
 
 #include "AppletWindow.hh"
 
-#ifdef HAVE_GTKMM24
-#include <sigc++/compatibility.h>
-#endif
+#include <sigc++/trackable.h>
 
 #include <gnome.h>
 #include <bonobo.h>
@@ -45,7 +43,7 @@ class TimerBoxGtkView;
 class AppletControl;
 
 class GnomeAppletWindow :
-  public SigC::Object,
+  public sigc::trackable,
   public AppletWindow
 {
 public:
diff -up workrave-1.8.5/frontend/gtkmm/src/preinclude.h.sigc workrave-1.8.5/frontend/gtkmm/src/preinclude.h
--- workrave-1.8.5/frontend/gtkmm/src/preinclude.h.sigc	2007-09-14 20:50:25.000000000 +0200
+++ workrave-1.8.5/frontend/gtkmm/src/preinclude.h	2008-04-04 14:50:27.000000000 +0200
@@ -25,12 +25,7 @@
 #define NOMINMAX
 #endif
 
-#ifdef HAVE_GTKMM24
 #define MEMBER_SLOT sigc::mem_fun
-#else
-#define MEMBER_SLOT SigC::slot
-#endif
-
 
 #undef THREAD_PRIORITY_NORMAL
 #undef THREAD_PRIORITY_LOW
diff -up workrave-1.8.5/frontend/plugin/exercises/gtkmm/src/ExercisesPanel.hh.sigc workrave-1.8.5/frontend/plugin/exercises/gtkmm/src/ExercisesPanel.hh
--- workrave-1.8.5/frontend/plugin/exercises/gtkmm/src/ExercisesPanel.hh.sigc	2007-09-14 20:50:32.000000000 +0200
+++ workrave-1.8.5/frontend/plugin/exercises/gtkmm/src/ExercisesPanel.hh	2008-04-04 14:43:52.000000000 +0200
@@ -46,7 +46,7 @@ public:
   ~ExercisesPanel();
 
   void set_exercise_count(int num);
-  SigC::Signal0<void> &signal_stop() { return stop_signal; }
+  sigc::signal0<void> &signal_stop() { return stop_signal; }
 
 protected:
   void on_realize();
@@ -88,12 +88,12 @@ private:
   const std::list<Exercise> exercises;
   std::list<Exercise>::const_iterator exercise_iterator;
   std::list<Exercise::Image>::const_iterator image_iterator;
-  SigC::Connection heartbeat_signal;
+  sigc::connection heartbeat_signal;
   int exercise_time;
   int seq_time;
   bool paused;
   bool stopped;
-  SigC::Signal0<void> stop_signal;
+  sigc::signal0<void> stop_signal;
   bool standalone;
   int exercise_num;
   int exercise_count;
